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

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

Reinitialize the level set to the signed distance function. More...

#include <itkReinitializeLevelSetImageFilter.h>

Inheritance diagram for itk::ReinitializeLevelSetImageFilter:

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef ReinitializeLevelSetImageFilter Self
typedef ImageToImageFilter<
TLevelSet, TLevelSet > 
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

Public Methods

virtual const char * GetClassName () const
 itkStaticConstMacro (SetDimension, unsigned int, LevelSetType::SetDimension)
NodeContainerPointer GetOutputNarrowBand () const
virtual void SetLevelSetValue (double _arg)
virtual double GetLevelSetValue ()
virtual void SetNarrowBanding (bool _arg)
virtual bool GetNarrowBanding ()
virtual void NarrowBandingOn ()
virtual void NarrowBandingOff ()
virtual void SetInputNarrowBandwidth (double _arg)
virtual double GetInputNarrowBandwidth ()
virtual void SetOutputNarrowBandwidth (double _arg)
virtual double GetOutputNarrowBandwidth ()
void SetNarrowBandwidth (double value)
void SetInputNarrowBand (NodeContainer *ptr)
NodeContainerPointer GetInputNarrowBand () const

Static Public Methods

Pointer New ()

Protected Types

typedef Image< float, itkGetStaticConstMacro(SetDimension) SpeedImageType )
typedef LevelSetNeighborhoodExtractor<
TLevelSet > 
LocatorType
typedef FastMarchingImageFilter<
TLevelSet, SpeedImageType
FastMarchingImageFilterType

Protected Methods

 ReinitializeLevelSetImageFilter ()
 ~ReinitializeLevelSetImageFilter ()
void PrintSelf (std::ostream &os, Indent indent) const
void GenerateData ()
virtual void GenerateDataFull ()
virtual void GenerateDataNarrowBand ()
virtual void AllocateOutput ()
virtual void GenerateInputRequestedRegion ()
virtual void EnlargeOutputRequestedRegion (DataObject *)
void SetOutputNarrowBand (NodeContainer *ptr)

Detailed Description

template<class TLevelSet>
class itk::ReinitializeLevelSetImageFilter< TLevelSet >

Reinitialize the level set to the signed distance function.

ReinitializeLevelSetImageFilter reinitializes the input level set to the approximated signed distance function from a particular level set. The output is a level set of the same type as the input.

For some level set algorithms, it is useful to periodically reinitialize the level set function to prevent numerical accuracy problems in computing derivatives and curvature values where level sets are densely bunched together.

This class is templated over the image type which represents the level set.

This class supports narrowbanding. If the input narrowband is provided, the algorithm will only locate the level set within the input narrowband. For the output, the reinitialize level set is only valid for a distance of OutputNarrowBandwidth / 2 of either side of the level set of interest.

Implementation 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 55 of file itkReinitializeLevelSetImageFilter.h.


Member Typedef Documentation

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

Reimplemented from itk::ImageToImageFilter< TLevelSet, TLevelSet >.

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

Definition at line 63 of file itkReinitializeLevelSetImageFilter.h.

template<class TLevelSet>
typedef FastMarchingImageFilter<TLevelSet, SpeedImageType> itk::ReinitializeLevelSetImageFilter< TLevelSet >::FastMarchingImageFilterType [protected]
 

Definition at line 139 of file itkReinitializeLevelSetImageFilter.h.

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

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

Definition at line 75 of file itkReinitializeLevelSetImageFilter.h.

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

Definition at line 73 of file itkReinitializeLevelSetImageFilter.h.

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

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

Definition at line 74 of file itkReinitializeLevelSetImageFilter.h.

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

LevelSetType typedef support.

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

Definition at line 72 of file itkReinitializeLevelSetImageFilter.h.

template<class TLevelSet>
typedef LevelSetNeighborhoodExtractor<TLevelSet> itk::ReinitializeLevelSetImageFilter< TLevelSet >::LocatorType [protected]
 

Definition at line 138 of file itkReinitializeLevelSetImageFilter.h.

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

Definition at line 78 of file itkReinitializeLevelSetImageFilter.h.

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

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

Definition at line 79 of file itkReinitializeLevelSetImageFilter.h.

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

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

Definition at line 77 of file itkReinitializeLevelSetImageFilter.h.

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

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

Definition at line 76 of file itkReinitializeLevelSetImageFilter.h.

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

Reimplemented from itk::ImageToImageFilter< TLevelSet, TLevelSet >.

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

Definition at line 62 of file itkReinitializeLevelSetImageFilter.h.

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

Standard class typedefs.

Reimplemented from itk::ImageToImageFilter< TLevelSet, TLevelSet >.

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

Definition at line 60 of file itkReinitializeLevelSetImageFilter.h.

template<class TLevelSet>
typedef Image<float, itkGetStaticConstMacro(SetDimension) itk::ReinitializeLevelSetImageFilter< TLevelSet >::SpeedImageType) [protected]
 

Internal typedefs. SpeedImageType defined to work around the Borland compiler's improper handling of default template parameters that use dependent non-type templates.

Definition at line 137 of file itkReinitializeLevelSetImageFilter.h.

template<class TLevelSet>
typedef ImageToImageFilter<TLevelSet,TLevelSet> itk::ReinitializeLevelSetImageFilter< TLevelSet >::Superclass
 

Reimplemented from itk::ImageToImageFilter< TLevelSet, TLevelSet >.

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

Definition at line 61 of file itkReinitializeLevelSetImageFilter.h.


Constructor & Destructor Documentation

