|
View:
New views
5 Messages
—
Rating Filter:
Alert me
|
|
|
sparse images?I'm working with a very large dataset (1000's of 2D images, size > 1024x1024 pixels, ushort RGB pixels). A large portion of these images is background. A few routines, like saving all the 2D images into a 3D volume, fail with segfaults due to malloc errors (on OSX 10.5.8 with 24Gb RAM; using ITK 3.16.0). Is there an image format that provides 'sparse' images? This implies there are no data values for some of the image pixels (is this the same thing as transparent background?). What is an optimal image format for working with this data? Thanks in advance (TIA), Darren _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.html Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://www.itk.org/mailman/listinfo/insight-users |
|
|
Re: sparse images?Hi Darren,
You might want to investigate the following Insight Journal submission: http://www.insight-journal.org/browse/publication/646 <shameless plug> Make sure you leave a review! </shameless plug> Cheers, Dan 2009/11/4 Darren Weber <darren.weber.lists@...>: > > I'm working with a very large dataset (1000's of 2D images, size > 1024x1024 > pixels, ushort RGB pixels). A large portion of these images is background. > > A few routines, like saving all the 2D images into a 3D volume, fail with > segfaults due to malloc errors (on OSX 10.5.8 with 24Gb RAM; using ITK > 3.16.0). > > Is there an image format that provides 'sparse' images? This implies there > are no data values for some of the image pixels (is this the same thing as > transparent background?). > > What is an optimal image format for working with this data? > > Thanks in advance (TIA), > Darren > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.html Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://www.itk.org/mailman/listinfo/insight-users |
|
|
Re: sparse images?Hi Dan, The proposal is very interesting. Having read the PDF, I'll take a look at the code. I may be able to offer a review (time permitting). Do you have any recent examples of using either the SliceContiguous or the Sparse images to compose a 3D volume from a series of 2D image files? Do you somehow a) Allocate the custom image memory (if known size & pixtype) b) Create an IO object to read data from an image file c) manually iterate over the IO object data with Get/Set accessors to put data into custom image memory d) Filter, etc. (if possible) e) Write out image data to disk (somehow) I can take the performance hit for the sparse image with Setting values. Should I be looking into streaming data models? Essentially all I need to do is stream a set of 2D input data straight out to a 3D output data file. I'm currently using a series reader (with a regex to define the image series) and piping it straight to a writer (with vtkIO for the writer). If a streaming model is available for this data transfer, it might avoid the segfaults due to allocation limits (I have plenty of disk space, just not enough RAM). Thanks! Darren On Wed, Nov 4, 2009 at 1:54 PM, Dan Mueller <dan.muel@...> wrote: Hi Darren, _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.html Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://www.itk.org/mailman/listinfo/insight-users |
|
|
Re: sparse images?Hi Darren,
Reading your email again, perhaps I jumped the gun a bit by suggesting the sparse image. The sparse image is designed for images which have a few relevant pixels, but the rest background (ie. you don't set all the pixels, just a few here and there). If you need to process an entire image, then I think ITK's read/write streaming feature will better suit your needs (assuming you can break your processing into chunks). http://www.cmake.org/pipermail/insight-users/2002-May/000472.html http://www.itk.org/Doxygen/html/StreamingPage.html http://www.itk.org/Doxygen/html/group__StreamingGroup.html http://www.insight-journal.org/browse/publication/305 Please provide an exact overview of what you are trying to achieve, so we can help determine the best approach. Cheers, Dan 2009/11/5 Darren Weber <darren.weber.lists@...>: > > Hi Dan, > > The proposal is very interesting. Having read the PDF, I'll take a look at > the code. I may be able to offer a review (time permitting). > > Do you have any recent examples of using either the SliceContiguous or the > Sparse images to compose a 3D volume from a series of 2D image files? Do > you somehow > > a) Allocate the custom image memory (if known size & pixtype) > b) Create an IO object to read data from an image file > c) manually iterate over the IO object data with Get/Set accessors to put > data into custom image memory > d) Filter, etc. (if possible) > e) Write out image data to disk (somehow) > > I can take the performance hit for the sparse image with Setting values. > > Should I be looking into streaming data models? Essentially all I need to > do is stream a set of 2D input data straight out to a 3D output data file. > I'm currently using a series reader (with a regex to define the image > series) and piping it straight to a writer (with vtkIO for the writer). If > a streaming model is available for this data transfer, it might avoid the > segfaults due to allocation limits (I have plenty of disk space, just not > enough RAM). > > Thanks! > Darren > > > > > > On Wed, Nov 4, 2009 at 1:54 PM, Dan Mueller <dan.muel@...> wrote: >> >> Hi Darren, >> >> You might want to investigate the following Insight Journal submission: >> http://www.insight-journal.org/browse/publication/646 >> >> <shameless plug> >> Make sure you leave a review! >> </shameless plug> >> >> Cheers, Dan >> >> 2009/11/4 Darren Weber <darren.weber.lists@...>: >> > >> > I'm working with a very large dataset (1000's of 2D images, size > >> > 1024x1024 >> > pixels, ushort RGB pixels). A large portion of these images is >> > background. >> > >> > A few routines, like saving all the 2D images into a 3D volume, fail >> > with >> > segfaults due to malloc errors (on OSX 10.5.8 with 24Gb RAM; using ITK >> > 3.16.0). >> > >> > Is there an image format that provides 'sparse' images? This implies >> > there >> > are no data values for some of the image pixels (is this the same thing >> > as >> > transparent background?). >> > >> > What is an optimal image format for working with this data? >> > >> > Thanks in advance (TIA), >> > Darren Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.html Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://www.itk.org/mailman/listinfo/insight-users |
|
|
Re: sparse images?Hello,
There is an article I wrote for the Kitware Source that is useful if you want to do IO Streaming: And it's related example in: Insight/Examples/IO/VisibleHumanStreamReadWrite.cxx Currently metaIO is the only format to fully support streaming IO. So you will need to use an mha (or mhd) file extension. To enable streaming IO, you simple need to have a file format which supports it and the call ImageFileWriter::SetNumerOfStreamDivisions( unsigned int ) For this parameter the number of z-slices frequently works well, which can be obtained after ImageFileReader::GenerateOutputInformation( ) has been called. Then accessing the LargestPossibleRegion. Hope this helps, Brad On Nov 5, 2009, at 4:24 AM, Dan Mueller wrote:
======================================================== Bradley Lowekamp Lockheed Martin Contractor for Office of High Performance Computing and Communications National Library of Medicine _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.html Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://www.itk.org/mailman/listinfo/insight-users |
| Free embeddable forum powered by Nabble | Forum Help |