Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::LevelSetNeighborhoodExtractor< TLevelSet > Class Template Reference
[Level Set-Based Segmentation Filters]

Locate pixels of a particular level set. More...

#include <itkLevelSetNeighborhoodExtractor.h>

Inheritance diagram for itk::LevelSetNeighborhoodExtractor< TLevelSet >:

Inheritance graph
[legend]
Collaboration diagram for itk::LevelSetNeighborhoodExtractor< TLevelSet >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef LevelSetNeighborhoodExtractor Self
typedef LightProcessObject Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef LevelSetTypeDefault<
TLevelSet > 
LevelSetType
typedef LevelSetType::LevelSetImageType LevelSetImageType
typedef LevelSetType::LevelSetPointer LevelSetPointer
typedef LevelSetType::LevelSetConstPointer LevelSetConstPointer
typedef LevelSetType::PixelType PixelType
typedef LevelSetType::NodeType NodeType
typedef LevelSetType::NodeContainer NodeContainer
typedef LevelSetType::NodeContainerPointer NodeContainerPointer
typedef Index< itkGetStaticConstMacro(SetDimension) IndexType )

Public Member Functions

virtual const char * GetNameOfClass () const
 itkStaticConstMacro (SetDimension, unsigned int, LevelSetType::SetDimension)
virtual void SetInputLevelSet (const LevelSetImageType *_arg)
virtual const LevelSetImageTypeGetInputLevelSet ()
virtual void SetLevelSetValue (double _arg)
virtual double GetLevelSetValue ()
virtual void SetNarrowBandwidth (double _arg)
virtual double GetNarrowBandwidth ()
virtual void SetNarrowBanding (bool _arg)
NodeContainerPointer GetInsidePoints ()
NodeContainerPointer GetOutsidePoints (void)
void Locate ()
virtual bool GetNarrowBanding ()
virtual void NarrowBandingOn ()
virtual void NarrowBandingOff ()
void SetInputNarrowBand (NodeContainer *ptr)
virtual NodeContainerGetInputNarrowBand ()

Static Public Member Functions

Pointer New ()

Protected Member Functions

 LevelSetNeighborhoodExtractor ()
 ~LevelSetNeighborhoodExtractor ()
void PrintSelf (std::ostream &os, Indent indent) const
LevelSetImageType::PixelType GetLargeValue () const
const NodeTypeGetNodeUsedInCalculation (unsigned int idx) const
virtual void Initialize ()
virtual double CalculateDistance (IndexType &index)
void GenerateData ()
bool GetLastPointIsInside () const

Detailed Description

template<class TLevelSet>
class itk::LevelSetNeighborhoodExtractor< TLevelSet >

Locate pixels of a particular level set.

LevelSetNeighborhoodExtractor locates a particular level set in the input level set. Specifically, the method Locate() fills two containers: one containing pixels immediately inside the contour defined by the level set and the other containing pixels immediately outside. For each located pixel, an estimated distance to the particular level set is also calculated.

The containers InsidePoints and OutsidePoints can then be used in FastMarchingImageFilter to produce a signed distance map from the specified level set.

This class is templated over the image type representing the level set.

This class supports narrowbanding. If a input narrowband is provided, the alogrithm will only search pixels within the narrowband.

Implemenation of this class is based on Chapter 11 of "Level Set Methods and Fast Marching Methods", J.A. Sethian, Cambridge Press, Second edition, 1999.

Definition at line 56 of file itkLevelSetNeighborhoodExtractor.h.


Member Typedef Documentation

template<class TLevelSet>
typedef SmartPointer<const Self> itk::LevelSetNeighborhoodExtractor< TLevelSet >::ConstPointer
 

Reimplemented from itk::LightProcessObject.

Reimplemented in itk::LevelSetVelocityNeighborhoodExtractor< TLevelSet, TAuxValue, VAuxDimension >.

Definition at line 64 of file itkLevelSetNeighborhoodExtractor.h.