template<class TLevelSet>
itk::ReinitializeLevelSetImageFilter< TLevelSet >::ReinitializeLevelSetImageFilter   [protected]
 

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

Definition at line 131 of file itkReinitializeLevelSetImageFilter.h.

References HardConnectedComponentImageFilter::GenerateData().


Member Function Documentation

template<class TLevelSet>
virtual void itk::ReinitializeLevelSetImageFilter< TLevelSet >::AllocateOutput   [protected, virtual]
 

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

template<class TLevelSet>
virtual void itk::ReinitializeLevelSetImageFilter< TLevelSet >::EnlargeOutputRequestedRegion DataObject   [protected, virtual]
 

Give the process object a chance to indictate that it will produce more output than it was requested to produce. For example, many imaging filters must compute the entire output at once or can only produce output in complete slices. Such filters cannot handle smaller requested regions. These filters must provide an implementation of this method, setting the output requested region to the size they will produce. By default, a process object does not modify the size of the output requested region.

Reimplemented from itk::ProcessObject.

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

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

This method causes the filter to generate its output.

Reimplemented from itk::ImageSource< TLevelSet >.

template<class TLevelSet>
virtual void itk::ReinitializeLevelSetImageFilter< TLevelSet >::GenerateDataFull   [protected, virtual]
 

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

template<class TLevelSet>
virtual void itk::ReinitializeLevelSetImageFilter< TLevelSet >::GenerateDataNarrowBand   [protected, virtual]
 

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

template<class TLevelSet>
virtual void itk::ReinitializeLevelSetImageFilter< TLevelSet >::GenerateInputRequestedRegion   [protected, virtual]
 

What is the input requested region that is required to produce the output requested region? By default, the largest possible region is always required but this is overridden in many subclasses. For instance, for an image processing filter where an output pixel is a simple function of an input pixel, the input requested region will be set to the output requested region. For an image processing filter where an output pixel is a function of the pixels in a neighborhood of an input pixel, then the input requested region will need to be larger than the output requested region (to avoid introducing artificial boundary conditions). This function should never request an input region that is outside the the input largest possible region (i.e. implementations of this method should crop the input requested region at the boundaries of the input largest possible region).

Reimplemented from itk::ImageToImageFilter< TLevelSet, TLevelSet >.

template<class TLevelSet>
virtual const char* itk::ReinitializeLevelSetImageFilter< TLevelSet >::GetClassName   const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::ImageToImageFilter< TLevelSet, TLevelSet >.

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

template<class TLevelSet>
NodeContainerPointer itk::ReinitializeLevelSetImageFilter< TLevelSet >::GetInputNarrowBand   const [inline]
 

Set/Get the input narrowband.

Definition at line 121 of file itkReinitializeLevelSetImageFilter.h.

template<class TLevelSet>
virtual double itk::ReinitializeLevelSetImageFilter< TLevelSet >::GetInputNarrowBandwidth   [virtual]
 

Set/Get the input narrow bandwidth. The default value is 12.

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

Set/Get the value of the level set to be located. The default value is 0.

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

Set/Get the narrowbanding flag. By default, narrowbanding is switched off.

template<class TLevelSet>
NodeContainerPointer itk::ReinitializeLevelSetImageFilter< TLevelSet >::GetOutputNarrowBand   const [inline]
 

Get the output narrowband.

Definition at line 126 of file itkReinitializeLevelSetImageFilter.h.

References HardConnectedComponentImageFilter::PrintSelf().

template<class TLevelSet>
virtual double itk::ReinitializeLevelSetImageFilter< TLevelSet >::GetOutputNarrowBandwidth   [virtual]
 

Set/Get the output narrow bandwidth. The default value is 12.

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

SetDimension enumeration.

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

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

Set/Get the narrowbanding flag. By default, narrowbanding is switched off.

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

Set/Get the narrowbanding flag. By default, narrowbanding is switched off.

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

Method for creation through the object factory.

Reimplemented from itk::Object.

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

template<class TLevelSet>
void itk::ReinitializeLevelSetImageFilter< 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::ImageToImageFilter< TLevelSet, TLevelSet >.

template<class TLevelSet>
void itk::ReinitializeLevelSetImageFilter< TLevelSet >::SetInputNarrowBand NodeContainer   ptr
 

Set/Get the input narrowband.

template<class TLevelSet>
virtual void itk::ReinitializeLevelSetImageFilter< TLevelSet >::SetInputNarrowBandwidth double    _arg [virtual]
 

Set/Get the input narrow bandwidth. The default value is 12.

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

Set/Get the value of the level set to be located. The default value is 0.

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

Set/Get the narrowbanding flag. By default, narrowbanding is switched off.

template<class TLevelSet>
void itk::ReinitializeLevelSetImageFilter< TLevelSet >::SetNarrowBandwidth double    value [inline]
 

Set the bandwidth for both the input and output narrowband, By default, both the input and output are set to 12.

Definition at line 112 of file itkReinitializeLevelSetImageFilter.h.

template<class TLevelSet>
void itk::ReinitializeLevelSetImageFilter< TLevelSet >::SetOutputNarrowBand NodeContainer   ptr [inline, protected]
 

Definition at line 149 of file itkReinitializeLevelSetImageFilter.h.

template<class TLevelSet>
virtual void itk::ReinitializeLevelSetImageFilter< TLevelSet >::SetOutputNarrowBandwidth double    _arg [virtual]
 

Set/Get the output narrow bandwidth. The default value is 12.


The documentation for this class was generated from the following file:
Generated at Fri May 21 01:48:04 2004 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000