[Insight-users] How to set the input to LevelSetNeighborhoodExtractor?
Luis Ibanez
luis.ibanez@kitware.com
Fri, 11 Oct 2002 15:02:46 -0400
--------------030301020607010208030504
Content-Type: text/plain; charset=GB2312
Content-Transfer-Encoding: 7bit
Hi Zhao,
Two approaches for level sets are implemented in ITK.
Both of this approaches are well described in the J.A. Sethian
book.
In one hand you can represent the level set by using a data set
(itk::Image) and associating the zero set of this data with a surface.
On the other hand you can use a NarrowBand technique in which
only pixels close to the surface are represented. The points are held
in a data structure of Nodes (Index + Value): NodeContainer.
The LevelSetNeighborhoodExtractor accepts both types of inputs.
That is, you can feed it a NodeContainer if you are using NarrowBand,
or you can feed it a LevelSet (itk::Image).
itkSetConstObjectMacro( ) is an auxiliary macro used in ITK in order
to ensure that the "Set*()" methods look all the same and follow a number
of standards (e.g. call "Modified()").
The line
itkSetConstObjectMacro( InputLevelSet, LevelSetImageType );
gets expanded to
void SetInputLevelSet( const LevelSetImageType * )
---
So, the input to the itkLevelSetNeighborhood extractor can be an image.
For example the output of the FastMarchingImageFilter could be a natural
choice:
You could also us a NodeContainer as input if you set up the narrow band
technique with the method NarrowBandingOn();
Please let us know if you have any difficulty using this class.
Thanks
Luis
======================================
zhao wrote:
> Hi Luis,
>
> It seems that itkSetConstObjectMacro
> <file:///E:/Visual%20Human/ITKDoxygenBeta2/ITKDoxygenBeta2/Doxygen/html/classitk_1_1LevelSetNeighborhoodExtractor.html#a1>
> can do this job, but how to use it? Thanks:)
>
> Zhao
>
--------------030301020607010208030504--