[vtk-developers] Re: [vtkusers] Bug in vtkExtractVOI
Berk Geveci
berk.geveci at kitware.com
Wed Apr 23 12:09:27 EDT 2003
Please wait until Charles can take a look at the problem before
applying a patch. I know he has done many changes to the extract
filters to fix problems which occur when using them in parallel.
-Berk
On Wed, 2003-04-23 at 11:43, bryan cole wrote:
>
> > Maybe I looked to quickly. One could keep the origin where it is, and
> > make sure the extent takes into account the extraction, or "move" the
> > origin so that extracted points are still at their correct positions.
> > It then seems that the previous "working" version of vtkExtractVOI did
> > the latter which is obviously also good.
> >
> > Could you perhaps post your patch?
>
> A patch is attached (the result of 'cvs diff -u4' against todays CVS).
> It would be good to understand what 'lawcc' was aiming for when the
> previous changes to this filter were made, before using the patch to
> restore the old behaviour.
>
> Bryan
>
> --
> Bryan Cole
> Teraview Ltd., 302-304 Cambridge Science Park, Milton Road, Cambridge CB4 0WG, United Kingdom.
> tel: +44 (1223) 435380 / 435386 (direct-dial) fax: +44 (1223) 435382
> ----
>
> ? BEC-ExtractVOI.patch
> Index: Imaging/vtkExtractVOI.cxx
> ===================================================================
> RCS file: /cvsroot/VTK/VTK/Imaging/vtkExtractVOI.cxx,v
> retrieving revision 1.34
> diff -u -4 -r1.34 vtkExtractVOI.cxx
> --- Imaging/vtkExtractVOI.cxx 17 Jan 2003 14:31:08 -0000 1.34
> +++ Imaging/vtkExtractVOI.cxx 23 Apr 2003 15:25:52 -0000
> @@ -116,15 +116,15 @@
> outDims[i] = 1;
> }
> }
>
> - // This makes sense for sample rates of 1, 1, 1.
> - wholeExtent[0] = voi[0];
> - wholeExtent[1] = voi[0] + outDims[0] - 1;
> - wholeExtent[2] = voi[2];
> - wholeExtent[3] = voi[2] + outDims[1] - 1;
> - wholeExtent[4] = voi[4];
> - wholeExtent[5] = voi[4] + outDims[2] - 1;
> + // reverting to 'old' behaviour for output extents and origin
> + wholeExtent[0] = 0;
> + wholeExtent[1] = outDims[0] - 1;
> + wholeExtent[2] = 0;
> + wholeExtent[3] = outDims[1] - 1;
> + wholeExtent[4] = 0;
> + wholeExtent[5] = outDims[2] - 1;
>
> output->SetWholeExtent( wholeExtent );
> }
>
> @@ -200,9 +200,9 @@
> outDims[i] = 1;
> }
>
> outAR[i] = ar[i] * this->SampleRate[i];
> - outOrigin[i] = origin[i] + voi[2*i]*ar[i] - outExt[2*i]*outAR[i];
> + outOrigin[i] = origin[i] + voi[2*i]*ar[i];
> outSize *= outDims[i];
> }
>
> output->SetSpacing(outAR);
More information about the vtk-developers
mailing list