[Insight-users] ROI by reference (views), eg. ExtractImageFilter

Michael Held michael.held at bc.biol.ethz.ch
Tue Feb 14 10:51:40 EST 2006


Hi James,

thanks for your reply. this sounds like a good way to go.
I was just wondering if anything like a 'view' exists. I was working with
VIGRA before and views are a standard-concept there. to process 5D images
with 2D or 3D operators/analyzers 'in place' is essential for my work (and I
thought for most image processing as well). therefore I assumed that this
possibility to access data is already implemented in ITK... have I overseen
something?

best regards,
michael


On 2/14/06 3:59 PM, "Miller, James V (GE, Research)" <millerjv at crd.ge.com>
wrote:

> Michael, 
> 
> As long as you are always operating on a section of the image that is
> contiguous in memory,
> then it is probably possibly to trick the ITK image/filters to do this.
> 
> If you want to get into the nuts and bolts, take a look at the
> ImageSeriesReader/Writer.  These
> writers can take a 3D image and delegate the image writer to a 2D image writer
> (ImageFileWriter).
> They do this by creating a 2D image and configuring the PixelContainer for the
> 2D image to 
> reference the 3D image's underlying pixel buffer.  As the SeriesReader/Writer
> iterates over the
> slices, it sets the buffer pointer for the 2D image to be a different position
> in the 3D image.
> 
> You have to be very careful with memory management.  You don't want the 2D
> images to free the
> pixel data they are wrapped around.  There is a setting on the PixelContainer
> as to whether the
> container manages the memory of not.
> 
> So it would be possible to write an ExtractSliceImageFilter for instance, that
> extracted the 
> slice into a 2D image without copying the data.  That 2D image could be passed
> to an InPlaceFilter
> to perform some operation (the InPlaceFilter will overwrite the data).
> 
> This could be fragile.  No guarentee that this would keep working as ITK
> evolves.
> 
> Jim
> 
> 
> -----Original Message-----
> From: insight-users-bounces+millerjv=crd.ge.com at itk.org
> [mailto:insight-users-bounces+millerjv=crd.ge.com at itk.org]On Behalf Of
> Michael Held
> Sent: Tuesday, February 14, 2006 5:26 AM
> To: insight-users at itk.org
> Subject: [Insight-users] ROI by reference (views), eg.
> ExtractImageFilter
> 
> 
> hi out there,
> 
> I am wondering how I can work on 'parts' of image directly? lets say, I want
> to do a smoothing for every [x,y] in my [x,y,c,t] image-cube. I could use
> itk::ExtractImageFilter, do get all 2D planes, but I don't want to
> reassemble the data container afterwards. I would more like to get a "2D
> view" out of 4D container (to use 2D algorithms and write the results
> directly back into 4D).
> is this possible?
> 
> thanks!
> michael   
> 
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users




More information about the Insight-users mailing list