template<class TLevelSet>
typedef Index<itkGetStaticConstMacro(SetDimension) itk::LevelSetNeighborhoodExtractor< TLevelSet >::IndexType)
 

Index typedef support.

Definition at line 87 of file itkLevelSetNeighborhoodExtractor.h.

Referenced by itk::LevelSetNeighborhoodExtractor< TLevelSet >::GetNodeUsedInCalculation().

template<class TLevelSet>
typedef LevelSetType::LevelSetConstPointer itk::LevelSetNeighborhoodExtractor< TLevelSet >::LevelSetConstPointer
 

Definition at line 76 of file itkLevelSetNeighborhoodExtractor.h.

Referenced by itk::LevelSetNeighborhoodExtractor< TLevelSet >::GetLastPointIsInside().

template<class TLevelSet>
typedef LevelSetType::LevelSetImageType itk::LevelSetNeighborhoodExtractor< TLevelSet >::LevelSetImageType
 

Definition at line 74 of file itkLevelSetNeighborhoodExtractor.h.

template<class TLevelSet>
typedef LevelSetType::LevelSetPointer itk::LevelSetNeighborhoodExtractor< TLevelSet >::LevelSetPointer
 

Definition at line 75 of file itkLevelSetNeighborhoodExtractor.h.

template<class TLevelSet>
typedef LevelSetTypeDefault<TLevelSet> itk::LevelSetNeighborhoodExtractor< TLevelSet >::LevelSetType
 

LevelSetType typedef support.

Reimplemented in itk::LevelSetVelocityNeighborhoodExtractor< TLevelSet, TAuxValue, VAuxDimension >.

Definition at line 73 of file itkLevelSetNeighborhoodExtractor.h.

template<class TLevelSet>
typedef LevelSetType::NodeContainer itk::LevelSetNeighborhoodExtractor< TLevelSet >::NodeContainer
 

Definition at line 79 of file itkLevelSetNeighborhoodExtractor.h.

template<class TLevelSet>
typedef LevelSetType::NodeContainerPointer itk::LevelSetNeighborhoodExtractor< TLevelSet >::NodeContainerPointer
 

Definition at line 80 of file itkLevelSetNeighborhoodExtractor.h.

Referenced by itk::LevelSetNeighborhoodExtractor< TLevelSet >::GetInsidePoints(), and itk::LevelSetNeighborhoodExtractor< TLevelSet >::GetLastPointIsInside().

template<class TLevelSet>
typedef LevelSetType::NodeType itk::LevelSetNeighborhoodExtractor< TLevelSet >::NodeType
 

Definition at line 78 of file itkLevelSetNeighborhoodExtractor.h.

Referenced by itk::LevelSetNeighborhoodExtractor< TLevelSet >::GetLargeValue().

template<class TLevelSet>
typedef LevelSetType::PixelType itk::LevelSetNeighborhoodExtractor< TLevelSet >::PixelType
 

Definition at line 77 of file itkLevelSetNeighborhoodExtractor.h.

template<class TLevelSet>
typedef SmartPointer<Self> itk::LevelSetNeighborhoodExtractor< TLevelSet >::Pointer
 

Reimplemented from itk::LightProcessObject.

Reimplemented in itk::LevelSetVelocityNeighborhoodExtractor< TLevelSet, TAuxValue, VAuxDimension >.

Definition at line 63 of file itkLevelSetNeighborhoodExtractor.h.

template<class TLevelSet>
typedef LevelSetNeighborhoodExtractor itk::LevelSetNeighborhoodExtractor< TLevelSet >::Self
 

Standard class typdedefs.

Reimplemented from itk::LightProcessObject.

Reimplemented in itk::LevelSetVelocityNeighborhoodExtractor< TLevelSet, TAuxValue, VAuxDimension >.

Definition at line 61 of file itkLevelSetNeighborhoodExtractor.h.

