#include <itkLevelSetFunction.h>
Inheritance diagram for itk::LevelSetFunction:
Public Types | |
typedef LevelSetFunction | Self |
typedef LevelSetFunctionBase< TImageType > | Superclass |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::ImageType | ImageType |
typedef Superclass::PixelType | PixelType |
typedef Superclass::TimeStepType | TimeStepType |
typedef Superclass::ScalarValueType | ScalarValueType |
typedef Superclass::RadiusType | RadiusType |
typedef Superclass::NeighborhoodType | NeighborhoodType |
typedef Superclass::VectorType | VectorType |
typedef Superclass::FloatOffsetType | FloatOffsetType |
Public Methods | |
virtual const char * | GetClassName () const |
itkStaticConstMacro (ImageDimension, unsigned int, Superclass::ImageDimension) | |
virtual PixelType | ComputeUpdate (const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &=FloatOffsetType(0.0)) const |
virtual TimeStepType | ComputeGlobalTimeStep (void *GlobalData) const |
virtual void | Initialize (const RadiusType &r) |
virtual void | ReleaseGlobalDataPointer (void *GlobalData) const |
virtual void * | GetGlobalDataPointer () const |
Static Public Methods | |
Pointer | New () |
Protected Methods | |
LevelSetFunction () | |
~LevelSetFunction () | |
void | PrintSelf (std::ostream &os, Indent indent) const |
Static Protected Attributes | |
double | m_WaveDT |
double | m_DT |
LevelSetFunction implements a generic level set function. This function is an expanded form of the basic equation developed in [1].
where is an advection term, is a propagation (growth) term, and is a spatial modifier term for the mean curvature . , , and are all scalar constants.
Terms in the equation above are supplied through virtual methods, which must be subclassed to complete an implementation. Terms can be eliminated from the equation by setting the corresponding constants to zero. A wide variety of level set methods can be implemented by subclassing this basic equation.
In ITK, the usual sign convention is that the INSIDE of a surface contains POSITIVE values and the OUTSIDE of the surface contains NEGATIVE values.
[1] Sethian, J.A. Level Set Methods. Cambridge University Press. 1996.
Definition at line 60 of file itkLevelSetFunction.h.
|
|
A floating point offset from an image grid location. Used for interpolation among grid values in a neighborhood. Reimplemented from itk::LevelSetFunctionBase< TImageType >. Reimplemented in itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >, itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >, and itk::SegmentationLevelSetFunction< OutputImageType, FeatureImageType >. Definition at line 89 of file itkLevelSetFunction.h. |
|
|
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::LevelSetFunctionBase< TImageType >. Reimplemented in itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >, itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >, and itk::SegmentationLevelSetFunction< OutputImageType, FeatureImageType >. Definition at line 87 of file itkLevelSetFunction.h. |
|
Convenient typedefs. Reimplemented from itk::LevelSetFunctionBase< TImageType >. Definition at line 83 of file itkLevelSetFunction.h. |
|
|
|
|
|
|
Extract some parameters from the image type. Reimplemented from itk::LevelSetFunctionBase< TImageType >. Definition at line 84 of file itkLevelSetFunction.h. |
|
The vector type that will be used in the calculations. Reimplemented from itk::LevelSetFunctionBase< TImageType >. Reimplemented in itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >, and itk::SegmentationLevelSetFunction< OutputImageType, FeatureImageType >. Definition at line 88 of file itkLevelSetFunction.h. |
|
Definition at line 139 of file itkLevelSetFunction.h. |
|
Definition at line 140 of file itkLevelSetFunction.h. |
|
Computes the time step for an update given a global data structure. The data used in the computation may take different forms depending on the nature of the equations. This global data cannot be kept in the instance of the equation object itself since the equation object must remain stateless for thread safety. The global data is therefore managed for each thread by the finite difference solver filters. Implements itk::FiniteDifferenceFunction< TImageType >. |
|
Compute the equation value. Implements itk::FiniteDifferenceFunction< TImageType >. |
|
|
Returns a pointer to a global data structure that is passed to this object from the solver at each calculation. The idea is that the solver holds the state of any global values needed to calculate the time step, while the equation object performs the actual calculations. The global data should also be initialized in this method. Implements itk::FiniteDifferenceFunction< TImageType >. Definition at line 109 of file itkLevelSetFunction.h. |
|
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. Implements itk::LevelSetFunctionBase< TImageType >. Reimplemented in itk::CannySegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, itk::LaplacianSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >, itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >, and itk::SegmentationLevelSetFunction< OutputImageType, FeatureImageType >. |
|
|
Method for creation through the object factory. Reimplemented from itk::LightObject. Reimplemented in itk::CannySegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, itk::LaplacianSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >, and itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >. |
|
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::LevelSetFunctionBase< 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 141 of file itkLevelSetFunction.h. |
|
When the finite difference solver filter has finished using a global data pointer, it passes it to this method, which frees the memory. The solver cannot free the memory because it does not know the type to which the pointer points. Implements itk::FiniteDifferenceFunction< TImageType >. Definition at line 127 of file itkLevelSetFunction.h. |
|
Definition at line 150 of file itkLevelSetFunction.h. |
|
Constants used in the time step calculation. Definition at line 149 of file itkLevelSetFunction.h. |