X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSlicer.cxx;fp=vv%2FvvSlicer.cxx;h=30a8f1034931e169815e884c2ada69129a72ae4c;hb=30089d49dc2ca5e5ed9f074ef3206c3b2b8a62ad;hp=0c7852ad12e83b2c31518b4b3e75e8f82cbcacdc;hpb=ca23c1958549bf0a1b35acfc62b046c1127c0295;p=clitk.git diff --git a/vv/vvSlicer.cxx b/vv/vvSlicer.cxx index 0c7852a..30a8f10 100644 --- a/vv/vvSlicer.cxx +++ b/vv/vvSlicer.cxx @@ -901,11 +901,13 @@ void vvSlicer::AdjustResliceToSliceOrientation(vtkImageReslice *reslice) // Step 1: from world coordinates to image coordinates origin[this->SliceOrientation] -= mImageReslice->GetOutput()->GetOrigin()[this->SliceOrientation]; origin[this->SliceOrientation] /= mImageReslice->GetOutput()->GetSpacing()[this->SliceOrientation]; + // Step 2: round to nearest grid positionInc. This has been validated as the only // way to have something consistent with the thickness of a 2D slice visible on the // other slices. The thickness is accounted for so if the 2D slice is to thin and // between two slices, one will never be able to see this 2D slice (bug #1883). origin[this->SliceOrientation] = itk::Math::Round(origin[this->SliceOrientation]); + // Step 3: back to world coordinates origin[this->SliceOrientation] *= mImageReslice->GetOutput()->GetSpacing()[this->SliceOrientation]; origin[this->SliceOrientation] += mImageReslice->GetOutput()->GetOrigin()[this->SliceOrientation];