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

itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType > Class Template Reference

#include <itkSegmentationLevelSetFunction.h>

Inheritance diagram for itk::SegmentationLevelSetFunction:

Inheritance graph
[legend]
Collaboration diagram for itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef SegmentationLevelSetFunction Self
typedef LevelSetFunction<
TImageType > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Superclass::ImageType ImageType
typedef Superclass::RadiusType RadiusType
typedef TFeatureImageType FeatureImageType
typedef Superclass::FloatOffsetType FloatOffsetType
typedef Superclass::ScalarValueType ScalarValueType
typedef Superclass::NeighborhoodType NeighborhoodType
typedef FeatureImageType::PixelType FeatureScalarType
typedef ImageType::IndexType IndexType
typedef Superclass::VectorType VectorType
typedef Image< VectorType,
::itk::GetImageDimension<
TImageType >::ImageDimension > 
VectorImageType
typedef LinearInterpolateImageFunction<
FeatureImageType
InterpolatorType
typedef VectorLinearInterpolateImageFunction<
VectorImageType
VectorInterpolatorType
typedef InterpolatorType::ContinuousIndexType ContinuousIndexType

Public Methods

virtual const char * GetClassName () const
 itkStaticConstMacro (ImageDimension, unsigned int, Superclass::ImageDimension)
virtual ImageTypeGetSpeedImage () const
virtual VectorImageTypeGetAdvectionImage () const
virtual void Initialize (const RadiusType &r)
virtual void CalculateSpeedImage ()
virtual void CalculateAdvectionImage ()
virtual void AllocateSpeedImage ()
virtual void AllocateAdvectionImage ()
virtual FeatureImageTypeGetFeatureImage () const
virtual void SetFeatureImage (FeatureImageType *f)

Protected Methods

virtual ScalarValueType PropagationSpeed (const NeighborhoodType &, const FloatOffsetType &) const
virtual VectorType AdvectionField (const NeighborhoodType &, const FloatOffsetType &) const
virtual ~SegmentationLevelSetFunction ()
 SegmentationLevelSetFunction ()

Protected Attributes

FeatureImageType::Pointer m_FeatureImage
ImageType::Pointer m_SpeedImage
VectorImageType::Pointer m_AdvectionImage
Functor::VectorCast< typename
VectorInterpolatorType::OutputType,
VectorType
m_VectorCast
InterpolatorType::Pointer m_Interpolator
VectorInterpolatorType::Pointer m_VectorInterpolator

Detailed Description

template<class TImageType, class TFeatureImageType = TImageType>
class itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >

This object defines the API for a class of function objects which perform level set based segmentations. The SegmentationLevelSetImageFilter objects use these SegmentationLevelSetFunction objects to perform the numerical calculations which move a level set front to lock onto image features.

In order to create a working function object, you must subclass the CalculateSpeedImage method to produce a "feature image" that is used by the parent LevelSetFunction class as the PropagationSpeed for its calculations.

See also:
SegmentationLevelSetImageFilter , LevelSetFunction

Definition at line 45 of file itkSegmentationLevelSetFunction.h.


Member Typedef Documentation

template<class TImageType, class TFeatureImageType = TImageType>
typedef SmartPointer<const Self> itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::ConstPointer
 

Reimplemented from itk::LevelSetFunction< TImageType >.

Reimplemented in itk::CannySegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, itk::LaplacianSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >, and itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >.

Definition at line 53 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef InterpolatorType::ContinuousIndexType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::ContinuousIndexType
 

Continuous index type recognized by the interpolator

Definition at line 81 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef TFeatureImageType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::FeatureImageType
 

Reimplemented in itk::CannySegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, itk::LaplacianSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >, and itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >.

Definition at line 61 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef FeatureImageType::PixelType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::FeatureScalarType
 

Reimplemented in itk::CannySegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, itk::LaplacianSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >, and itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >.

Definition at line 65 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef Superclass::FloatOffsetType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::FloatOffsetType
 

