[vtkusers] Can't cache Resliced image

David Gobbi dgobbi at irus.rri.ca
Wed Jun 20 17:48:57 EDT 2001


On Wed, 20 Jun 2001, TJ Wilkinson wrote:

> I'm working with a 3D volume about 250 MB in size.  In order to pan
> through slices faster, I have a button to call UpdateWholeExtent() on the
> reader, which works well.
>
> However, when I try to look at the volume at a different angle via
> ImageReslice, I am unable to pan quickly.  I thought perhaps that the
> filter was the part of the pipeline that was taking some time, so I
> UpdateWholeExtent for the reslice filter, but I still am unable to pan
> through slices quickly.

Viewing the data at oblique angles is always going to be much slower
because
1) the transformation/interpolation code is much more computationally
   intenstive for oblique slices than for slices lined up with the image
   axes
2) for slices that are aligned with the images axes, the pipeline only
   has to request one or (for interpolation) at most two slices from
   vtkImageReslice's Input,  while for oblique slices a large number of
   input slices are required (in the worst cast, the whole volume).

> Looking at my memory usage, it jumps, as it should, after hitting
> UpdateWholeExtent, but when I try to change slices, memory usage jumps
> back down.  Can anyone tell me what is going on, and how I might be able
> to cache the resliced images?

If you are calling UpdateWholeExtent() on vtkImageReslice, then don't.
You want to cache the data that is being input to vtkImageReslice, e.g. by
calling UpdateWholeExtent() on the filter that feeds into vtkImageReslice.
This should significantly enhance the speed of dynamic slicing.

 - David





More information about the vtkusers mailing list