[vtkusers] Streaming large datasets with itk-vtk

Jesús Spí­nola jspinola at gmail.com
Fri Jan 12 08:05:21 EST 2007


Hello,

i have to load large DICOM datasets ( minimum 1000 512x512 slices, 1 Gb in
memory ) in my application. To read the datasets I use itk then I visualize
them with vtk.

My pipeline is as follows:
First I use itk::ImageSeriesReader, then I pass the output of the reader to
itk::itkImageToVTKImageFilter to get a vtkImageData. Finally the
vtkImageData is the input of vtkImageViewer2 to view the dataset.

Briefly:
itk::ImageSeriesReader -> ( itk::Image ) -> itk::itkImageToVTKImageFilter ->
vtkImageData -> vtkImageViewer2

The pipeline works well with  datasets like 512x512 up to aproximately 700
slices in a system with 1Gb of physical memory.
When I want to load larger datasets, the first problem I have is
itk::ImageSeriesReader gives me an error saying it could not allocate the
memory for the image because there is'nt so much memory available. The first
idea that came to me was introducing streaming to the pipeline to solve the
problem and reduce the memory footprint of the application loading only the
necessary slices in memory.
>From the itk library there's the class itk::StreamingImageFilter, and from
vtk there's vtkImageDataStreamer.

My first question is, given that pipeline, can I apply streaming to it?
second is, if i can, which filter is better to apply: the itk or the vtk
one, and where?
if it's not possible to apply streaming this way, what can I do to solve the
problem? Change the pipeline?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20070112/5f56ad53/attachment.htm>


More information about the vtkusers mailing list