[Insight-users] Operations on large 3D 8 bits datas

Kevin H. Hobbs hobbsk at ohiou.edu
Fri Jul 27 16:14:27 EDT 2007


On Sat, 2007-07-28 at 05:24 +1000, Dan Mueller wrote:
> I too am working with large 3D datasets and regularly received similar
> memory allocation exceptions -- the solution for me was to move to a
> 64-bit machine. Are you on a 32-bit machine? How much physical memory
> does your machine have?

> > I have some difficulties to adapt
> > GradientMagnitudeRecursiveGaussianImageFilter to be used on
> > 1024*1024*512 8-bits data. 

Another option would be to use streaming. Switching to the large address
space of a 64 bit system sure does help, but physical RAM can still be
limiting. The images just keep getting bigger and bigger. The basic idea
is that you may be able to limit a part of the pipeline ( or the whole
thing ) to only process the image in 16*16*16 ( or whatever ) blocks.
That way even though the whole image is 1024*1024*512, and you need 4
bytes for float, and you need 3 floats for the gradient, which would be
1024*1024*512*4*3/2^30=6 gigabytes you could use only
16*16*16*4*3/2^10=48 kilobytes. Speed can be an important trade off,
some filters can not work in this way, some filters need extra input
around each piece, and you'll still need memory for your input and
output images. Your pipeline could look like :

Reader
cast to float
big memory hogging filter
cast back to char
StreamingImageFilter
Writer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://public.kitware.com/pipermail/insight-users/attachments/20070727/e7037d8a/attachment.pgp


More information about the Insight-users mailing list