Referenced by itk::LevelSetNeighborhoodExtractor< TLevelSet >::GetLastPointIsInside().

template<class TLevelSet>
typedef LightProcessObject itk::LevelSetNeighborhoodExtractor< TLevelSet >::Superclass
 

Reimplemented from itk::LightProcessObject.

Reimplemented in itk::LevelSetVelocityNeighborhoodExtractor< TLevelSet, TAuxValue, VAuxDimension >.

Definition at line 62 of file itkLevelSetNeighborhoodExtractor.h.


Constructor & Destructor Documentation

template<class TLevelSet>
itk::LevelSetNeighborhoodExtractor< TLevelSet >::LevelSetNeighborhoodExtractor  )  [protected]
 

template<class TLevelSet>
itk::LevelSetNeighborhoodExtractor< TLevelSet >::~LevelSetNeighborhoodExtractor  )  [inline, protected]
 

Definition at line 138 of file itkLevelSetNeighborhoodExtractor.h.


Member Function Documentation

template<class TLevelSet>
virtual double itk::LevelSetNeighborhoodExtractor< TLevelSet >::CalculateDistance IndexType index  )  [protected, virtual]
 

template<class TLevelSet>
void itk::LevelSetNeighborhoodExtractor< TLevelSet >::GenerateData void   )  [protected, virtual]
 

This method causes the filter to generate its output.

Reimplemented from itk::LightProcessObject.

template<class TLevelSet>
virtual const LevelSetImageType* itk::LevelSetNeighborhoodExtractor< TLevelSet >::GetInputLevelSet  )  [virtual]
 

Get the input level set.

template<class TLevelSet>
virtual NodeContainer* itk::LevelSetNeighborhoodExtractor< TLevelSet >::GetInputNarrowBand  )  [virtual]
 

Set/Get the input narrowband. A narrowband is represented as a VectorContainer of LevelSetNodes.

template<class TLevelSet>
NodeContainerPointer itk::LevelSetNeighborhoodExtractor< TLevelSet >::GetInsidePoints  )  [inline]
 

Get the container of inside points. The inside points are stored in a VectorContainer of LevelSetNodes.

Definition at line 124 of file itkLevelSetNeighborhoodExtractor.h.

References itk::LevelSetNeighborhoodExtractor< TLevelSet >::NodeContainerPointer.

template<class TLevelSet>
LevelSetImageType::PixelType itk::LevelSetNeighborhoodExtractor< TLevelSet >::GetLargeValue  )  const [inline, protected]
 

Definition at line 141 of file itkLevelSetNeighborhoodExtractor.h.

References itk::LevelSetNeighborhoodExtractor< TLevelSet >::NodeType.

template<class TLevelSet>
bool itk::LevelSetNeighborhoodExtractor< TLevelSet >::GetLastPointIsInside  )  const [inline, protected]
 

Definition at line 152 of file itkLevelSetNeighborhoodExtractor.h.

References itk::LevelSetNeighborhoodExtractor< TLevelSet >::LevelSetConstPointer, itk::LevelSetNeighborhoodExtractor< TLevelSet >::NodeContainerPointer, and itk::LevelSetNeighborhoodExtractor< TLevelSet >::Self.

template<class TLevelSet>
virtual double itk::LevelSetNeighborhoodExtractor< TLevelSet >::GetLevelSetValue  )  [virtual]
 

Get the value of the level set to be located.

template<class TLevelSet>
virtual const char* itk::LevelSetNeighborhoodExtractor< TLevelSet >::GetNameOfClass  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::LightProcessObject.

Reimplemented in itk::LevelSetVelocityNeighborhoodExtractor< TLevelSet, TAuxValue, VAuxDimension >.

template<class TLevelSet>
virtual bool itk::LevelSetNeighborhoodExtractor< TLevelSet >::GetNarrowBanding  )  [virtual]
 

Get the narrowbanding flag.