A floating point offset from an image grid location. Used for interpolation among grid values in a neighborhood.

Reimplemented from itk::LevelSetFunction< TImageType >.

Reimplemented in itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, and itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >.

Definition at line 62 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef Superclass::ImageType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::ImageType
 

Extract some parameters from the superclass.

Reimplemented from itk::LevelSetFunction< TImageType >.

Reimplemented in itk::CannySegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, itk::LaplacianSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >, and itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >.

Definition at line 59 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef ImageType::IndexType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::IndexType
 

Definition at line 66 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef LinearInterpolateImageFunction<FeatureImageType> itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::InterpolatorType
 

Define a scalar interpolator

Definition at line 75 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef Superclass::NeighborhoodType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::NeighborhoodType
 

The type of data structure that is passed to this function object to evaluate at a pixel that does not lie on a data set boundary.

Reimplemented from itk::LevelSetFunction< TImageType >.

Reimplemented in itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, and itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >.

Definition at line 64 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef SmartPointer<Self> itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::Pointer
 

Reimplemented from itk::LevelSetFunction< TImageType >.

Reimplemented in itk::CannySegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, itk::LaplacianSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >, and itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >.

Definition at line 52 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef Superclass::RadiusType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::RadiusType
 

Neighborhood radius type

Reimplemented from itk::LevelSetFunction< TImageType >.

Reimplemented in itk::CannySegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, itk::LaplacianSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >, and itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >.

Definition at line 60 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef Superclass::ScalarValueType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::ScalarValueType
 

Reimplemented from itk::LevelSetFunction< TImageType >.

Reimplemented in itk::CannySegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, itk::LaplacianSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >, and itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >.

Definition at line 63 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef SegmentationLevelSetFunction itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::Self
 

Standard class typedefs.

Reimplemented from itk::LevelSetFunction< TImageType >.

Reimplemented in itk::CannySegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, itk::LaplacianSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >, and itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >.

Definition at line 50 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef LevelSetFunction<TImageType> itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::Superclass
 

Reimplemented from itk::LevelSetFunction< TImageType >.

Reimplemented in itk::CannySegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, itk::LaplacianSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >, and itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >.

Definition at line 51 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef Image<VectorType, ::itk::GetImageDimension<TImageType>::ImageDimension > itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::VectorImageType
 

Define an image type for the advection field.

Reimplemented in itk::CannySegmentationLevelSetFunction< TImageType, TFeatureImageType >, and itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >.

Definition at line 71 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef VectorLinearInterpolateImageFunction<VectorImageType> itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::VectorInterpolatorType
 

Define a vector interpolator

Definition at line 78 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
typedef Superclass::VectorType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::VectorType
 

The vector type that will be used in the calculations.

Reimplemented from itk::LevelSetFunction< TImageType >.

Definition at line 67 of file itkSegmentationLevelSetFunction.h.


Constructor & Destructor Documentation

template<class TImageType, class TFeatureImageType = TImageType>
virtual itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::~SegmentationLevelSetFunction   [inline, protected, virtual]
 

Definition at line 149 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::SegmentationLevelSetFunction   [inline, protected]
 

Definition at line 150 of file itkSegmentationLevelSetFunction.h.


Member Function Documentation

template<class TImageType, class TFeatureImageType = TImageType>
virtual VectorType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::AdvectionField const NeighborhoodType  ,
const FloatOffsetType  
const [protected, virtual]
 

Advection field. Returns a vector from the computed advectionfield.

Reimplemented from itk::LevelSetFunctionBase< TImageType >.

template<class TImageType, class TFeatureImageType = TImageType>
virtual void itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::AllocateAdvectionImage   [virtual]
 

Allocates the image that will be used for the level set function's Advection field term. See LevelSetFunction for more information.

template<class TImageType, class TFeatureImageType = TImageType>
virtual void itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::AllocateSpeedImage   [virtual]
 

