#include <itkShapeDetectionLevelSetFunction.h>
Inheritance diagram for itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >:


, which has values close to zero in regions near edges (or high image gradient) and values close to one in regions with relatively constant intensity. Typically, the edge potential map is a function of the image gradient, for example:
where
is image intensity and
is the derivative of Gaussian operator.
The edge potential image is set via the SetFeatureImage() method.
In this function both the propagation term
and the curvature spatial modifier term
are taken directly from the edge potential image such that:
Note that there is no advection term in this function.
This implementation is based on: "Shape Modeling with Front Propagation: A Level Set Approach", R. Malladi, J. A. Sethian and B. C. Vermuri. IEEE Trans. on Pattern Analysis and Machine Intelligence, Vol 17, No. 2, pp 158-174, February 1995
SegmentationLevelSetImageFunction
Definition at line 70 of file itkShapeDetectionLevelSetFunction.h.
| typedef SmartPointer<const Self> itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >::ConstPointer |
Reimplemented from itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >.
Definition at line 78 of file itkShapeDetectionLevelSetFunction.h.
typedef InterpolatorType::ContinuousIndexType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::ContinuousIndexType [inherited] |
Continuous index type recognized by the interpolator
Reimplemented in itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >.
Definition at line 85 of file itkSegmentationLevelSetFunction.h.
typedef ZeroFluxNeumannBoundaryCondition<ImageType> itk::FiniteDifferenceFunction< TImageType >::DefaultBoundaryConditionType [inherited] |
The default boundary condition for finite difference functions that is used unless overridden in the Evaluate() method.
Definition at line 92 of file itkFiniteDifferenceFunction.h.
| typedef TFeatureImageType itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >::FeatureImageType |
Reimplemented from itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >.
Definition at line 79 of file itkShapeDetectionLevelSetFunction.h.
| typedef Superclass::FeatureScalarType itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >::FeatureScalarType |
Reimplemented from itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >.
Definition at line 91 of file itkShapeDetectionLevelSetFunction.h.
| typedef Superclass::FloatOffsetType itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >::FloatOffsetType |
A floating point offset from an image grid location. Used for interpolation among grid values in a neighborhood.
Reimplemented from itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >.
Definition at line 93 of file itkShapeDetectionLevelSetFunction.h.
| typedef Superclass::GlobalDataStruct itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >::GlobalDataStruct |
Reimplemented from itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >.
Definition at line 94 of file itkShapeDetectionLevelSetFunction.h.
| typedef Superclass::ImageType itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >::ImageType |
Extract some parameters from the superclass.
Reimplemented from itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >.
Definition at line 85 of file itkShapeDetectionLevelSetFunction.h.
typedef ImageType::IndexType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::IndexType [inherited] |
Reimplemented in itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >.
Definition at line 67 of file itkSegmentationLevelSetFunction.h.
typedef int itk::LightObject::InternalReferenceCountType [protected, inherited] |
Define the type of the reference count according to the target. This allows the use of atomic operations
Definition at line 139 of file itkLightObject.h.
typedef LinearInterpolateImageFunction<ImageType> itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::InterpolatorType [inherited] |
Define a scalar interpolator
Definition at line 79 of file itkSegmentationLevelSetFunction.h.
typedef Superclass::NeighborhoodScalesType itk::LevelSetFunction< TImageType >::NeighborhoodScalesType [inherited] |
The type of data structure that holds the scales with which the neighborhood is weighted to properly account for spacing and neighborhood radius.
Reimplemented from itk::FiniteDifferenceFunction< TImageType >.
Reimplemented in itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >.
Definition at line 91 of file itkLevelSetFunction.h.
| typedef Superclass::NeighborhoodType itk::ShapeDetectionLevelSetFunction< 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::SegmentationLevelSetFunction< TImageType, TFeatureImageType >.
Definition at line 89 of file itkShapeDetectionLevelSetFunction.h.
typedef Superclass::PixelRealType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::PixelRealType [inherited] |
Reimplemented from itk::LevelSetFunction< TImageType >.
Definition at line 61 of file itkSegmentationLevelSetFunction.h.
typedef Superclass::PixelType itk::LevelSetFunction< TImageType >::PixelType [inherited] |
Reimplemented from itk::FiniteDifferenceFunction< TImageType >.
Reimplemented in itk::CurvesLevelSetFunction< TImageType, TFeatureImageType >, and itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >.
Definition at line 86 of file itkLevelSetFunction.h.
| typedef SmartPointer<Self> itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >::Pointer |
Reimplemented from itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >.
Definition at line 77 of file itkShapeDetectionLevelSetFunction.h.
| typedef Superclass::RadiusType itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >::RadiusType |
Neighborhood radius type
Reimplemented from itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >.
Definition at line 92 of file itkShapeDetectionLevelSetFunction.h.
| typedef Superclass::ScalarValueType itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >::ScalarValueType |
Reimplemented from itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >.
Definition at line 90 of file itkShapeDetectionLevelSetFunction.h.
| typedef ShapeDetectionLevelSetFunction itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >::Self |
Standard class typedefs.
Reimplemented from itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >.
Definition at line 75 of file itkShapeDetectionLevelSetFunction.h.
| typedef SegmentationLevelSetFunction<TImageType, TFeatureImageType> itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >::Superclass |
Reimplemented from itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >.
Definition at line 76 of file itkShapeDetectionLevelSetFunction.h.
typedef double itk::LevelSetFunction< TImageType >::TimeStepType [inherited] |
Convenient typedefs.
Reimplemented from itk::FiniteDifferenceFunction< TImageType >.
Reimplemented in itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >, and itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >.
Definition at line 84 of file itkLevelSetFunction.h.
typedef Image<VectorType, itkGetStaticConstMacro(ImageDimension)> itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::VectorImageType [inherited] |
Define an image type for the advection field.
Reimplemented in itk::CannySegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::CurvesLevelSetFunction< TImageType, TFeatureImageType >, itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, itk::GeodesicActiveContourShapePriorLevelSetFunction< TImageType, TFeatureImageType >, and itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >.
Definition at line 75 of file itkSegmentationLevelSetFunction.h.
typedef VectorLinearInterpolateImageFunction<VectorImageType> itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::VectorInterpolatorType [inherited] |
Define a vector interpolator
Definition at line 82 of file itkSegmentationLevelSetFunction.h.
typedef Superclass::VectorType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::VectorType [inherited] |
The vector type that will be used in the calculations.
Reimplemented from itk::LevelSetFunction< TImageType >.
Definition at line 68 of file itkSegmentationLevelSetFunction.h.
| itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >::ShapeDetectionLevelSetFunction | ( | ) | [inline, protected] |
Definition at line 117 of file itkShapeDetectionLevelSetFunction.h.
| virtual itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >::~ShapeDetectionLevelSetFunction | ( | ) | [inline, protected, virtual] |
Definition at line 123 of file itkShapeDetectionLevelSetFunction.h.
| itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >::ShapeDetectionLevelSetFunction | ( | const Self & | ) | [protected] |
| virtual VectorType itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::AdvectionField | ( | const NeighborhoodType & | , | |
| const FloatOffsetType & | , | |||
| GlobalDataStruct * | gd | |||
| ) | const [protected, virtual, inherited] |
Advection field. Returns a vector from the computed advectionfield.
Reimplemented from itk::LevelSetFunction< TImageType >.
| virtual void itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::AllocateAdvectionImage | ( | ) | [virtual, inherited] |
Allocates the image that will be used for the level set function's Advection field term. See LevelSetFunction for more information.
| virtual void itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::AllocateSpeedImage | ( | ) | [virtual, inherited] |
Allocates the image that will be used for the level set function's Propagation Speed term. See LevelSetFunction for more information.
| static void itk::LightObject::BreakOnError | ( | ) | [static, inherited] |
This method is called when itkExceptionMacro executes. It allows the debugger to break on error.
| virtual void itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::CalculateAdvectionImage | ( | ) | [inline, virtual, inherited] |
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 >, itk::CurvesLevelSetFunction< TImageType, TFeatureImageType >, itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, and itk::GeodesicActiveContourShapePriorLevelSetFunction< TImageType, TFeatureImageType >.
Definition at line 122 of file itkSegmentationLevelSetFunction.h.
| virtual void itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >::CalculateSpeedImage | ( | ) | [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 from itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >.
| virtual ScalarValueType itk::LevelSetFunction< TImageType >::Compute3DMinimalCurvature | ( | const NeighborhoodType & | , | |
| const FloatOffsetType & | , | |||
| GlobalDataStruct * | gd = 0 | |||
| ) | [virtual, inherited] |
| virtual ScalarValueType itk::LevelSetFunction< TImageType >::ComputeCurvatureTerm | ( | const NeighborhoodType & | , | |
| const FloatOffsetType & | , | |||
| GlobalDataStruct * | gd = 0 | |||
| ) | [virtual, inherited] |
| virtual TimeStepType itk::LevelSetFunction< TImageType >::ComputeGlobalTimeStep | ( | void * | GlobalData | ) | const [virtual, inherited] |
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 >.
Reimplemented in itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >, and itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >.
| virtual ScalarValueType itk::LevelSetFunction< TImageType >::ComputeMeanCurvature | ( | const NeighborhoodType & | , | |
| const FloatOffsetType & | , | |||
| GlobalDataStruct * | gd = 0 | |||
| ) | [virtual, inherited] |
| virtual ScalarValueType itk::LevelSetFunction< TImageType >::ComputeMinimalCurvature | ( | const NeighborhoodType & | , | |
| const FloatOffsetType & | , | |||
| GlobalDataStruct * | gd = 0 | |||
| ) | [virtual, inherited] |
| const NeighborhoodScalesType itk::FiniteDifferenceFunction< TImageType >::ComputeNeighborhoodScales | ( | ) | const [inherited] |
Compute the scales that weight the neighborhood during difference operations to properly account for spacing and neighborhood radius
| virtual PixelType itk::LevelSetFunction< TImageType >::ComputeUpdate | ( | const NeighborhoodType & | neighborhood, | |
| void * | globalData, | |||
| const FloatOffsetType & | = FloatOffsetType(0.0) | |||
| ) | [virtual, inherited] |
Compute the equation value.
Implements itk::FiniteDifferenceFunction< TImageType >.
| virtual Pointer itk::LightObject::CreateAnother | ( | ) | const [virtual, inherited] |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented in itk::Object.
| virtual ScalarValueType itk::LevelSetFunction< TImageType >::CurvatureSpeed | ( | const NeighborhoodType & | , | |
| const FloatOffsetType & | , | |||
| GlobalDataStruct * | = 0 | |||
| ) | const [inline, virtual, inherited] |
Curvature speed. Can be used to spatially modify the effects of curvature . The default implementation returns one.
Definition at line 137 of file itkLevelSetFunction.h.
| virtual ScalarValueType itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >::CurvatureSpeed | ( | const NeighborhoodType & | neighborhood, | |
| const FloatOffsetType & | offset, | |||
| GlobalDataStruct * | gd | |||
| ) | const [inline, virtual] |
The curvature speed is same as the propagation speed.
Definition at line 103 of file itkShapeDetectionLevelSetFunction.h.
| virtual void itk::LightObject::Delete | ( | ) | [virtual, inherited] |
Delete an itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C delete method will not work with reference counting.
| virtual VectorImageType* itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::GetAdvectionImage | ( | ) | const [inline, virtual, inherited] |
Get/Set the image used as the advection field in the level set equation
Definition at line 101 of file itkSegmentationLevelSetFunction.h.
| ScalarValueType itk::LevelSetFunction< TImageType >::GetAdvectionWeight | ( | ) | const [inline, inherited] |
Definition at line 152 of file itkLevelSetFunction.h.
| ScalarValueType itk::LevelSetFunction< TImageType >::GetCurvatureWeight | ( | ) | const [inline, inherited] |
Definition at line 166 of file itkLevelSetFunction.h.
| ScalarValueType itk::LevelSetFunction< TImageType >::GetEpsilonMagnitude | ( | ) | const [inline, inherited] |
Definition at line 180 of file itkLevelSetFunction.h.
| virtual const FeatureImageType* itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::GetFeatureImage | ( | ) | const [inline, virtual, inherited] |
Set/Get the image which will be used to calculate the speed function.
Definition at line 88 of file itkSegmentationLevelSetFunction.h.
| virtual void* itk::LevelSetFunction< TImageType >::GetGlobalDataPointer | ( | ) | const [inline, virtual, inherited] |
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. Global data can be used for caching any values used or reused by the FunctionObject. Each thread should receive its own global data struct.
Implements itk::FiniteDifferenceFunction< TImageType >.
Reimplemented in itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >.
Definition at line 204 of file itkLevelSetFunction.h.
References itk::LevelSetFunction< TImageType >::GlobalDataStruct::m_MaxAdvectionChange, itk::LevelSetFunction< TImageType >::GlobalDataStruct::m_MaxCurvatureChange, and itk::LevelSetFunction< TImageType >::GlobalDataStruct::m_MaxPropagationChange.
| ScalarValueType itk::LevelSetFunction< TImageType >::GetLaplacianSmoothingWeight | ( | ) | const [inline, inherited] |
Definition at line 173 of file itkLevelSetFunction.h.
| static double itk::LevelSetFunction< TImageType >::GetMaximumCurvatureTimeStep | ( | ) | [inline, static, inherited] |
Definition at line 274 of file itkLevelSetFunction.h.
| static double itk::LevelSetFunction< TImageType >::GetMaximumPropagationTimeStep | ( | ) | [inline, static, inherited] |
Definition at line 288 of file itkLevelSetFunction.h.
| virtual const char* itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods)
Reimplemented from itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >.
| ScalarValueType itk::LevelSetFunction< TImageType >::GetPropagationWeight | ( | ) | const [inline, inherited] |
Definition at line 159 of file itkLevelSetFunction.h.
| const RadiusType& itk::FiniteDifferenceFunction< TImageType >::GetRadius | ( | void | ) | const [inline, inherited] |
Returns the radius of the neighborhood this FiniteDifferenceFunction needs to perform its calculations.
Definition at line 146 of file itkFiniteDifferenceFunction.h.
| virtual int itk::LightObject::GetReferenceCount | ( | ) | const [inline, virtual, inherited] |
Gets the reference count on this object.
Definition at line 106 of file itkLightObject.h.
| virtual ImageType* itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >::GetSpeedImage | ( | ) | [inline, virtual, inherited] |
Get/Set the image used as the speed function in the level set equation
Definition at line 95 of file itkSegmentationLevelSetFunction.h.
| bool itk::LevelSetFunction< TImageType >::GetUseMinimalCurvature | ( | ) | const [inline, inherited] |
D