[Insight-users] Handling large datasets
Luis Ibanez
luis.ibanez at kitware.com
Thu, 05 Feb 2004 17:20:39 -0500
Hi John,
Unfortunately there is not very extensive
documentation at this point on how to manage
large data sets in ITK.
However the internal support for streaming
is already built-in the datapipeline.
Note that the algorithmic nature of many
filters do not support streaming, so you
have to verify filter-by-filter which ones
will be able to process your data by pieces.
One of the difficulties at this point is
that many ImageIO classes do not support
reading regions from files. If you plan
to load section of 4D datasets, the first
thing to look at is a file format and
its associated ImageIO class that honors
the ReguestedRegion. Most of them simply
load the entire image.
In practice it may be simpler for you to
create your own customized ImageIO object.
ITK provides all the support for adding
an unlimited number of readers/writers,
and even load them at run time from
shared libraries.
One easy way to develop a new ImageIO
class is to rework an existing one.
I would suggest to take the something like
the itkStimulateImageIO class since it does
not depend on any third party library and it
is completely implemented in ITK.
Regards,
Luis
-------------------------
John Biddiscombe wrote:
>>The image region in memory will be only
>>
>>ImageType::SizeType size =
>> image->GetBufferedRegion().GetSize();
>
>
> Knowing about the buffered region etc. I have a question.
>
> I'd like to load some datasets which may be >2GB (standard 32bit PC.
> Memory limit 2GB).
>
> Are there any docs about which would tell me how I can manage large
> datasets with ITK. I will probably want to load 4D time series volumes
> and access either individual 2D slices from a particular position with
> variable T, or individual 3D volumes for a single epoch.
>
> Thanks
>
> JB
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
>