template<class TLevelSet>
virtual double itk::LevelSetNeighborhoodExtractor< TLevelSet >::GetNarrowBandwidth  )  [virtual]
 

Get the narrow band width.

template<class TLevelSet>
const NodeType& itk::LevelSetNeighborhoodExtractor< TLevelSet >::GetNodeUsedInCalculation unsigned int  idx  )  const [inline, protected]
 

Definition at line 144 of file itkLevelSetNeighborhoodExtractor.h.

References itk::LevelSetNeighborhoodExtractor< TLevelSet >::IndexType.

template<class TLevelSet>
NodeContainerPointer itk::LevelSetNeighborhoodExtractor< TLevelSet >::GetOutsidePoints void   )  [inline]
 

Get the container of outside points. The outside points are stored in a VectorContainer of LevelSetNodes.

Definition at line 129 of file itkLevelSetNeighborhoodExtractor.h.

template<class TLevelSet>
virtual void itk::LevelSetNeighborhoodExtractor< TLevelSet >::Initialize  )  [protected, virtual]
 

Reimplemented in itk::LevelSetVelocityNeighborhoodExtractor< TLevelSet, TAuxValue, VAuxDimension >.

template<class TLevelSet>
itk::LevelSetNeighborhoodExtractor< TLevelSet >::itkStaticConstMacro SetDimension  ,
unsigned  int,
LevelSetType::SetDimension 
 

SetDimension enumeration.

Reimplemented in itk::LevelSetVelocityNeighborhoodExtractor< TLevelSet, TAuxValue, VAuxDimension >.

template<class TLevelSet>
void itk::LevelSetNeighborhoodExtractor< TLevelSet >::Locate  ) 
 

Locate the level set. This method evokes the level set location algorithm.

template<class TLevelSet>
virtual void itk::LevelSetNeighborhoodExtractor< TLevelSet >::NarrowBandingOff  )  [virtual]
 

Get the narrowbanding flag.

template<class TLevelSet>
virtual void itk::LevelSetNeighborhoodExtractor< TLevelSet >::NarrowBandingOn  )  [virtual]
 

Get the narrowbanding flag.

template<class TLevelSet>
Pointer itk::LevelSetNeighborhoodExtractor< TLevelSet >::New  )  [static]
 

Method for creation through the object factory.

Reimplemented from itk::LightProcessObject.

Reimplemented in itk::LevelSetVelocityNeighborhoodExtractor< TLevelSet, TAuxValue, VAuxDimension >.

template<class TLevelSet>
void itk::LevelSetNeighborhoodExtractor< TLevelSet >::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::LightProcessObject.

Reimplemented in itk::LevelSetVelocityNeighborhoodExtractor< TLevelSet, TAuxValue, VAuxDimension >.

template<class TLevelSet>
virtual void itk::LevelSetNeighborhoodExtractor< TLevelSet >::SetInputLevelSet const LevelSetImageType _arg  )  [virtual]
 

Set the input level set.

template<class TLevelSet>
void itk::LevelSetNeighborhoodExtractor< TLevelSet >::SetInputNarrowBand NodeContainer ptr  ) 
 

Set/Get the input narrowband. A narrowband is represented as a VectorContainer of LevelSetNodes.

template<class TLevelSet>
virtual void itk::LevelSetNeighborhoodExtractor< TLevelSet >::SetLevelSetValue double  _arg  )  [virtual]
 

Set the value of the level set to be located. Default is 0.

template<class TLevelSet>
virtual void itk::LevelSetNeighborhoodExtractor< TLevelSet >::SetNarrowBanding bool  _arg  )  [virtual]
 

Set the narrowbanding flag.

template<class TLevelSet>
virtual void itk::LevelSetNeighborhoodExtractor< TLevelSet >::SetNarrowBandwidth double  _arg  )  [virtual]
 

Set the narrow band width. Default is 12.


The documentation for this class was generated from the following file:
Generated at Thu May 25 01:39:24 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000