Allocates the image that will be used for the level set function's Propagation Speed term. See LevelSetFunction for more information.

template<class TImageType, class TFeatureImageType = TImageType>
virtual void itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::CalculateAdvectionImage   [inline, virtual]
 

This method must be defined in a subclass to implement a working function object. This method is called before the solver begins its work to produce the speed image used as the level set function's Advection field term. See LevelSetFunction for more information.

Reimplemented in itk::CannySegmentationLevelSetFunction< TImageType, TFeatureImageType >, and itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >.

Definition at line 116 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
virtual void itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::CalculateSpeedImage   [inline, virtual]
 

This method must be defined in a subclass to implement a working function object. This method is called before the solver begins its work to produce the speed image used as the level set function's Propagation speed term. See LevelSetFunction for more information.

Reimplemented in itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, itk::LaplacianSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >, and itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >.

Definition at line 110 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
virtual VectorImageType* itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::GetAdvectionImage   const [inline, virtual]
 

Get the image used as the advection field in the level set equation

Definition at line 98 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
virtual const char* itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::GetClassName   const [virtual]
 

Run-time type information (and related methods)

Reimplemented from itk::LevelSetFunction< TImageType >.

Reimplemented in itk::CannySegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, itk::LaplacianSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >, and itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >.

template<class TImageType, class TFeatureImageType = TImageType>
virtual FeatureImageType* itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::GetFeatureImage   const [inline, virtual]
 

Set/Get the image which will be used to calculate the speed function.

Definition at line 87 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
virtual ImageType* itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::GetSpeedImage   const [inline, virtual]
 

Get the image used as the speed function in the level set equation

Definition at line 94 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
virtual void itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::Initialize const RadiusType   r [virtual]
 

This method creates the appropriate member variable operators for the level-set calculations. The argument to this function is a the radius necessary for performing the level-set calculations.

Reimplemented from itk::LevelSetFunction< TImageType >.

Reimplemented in itk::CannySegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, itk::LaplacianSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >, and itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >.

template<class TImageType, class TFeatureImageType = TImageType>
itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::itkStaticConstMacro ImageDimension   ,
unsigned    int,
Superclass::ImageDimension   
 

Extract some parameters from the superclass.

Reimplemented from itk::LevelSetFunction< TImageType >.

Reimplemented in itk::CannySegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, itk::LaplacianSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >, and itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >.

template<class TImageType, class TFeatureImageType = TImageType>
virtual ScalarValueType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::PropagationSpeed const NeighborhoodType  ,
const FloatOffsetType  
const [protected, virtual]
 

Returns the propagation speed from the precalculated speed image.

Reimplemented from itk::LevelSetFunctionBase< TImageType >.

template<class TImageType, class TFeatureImageType = TImageType>
virtual void itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::SetFeatureImage FeatureImageType   f [inline, virtual]
 

Set/Get the image which will be used to calculate the speed function.

Definition at line 89 of file itkSegmentationLevelSetFunction.h.


Member Data Documentation

template<class TImageType, class TFeatureImageType = TImageType>
VectorImageType::Pointer itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::m_AdvectionImage [protected]
 

The image holding the advection field for front propation

Definition at line 134 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
FeatureImageType::Pointer itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::m_FeatureImage [protected]
 

The image whose features will be used to create a speed image

Definition at line 128 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
InterpolatorType::Pointer itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::m_Interpolator [protected]
 

Definition at line 158 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
ImageType::Pointer itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::m_SpeedImage [protected]
 

The image holding the speed values for front propagation

Definition at line 131 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
Functor::VectorCast< typename VectorInterpolatorType::OutputType, VectorType > itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::m_VectorCast [protected]
 

A casting functor to convert between vector types.

Definition at line 138 of file itkSegmentationLevelSetFunction.h.

template<class TImageType, class TFeatureImageType = TImageType>
VectorInterpolatorType::Pointer itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::m_VectorInterpolator [protected]
 

Definition at line 159 of file itkSegmentationLevelSetFunction.h.


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