ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches

#include <itkLevelSetFunction.h>

Detailed Description

template<typename TImageType>
class itk::LevelSetFunction< TImageType >

The LevelSetFunction class is a generic function object which can be used to create a level set method filter when combined with an appropriate finite difference image filter. (See FiniteDifferenceImageFilter.)

LevelSetFunction implements a generic level set function. This function is an expanded form of the basic equation developed in [94].

\(\phi_{t} + \alpha \stackrel{\rightharpoonup}{A}(\mathbf{x})\cdot\nabla\phi + \beta P(\mathbf{x})\mid\nabla\phi\mid = \gamma Z(\mathbf{x})\kappa\mid\nabla\phi\mid\)

where \( \stackrel{\rightharpoonup}{A} \) is an advection term, \( P \) is a propagation (growth) term, and \( Z \) is a spatial modifier term for the mean curvature \( \kappa \). \( \alpha \), \( \beta \), and \(\gamma \) 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 NEGATIVE values and the OUTSIDE of the surface contains POSITIVE values.

Warning
You MUST call Initialize() in the constructor of subclasses of this object to set it up properly to do level-set Calculations. The argument that you pass Initialize is the radius of the neighborhood needed to perform the calculations. If your subclass does not do any additional neighborhood processing, then the default radius should be 1 in each direction.

Definition at line 62 of file itkLevelSetFunction.h.

+ Inheritance diagram for itk::LevelSetFunction< TImageType >:
+ Collaboration diagram for itk::LevelSetFunction< TImageType >:

Classes

struct  GlobalDataStruct
 

Public Types

using ConstPointer = SmartPointer<const Self>
 
using FloatOffsetType
 
using ImageType
 
using NeighborhoodScalesType
 
using NeighborhoodType
 
using PixelRealType
 
using PixelType
 
using Pointer = SmartPointer<Self>
 
using RadiusType
 
using ScalarValueType = PixelType
 
using Self = LevelSetFunction
 
using Superclass = FiniteDifferenceFunction<TImageType>
 
using TimeStepType = double
 
using VectorType = FixedArray<ScalarValueType, Self::ImageDimension>
 
- Public Types inherited from itk::FiniteDifferenceFunction< TImageType >
using ConstPointer = SmartPointer<const Self>
 
using DefaultBoundaryConditionType = ZeroFluxNeumannBoundaryCondition<ImageType>
 
using FloatOffsetType = Vector<float, Self::ImageDimension>
 
using ImageType = TImageType
 
using NeighborhoodScalesType = Vector<PixelRealType, Self::ImageDimension>
 
using NeighborhoodType = ConstNeighborhoodIterator<TImageType, DefaultBoundaryConditionType>
 
using PixelRealType = double
 
using PixelType = typename ImageType::PixelType
 
using Pointer = SmartPointer<Self>
 
using RadiusType = typename ConstNeighborhoodIterator<TImageType>::RadiusType
 
using Self = FiniteDifferenceFunction
 
using Superclass = LightObject
 
using TimeStepType = double
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer<const Self>
 
using Pointer = SmartPointer<Self>
 
using Self = LightObject
 

Public Member Functions

virtual VectorType AdvectionField (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const
 
virtual ScalarValueType Compute3DMinimalCurvature (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd=0)
 
virtual ScalarValueType ComputeCurvatureTerm (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd=0)
 
TimeStepType ComputeGlobalTimeStep (void *GlobalData) const override
 
virtual ScalarValueType ComputeMeanCurvature (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd=0)
 
virtual ScalarValueType ComputeMinimalCurvature (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd=0)
 
PixelType ComputeUpdate (const NeighborhoodType &it, void *globalData, const FloatOffsetType &=FloatOffsetType(0.0)) override
 
virtual::itk::LightObject::Pointer CreateAnother () const
 
virtual ScalarValueType CurvatureSpeed (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=nullptr) const
 
void * GetGlobalDataPointer () const override
 
const char * GetNameOfClass () const override
 
bool GetUseMinimalCurvature () const
 
virtual void Initialize (const RadiusType &r)
 
virtual ScalarValueType LaplacianSmoothingSpeed (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const
 
virtual ScalarValueType PropagationSpeed (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const
 
void ReleaseGlobalDataPointer (void *GlobalData) const override
 
void SetUseMinimalCurvature (bool b)
 
void UseMinimalCurvatureOff ()
 
void UseMinimalCurvatureOn ()
 
virtual void SetAdvectionWeight (const ScalarValueType a)
 
ScalarValueType GetAdvectionWeight () const
 
virtual void SetPropagationWeight (const ScalarValueType p)
 
ScalarValueType GetPropagationWeight () const
 
virtual void SetCurvatureWeight (const ScalarValueType c)
 
ScalarValueType GetCurvatureWeight () const
 
void SetLaplacianSmoothingWeight (const ScalarValueType c)
 
ScalarValueType GetLaplacianSmoothingWeight () const
 
void SetEpsilonMagnitude (const ScalarValueType e)
 
ScalarValueType GetEpsilonMagnitude () const
 
- Public Member Functions inherited from itk::FiniteDifferenceFunction< TImageType >
const NeighborhoodScalesType ComputeNeighborhoodScales () const
 
const RadiusTypeGetRadius () const
 
void GetScaleCoefficients (PixelRealType vals[ImageDimension]) const
 
virtual void InitializeIteration ()
 
void SetRadius (const RadiusType &r)
 
void SetScaleCoefficients (const PixelRealType vals[ImageDimension])
 
- Public Member Functions inherited from itk::LightObject
Pointer Clone () const
 
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
void Print (std::ostream &os, Indent indent=0) const
 
virtual void Register () const
 
virtual void SetReferenceCount (int)
 
virtual void UnRegister () const noexcept
 

Static Public Member Functions

static double GetMaximumCurvatureTimeStep ()
 
static double GetMaximumPropagationTimeStep ()
 
static Pointer New ()
 
static void SetMaximumCurvatureTimeStep (double n)
 
static void SetMaximumPropagationTimeStep (double n)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Static Public Attributes

static constexpr unsigned int ImageDimension = Superclass::ImageDimension
 
- Static Public Attributes inherited from itk::FiniteDifferenceFunction< TImageType >
static constexpr unsigned int ImageDimension = ImageType::ImageDimension
 

Protected Member Functions

 LevelSetFunction ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~LevelSetFunction () override=default
 
- Protected Member Functions inherited from itk::FiniteDifferenceFunction< TImageType >
 FiniteDifferenceFunction ()
 
 ~FiniteDifferenceFunction () override=default
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Static Protected Member Functions

static VectorType InitializeZeroVectorConstant ()
 

Protected Attributes

ScalarValueType m_AdvectionWeight {}
 
OffsetValueType m_Center { 0 }
 
ScalarValueType m_CurvatureWeight {}
 
ScalarValueType m_EpsilonMagnitude {}
 
ScalarValueType m_LaplacianSmoothingWeight {}
 
ScalarValueType m_PropagationWeight {}
 
bool m_UseMinimalCurvature { false }
 
OffsetValueType m_xStride [Self::ImageDimension] {}
 
std::slice x_slice [Self::ImageDimension]
 
- Protected Attributes inherited from itk::FiniteDifferenceFunction< TImageType >
RadiusType m_Radius {}
 
PixelRealType m_ScaleCoefficients [ImageDimension] {}
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount {}
 

Static Protected Attributes

static double m_DT
 
static double m_WaveDT
 
static VectorType m_ZeroVectorConstant
 

Member Typedef Documentation

◆ ConstPointer

template<typename TImageType>
using itk::LevelSetFunction< TImageType >::ConstPointer = SmartPointer<const Self>

Definition at line 71 of file itkLevelSetFunction.h.

◆ FloatOffsetType

template<typename TImageType>
using itk::FiniteDifferenceFunction< TImageType >::FloatOffsetType

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

Definition at line 109 of file itkFiniteDifferenceFunction.h.

◆ ImageType

template<typename TImageType>
using itk::FiniteDifferenceFunction< TImageType >::ImageType

Extract some parameters from the image type

Definition at line 82 of file itkFiniteDifferenceFunction.h.

◆ NeighborhoodScalesType

template<typename TImageType>
using itk::FiniteDifferenceFunction< TImageType >::NeighborhoodScalesType

The type of data structure that holds the scales with which the neighborhood is weighted to properly account for spacing and neighborhood radius.

Definition at line 105 of file itkFiniteDifferenceFunction.h.

◆ NeighborhoodType

template<typename TImageType>
using itk::FiniteDifferenceFunction< TImageType >::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.

Definition at line 101 of file itkFiniteDifferenceFunction.h.

◆ PixelRealType

template<typename TImageType>
using itk::FiniteDifferenceFunction< TImageType >::PixelRealType

Definition at line 84 of file itkFiniteDifferenceFunction.h.

◆ PixelType

template<typename TImageType>
using itk::FiniteDifferenceFunction< TImageType >::PixelType

Definition at line 83 of file itkFiniteDifferenceFunction.h.

◆ Pointer

template<typename TImageType>
using itk::LevelSetFunction< TImageType >::Pointer = SmartPointer<Self>

Definition at line 70 of file itkLevelSetFunction.h.

◆ RadiusType

template<typename TImageType>
using itk::FiniteDifferenceFunction< TImageType >::RadiusType

Neighborhood radius type

Definition at line 97 of file itkFiniteDifferenceFunction.h.

◆ ScalarValueType

template<typename TImageType>
using itk::LevelSetFunction< TImageType >::ScalarValueType = PixelType

Definition at line 86 of file itkLevelSetFunction.h.

◆ Self

template<typename TImageType>
using itk::LevelSetFunction< TImageType >::Self = LevelSetFunction

Standard class type aliases.

Definition at line 68 of file itkLevelSetFunction.h.

◆ Superclass

template<typename TImageType>
using itk::LevelSetFunction< TImageType >::Superclass = FiniteDifferenceFunction<TImageType>

Definition at line 69 of file itkLevelSetFunction.h.

◆ TimeStepType

template<typename TImageType>
using itk::LevelSetFunction< TImageType >::TimeStepType = double

Convenient type alias.

Definition at line 83 of file itkLevelSetFunction.h.

◆ VectorType

template<typename TImageType>
using itk::LevelSetFunction< TImageType >::VectorType = FixedArray<ScalarValueType, Self::ImageDimension>

The vector type that will be used in the calculations.

Definition at line 95 of file itkLevelSetFunction.h.

Constructor & Destructor Documentation

◆ LevelSetFunction()

template<typename TImageType>
itk::LevelSetFunction< TImageType >::LevelSetFunction ( )
inlineprotected

◆ ~LevelSetFunction()

template<typename TImageType>
itk::LevelSetFunction< TImageType >::~LevelSetFunction ( )
overrideprotecteddefault

Member Function Documentation

◆ AdvectionField()

template<typename TImageType>
virtual VectorType itk::LevelSetFunction< TImageType >::AdvectionField ( const NeighborhoodType & ,
const FloatOffsetType & ,
GlobalDataStruct * = 0 ) const
inlinevirtual

◆ Compute3DMinimalCurvature()

template<typename TImageType>
virtual ScalarValueType itk::LevelSetFunction< TImageType >::Compute3DMinimalCurvature ( const NeighborhoodType & ,
const FloatOffsetType & ,
GlobalDataStruct * gd = 0 )
virtual

◆ ComputeCurvatureTerm()

template<typename TImageType>
virtual ScalarValueType itk::LevelSetFunction< TImageType >::ComputeCurvatureTerm ( const NeighborhoodType & ,
const FloatOffsetType & ,
GlobalDataStruct * gd = 0 )
virtual

◆ ComputeGlobalTimeStep()

◆ ComputeMeanCurvature()

template<typename TImageType>
virtual ScalarValueType itk::LevelSetFunction< TImageType >::ComputeMeanCurvature ( const NeighborhoodType & ,
const FloatOffsetType & ,
GlobalDataStruct * gd = 0 )
virtual

◆ ComputeMinimalCurvature()

template<typename TImageType>
virtual ScalarValueType itk::LevelSetFunction< TImageType >::ComputeMinimalCurvature ( const NeighborhoodType & ,
const FloatOffsetType & ,
GlobalDataStruct * gd = 0 )
virtual

◆ ComputeUpdate()

◆ CreateAnother()

template<typename TImageType>
virtual::itk::LightObject::Pointer itk::LevelSetFunction< TImageType >::CreateAnother ( ) const
virtual

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 from itk::LightObject.

Reimplemented in itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >, itk::LevelSetFunctionWithRefitTerm< OutputImageType, SparseImageType >, itk::LevelSetFunctionWithRefitTerm< OutputImageType, SparseImageType >, itk::LevelSetFunctionWithRefitTerm< TOutputImage, SparseImageType >, itk::LevelSetFunctionWithRefitTerm< TOutputImage, SparseImageType >, itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapeDetectionLevelSetFunction< OutputImageType, FeatureImageType >, itk::ShapeDetectionLevelSetFunction< OutputImageType, FeatureImageType >, itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapePriorSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::ShapePriorSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapePriorSegmentationLevelSetFunction< TImageType, TImageType >, itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::ThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::VectorThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::VectorThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, and itk::VectorThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >.

◆ CurvatureSpeed()

template<typename TImageType>
virtual ScalarValueType itk::LevelSetFunction< TImageType >::CurvatureSpeed ( const NeighborhoodType & ,
const FloatOffsetType & ,
GlobalDataStruct * = nullptr ) const
inlinevirtual

◆ GetAdvectionWeight()

template<typename TImageType>
ScalarValueType itk::LevelSetFunction< TImageType >::GetAdvectionWeight ( ) const
inline

Alpha. Scales all advection term values.

Definition at line 158 of file itkLevelSetFunction.h.

References m_AdvectionWeight.

◆ GetCurvatureWeight()

template<typename TImageType>
ScalarValueType itk::LevelSetFunction< TImageType >::GetCurvatureWeight ( ) const
inline

Gamma. Scales all curvature weight values

Definition at line 184 of file itkLevelSetFunction.h.

References m_CurvatureWeight.

◆ GetEpsilonMagnitude()

template<typename TImageType>
ScalarValueType itk::LevelSetFunction< TImageType >::GetEpsilonMagnitude ( ) const
inline

Epsilon.

Definition at line 210 of file itkLevelSetFunction.h.

References m_EpsilonMagnitude.

◆ GetGlobalDataPointer()

template<typename TImageType>
void * itk::LevelSetFunction< TImageType >::GetGlobalDataPointer ( ) const
inlineoverridevirtual

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 >, itk::ShapePriorSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::ShapePriorSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >, and itk::ShapePriorSegmentationLevelSetFunction< TImageType, TImageType >.

Definition at line 239 of file itkLevelSetFunction.h.

◆ GetLaplacianSmoothingWeight()

template<typename TImageType>
ScalarValueType itk::LevelSetFunction< TImageType >::GetLaplacianSmoothingWeight ( ) const
inline

Weight of the laplacian smoothing term

Definition at line 197 of file itkLevelSetFunction.h.

References m_LaplacianSmoothingWeight.

◆ GetMaximumCurvatureTimeStep()

template<typename TImageType>
static double itk::LevelSetFunction< TImageType >::GetMaximumCurvatureTimeStep ( )
inlinestatic

Definition at line 314 of file itkLevelSetFunction.h.

References m_DT.

◆ GetMaximumPropagationTimeStep()

template<typename TImageType>
static double itk::LevelSetFunction< TImageType >::GetMaximumPropagationTimeStep ( )
inlinestatic

Definition at line 330 of file itkLevelSetFunction.h.

References m_WaveDT.

◆ GetNameOfClass()

template<typename TImageType>
const char * itk::LevelSetFunction< TImageType >::GetNameOfClass ( ) const
overridevirtual
See also
LightObject::GetNameOfClass()

Reimplemented from itk::FiniteDifferenceFunction< TImageType >.

Reimplemented in itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >, itk::LevelSetFunctionWithRefitTerm< OutputImageType, SparseImageType >, itk::LevelSetFunctionWithRefitTerm< OutputImageType, SparseImageType >, itk::LevelSetFunctionWithRefitTerm< TOutputImage, SparseImageType >, itk::LevelSetFunctionWithRefitTerm< TOutputImage, SparseImageType >, itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::SegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::SegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::SegmentationLevelSetFunction< TImageType, TImageType >, itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapeDetectionLevelSetFunction< OutputImageType, FeatureImageType >, itk::ShapeDetectionLevelSetFunction< OutputImageType, FeatureImageType >, itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapePriorSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::ShapePriorSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapePriorSegmentationLevelSetFunction< TImageType, TImageType >, itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::ThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::VectorThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::VectorThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, and itk::VectorThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >.

References LevelSetFunction().

◆ GetPropagationWeight()

template<typename TImageType>
ScalarValueType itk::LevelSetFunction< TImageType >::GetPropagationWeight ( ) const
inline

Beta. Scales all propagation term values.

Definition at line 171 of file itkLevelSetFunction.h.

References m_PropagationWeight.

◆ GetUseMinimalCurvature()

template<typename TImageType>
bool itk::LevelSetFunction< TImageType >::GetUseMinimalCurvature ( ) const
inline

Definition at line 286 of file itkLevelSetFunction.h.

References m_UseMinimalCurvature.

◆ Initialize()

template<typename TImageType>
virtual void itk::LevelSetFunction< TImageType >::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 in itk::CannySegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::CannySegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::CannySegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::CurvesLevelSetFunction< TImageType, TFeatureImageType >, itk::CurvesLevelSetFunction< OutputImageType, FeatureImageType >, itk::CurvesLevelSetFunction< OutputImageType, FeatureImageType >, itk::GeodesicActiveContourLevelSetFunction< TImageType, TFeatureImageType >, itk::GeodesicActiveContourLevelSetFunction< OutputImageType, FeatureImageType >, itk::GeodesicActiveContourLevelSetFunction< OutputImageType, FeatureImageType >, itk::GeodesicActiveContourShapePriorLevelSetFunction< TImageType, TFeatureImageType >, itk::GeodesicActiveContourShapePriorLevelSetFunction< OutputImageType, FeatureImageType >, itk::GeodesicActiveContourShapePriorLevelSetFunction< OutputImageType, FeatureImageType >, itk::LaplacianSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::LaplacianSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::LaplacianSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::SegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::SegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::SegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::SegmentationLevelSetFunction< TImageType, TImageType >, itk::ShapeDetectionLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapeDetectionLevelSetFunction< OutputImageType, FeatureImageType >, itk::ShapeDetectionLevelSetFunction< OutputImageType, FeatureImageType >, itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::ThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::VectorThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::VectorThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, and itk::VectorThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >.

Referenced by itk::GeodesicActiveContourShapePriorLevelSetFunction< OutputImageType, FeatureImageType >::Initialize().

◆ InitializeZeroVectorConstant()

template<typename TImageType>
static VectorType itk::LevelSetFunction< TImageType >::InitializeZeroVectorConstant ( )
staticprotected

This method's only purpose is to initialize the zero vector constant.

◆ LaplacianSmoothingSpeed()

template<typename TImageType>
virtual ScalarValueType itk::LevelSetFunction< TImageType >::LaplacianSmoothingSpeed ( const NeighborhoodType & ,
const FloatOffsetType & ,
GlobalDataStruct * = 0 ) const
inlinevirtual

Laplacian smoothing speed. Can be used to spatially modify the effects of laplacian smoothing of the level set function

Definition at line 146 of file itkLevelSetFunction.h.

References itk::NumericTraits< T >::OneValue().

◆ New()

template<typename TImageType>
static Pointer itk::LevelSetFunction< TImageType >::New ( )
static

Method for creation through the object factory.

◆ PrintSelf()

template<typename TImageType>
void itk::LevelSetFunction< TImageType >::PrintSelf ( std::ostream & os,
Indent indent ) const
overrideprotectedvirtual

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::FiniteDifferenceFunction< TImageType >.

Reimplemented in itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >, itk::LevelSetFunctionWithRefitTerm< OutputImageType, SparseImageType >, itk::LevelSetFunctionWithRefitTerm< OutputImageType, SparseImageType >, itk::LevelSetFunctionWithRefitTerm< TOutputImage, SparseImageType >, itk::LevelSetFunctionWithRefitTerm< TOutputImage, SparseImageType >, itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapePriorSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::ShapePriorSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ShapePriorSegmentationLevelSetFunction< TImageType, TImageType >, itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::ThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::ThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, itk::VectorThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::VectorThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, and itk::VectorThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >.

◆ PropagationSpeed()

template<typename TImageType>
virtual ScalarValueType itk::LevelSetFunction< TImageType >::PropagationSpeed ( const NeighborhoodType & ,
const FloatOffsetType & ,
GlobalDataStruct * = 0 ) const
inlinevirtual

◆ ReleaseGlobalDataPointer()

template<typename TImageType>
void itk::LevelSetFunction< TImageType >::ReleaseGlobalDataPointer ( void * GlobalData) const
inlineoverridevirtual

◆ SetAdvectionWeight()

template<typename TImageType>
virtual void itk::LevelSetFunction< TImageType >::SetAdvectionWeight ( const ScalarValueType a)
inlinevirtual

Alpha. Scales all advection term values.

Reimplemented in itk::LaplacianSegmentationLevelSetFunction< TImageType, TFeatureImageType >, itk::LaplacianSegmentationLevelSetFunction< OutputImageType, FeatureImageType >, and itk::LaplacianSegmentationLevelSetFunction< OutputImageType, FeatureImageType >.

Definition at line 153 of file itkLevelSetFunction.h.

References m_AdvectionWeight.

Referenced by itk::CurvesLevelSetFunction< OutputImageType, FeatureImageType >::CurvesLevelSetFunction(), itk::GeodesicActiveContourLevelSetFunction< OutputImageType, FeatureImageType >::GeodesicActiveContourLevelSetFunction(), itk::GeodesicActiveContourShapePriorLevelSetFunction< OutputImageType, FeatureImageType >::GeodesicActiveContourShapePriorLevelSetFunction(), itk::CannySegmentationLevelSetFunction< OutputImageType, FeatureImageType >::Initialize(), itk::GeodesicActiveContourLevelSetFunction< OutputImageType, FeatureImageType >::Initialize(), itk::GeodesicActiveContourShapePriorLevelSetFunction< OutputImageType, FeatureImageType >::Initialize(), itk::ShapeDetectionLevelSetFunction< OutputImageType, FeatureImageType >::Initialize(), itk::ThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >::Initialize(), itk::VectorThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >::Initialize(), itk::LaplacianSegmentationLevelSetFunction< OutputImageType, FeatureImageType >::SetAdvectionWeight(), itk::ShapeDetectionLevelSetFunction< OutputImageType, FeatureImageType >::ShapeDetectionLevelSetFunction(), itk::ThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >::ThresholdSegmentationLevelSetFunction(), and itk::VectorThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >::VectorThresholdSegmentationLevelSetFunction().

◆ SetCurvatureWeight()

template<typename TImageType>
virtual void itk::LevelSetFunction< TImageType >::SetCurvatureWeight ( const ScalarValueType c)
inlinevirtual

Gamma. Scales all curvature weight values

Definition at line 179 of file itkLevelSetFunction.h.

References m_CurvatureWeight.

Referenced by itk::CurvesLevelSetFunction< OutputImageType, FeatureImageType >::CurvesLevelSetFunction(), itk::GeodesicActiveContourLevelSetFunction< OutputImageType, FeatureImageType >::GeodesicActiveContourLevelSetFunction(), itk::GeodesicActiveContourShapePriorLevelSetFunction< OutputImageType, FeatureImageType >::GeodesicActiveContourShapePriorLevelSetFunction(), itk::CannySegmentationLevelSetFunction< OutputImageType, FeatureImageType >::Initialize(), itk::GeodesicActiveContourLevelSetFunction< OutputImageType, FeatureImageType >::Initialize(), itk::GeodesicActiveContourShapePriorLevelSetFunction< OutputImageType, FeatureImageType >::Initialize(), itk::LaplacianSegmentationLevelSetFunction< OutputImageType, FeatureImageType >::Initialize(), itk::ShapeDetectionLevelSetFunction< OutputImageType, FeatureImageType >::Initialize(), itk::ThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >::Initialize(), itk::VectorThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >::Initialize(), itk::LaplacianSegmentationLevelSetFunction< OutputImageType, FeatureImageType >::LaplacianSegmentationLevelSetFunction(), itk::ShapeDetectionLevelSetFunction< OutputImageType, FeatureImageType >::ShapeDetectionLevelSetFunction(), and itk::ThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >::ThresholdSegmentationLevelSetFunction().

◆ SetEpsilonMagnitude()

template<typename TImageType>
void itk::LevelSetFunction< TImageType >::SetEpsilonMagnitude ( const ScalarValueType e)
inline

Epsilon.

Definition at line 205 of file itkLevelSetFunction.h.

References m_EpsilonMagnitude.

◆ SetLaplacianSmoothingWeight()

template<typename TImageType>
void itk::LevelSetFunction< TImageType >::SetLaplacianSmoothingWeight ( const ScalarValueType c)
inline

Weight of the laplacian smoothing term

Definition at line 192 of file itkLevelSetFunction.h.

References m_LaplacianSmoothingWeight.

◆ SetMaximumCurvatureTimeStep()

template<typename TImageType>
static void itk::LevelSetFunction< TImageType >::SetMaximumCurvatureTimeStep ( double n)
inlinestatic

Set/Get the maximum constraint for the curvature term factor in the time step calculation. Changing this value from the default is not recommended or necessary, but can be used to speed up the surface evolution at the risk of creating an unstable solution.

Definition at line 308 of file itkLevelSetFunction.h.

References m_DT.

◆ SetMaximumPropagationTimeStep()

template<typename TImageType>
static void itk::LevelSetFunction< TImageType >::SetMaximumPropagationTimeStep ( double n)
inlinestatic

Set/Get the maximum constraint for the scalar/vector term factor of the time step calculation. Changing this value from the default is not recommended or necessary, but can be used to speed up the surface evolution at the risk of creating an unstable solution.

Definition at line 324 of file itkLevelSetFunction.h.

References m_WaveDT.

◆ SetPropagationWeight()

template<typename TImageType>
virtual void itk::LevelSetFunction< TImageType >::SetPropagationWeight ( const ScalarValueType p)
inlinevirtual

Beta. Scales all propagation term values.

Definition at line 166 of file itkLevelSetFunction.h.

References m_PropagationWeight.

Referenced by itk::CurvesLevelSetFunction< OutputImageType, FeatureImageType >::CurvesLevelSetFunction(), itk::GeodesicActiveContourLevelSetFunction< OutputImageType, FeatureImageType >::GeodesicActiveContourLevelSetFunction(), itk::GeodesicActiveContourShapePriorLevelSetFunction< OutputImageType, FeatureImageType >::GeodesicActiveContourShapePriorLevelSetFunction(), itk::CannySegmentationLevelSetFunction< OutputImageType, FeatureImageType >::Initialize(), itk::GeodesicActiveContourLevelSetFunction< OutputImageType, FeatureImageType >::Initialize(), itk::GeodesicActiveContourShapePriorLevelSetFunction< OutputImageType, FeatureImageType >::Initialize(), itk::LaplacianSegmentationLevelSetFunction< OutputImageType, FeatureImageType >::Initialize(), itk::ShapeDetectionLevelSetFunction< OutputImageType, FeatureImageType >::Initialize(), itk::ThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >::Initialize(), itk::VectorThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >::Initialize(), itk::LaplacianSegmentationLevelSetFunction< OutputImageType, FeatureImageType >::LaplacianSegmentationLevelSetFunction(), itk::ShapeDetectionLevelSetFunction< OutputImageType, FeatureImageType >::ShapeDetectionLevelSetFunction(), itk::ThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >::ThresholdSegmentationLevelSetFunction(), and itk::VectorThresholdSegmentationLevelSetFunction< OutputImageType, FeatureImageType >::VectorThresholdSegmentationLevelSetFunction().

◆ SetUseMinimalCurvature()

template<typename TImageType>
void itk::LevelSetFunction< TImageType >::SetUseMinimalCurvature ( bool b)
inline

Definition at line 280 of file itkLevelSetFunction.h.

References m_UseMinimalCurvature.

Referenced by UseMinimalCurvatureOff(), and UseMinimalCurvatureOn().

◆ UseMinimalCurvatureOff()

template<typename TImageType>
void itk::LevelSetFunction< TImageType >::UseMinimalCurvatureOff ( )
inline

Definition at line 298 of file itkLevelSetFunction.h.

References SetUseMinimalCurvature().

◆ UseMinimalCurvatureOn()

template<typename TImageType>
void itk::LevelSetFunction< TImageType >::UseMinimalCurvatureOn ( )
inline

Member Data Documentation

◆ ImageDimension

template<typename TImageType>
unsigned int itk::LevelSetFunction< TImageType >::ImageDimension = Superclass::ImageDimension
staticconstexpr

Extract some parameters from the superclass.

Definition at line 80 of file itkLevelSetFunction.h.

◆ m_AdvectionWeight

template<typename TImageType>
ScalarValueType itk::LevelSetFunction< TImageType >::m_AdvectionWeight {}
protected

Alpha.

Definition at line 375 of file itkLevelSetFunction.h.

Referenced by GetAdvectionWeight(), LevelSetFunction(), and SetAdvectionWeight().

◆ m_Center

template<typename TImageType>
OffsetValueType itk::LevelSetFunction< TImageType >::m_Center { 0 }
protected

The offset of the center pixel in the neighborhood.

Definition at line 356 of file itkLevelSetFunction.h.

◆ m_CurvatureWeight

template<typename TImageType>
ScalarValueType itk::LevelSetFunction< TImageType >::m_CurvatureWeight {}
protected

Gamma.

Definition at line 381 of file itkLevelSetFunction.h.

Referenced by GetCurvatureWeight(), LevelSetFunction(), and SetCurvatureWeight().

◆ m_DT

template<typename TImageType>
double itk::LevelSetFunction< TImageType >::m_DT
staticprotected

◆ m_EpsilonMagnitude

template<typename TImageType>
ScalarValueType itk::LevelSetFunction< TImageType >::m_EpsilonMagnitude {}
protected

Epsilon magnitude controls the lower limit for gradient magnitude.

Definition at line 372 of file itkLevelSetFunction.h.

Referenced by GetEpsilonMagnitude(), LevelSetFunction(), and SetEpsilonMagnitude().

◆ m_LaplacianSmoothingWeight

template<typename TImageType>
ScalarValueType itk::LevelSetFunction< TImageType >::m_LaplacianSmoothingWeight {}
protected

Laplacian smoothing term

Definition at line 384 of file itkLevelSetFunction.h.

Referenced by GetLaplacianSmoothingWeight(), LevelSetFunction(), and SetLaplacianSmoothingWeight().

◆ m_PropagationWeight

template<typename TImageType>
ScalarValueType itk::LevelSetFunction< TImageType >::m_PropagationWeight {}
protected

Beta.

Definition at line 378 of file itkLevelSetFunction.h.

Referenced by GetPropagationWeight(), LevelSetFunction(), and SetPropagationWeight().

◆ m_UseMinimalCurvature

template<typename TImageType>
bool itk::LevelSetFunction< TImageType >::m_UseMinimalCurvature { false }
protected

Definition at line 361 of file itkLevelSetFunction.h.

Referenced by GetUseMinimalCurvature(), and SetUseMinimalCurvature().

◆ m_WaveDT

template<typename TImageType>
double itk::LevelSetFunction< TImageType >::m_WaveDT
staticprotected

Constants used in the time step calculation.

Definition at line 349 of file itkLevelSetFunction.h.

Referenced by GetMaximumPropagationTimeStep(), and SetMaximumPropagationTimeStep().

◆ m_xStride

template<typename TImageType>
OffsetValueType itk::LevelSetFunction< TImageType >::m_xStride[Self::ImageDimension] {}
protected

Stride length along the y-dimension.

Definition at line 359 of file itkLevelSetFunction.h.

◆ m_ZeroVectorConstant

template<typename TImageType>
VectorType itk::LevelSetFunction< TImageType >::m_ZeroVectorConstant
staticprotected

Zero vector constant.

Definition at line 369 of file itkLevelSetFunction.h.

Referenced by AdvectionField().

◆ x_slice

template<typename TImageType>
std::slice itk::LevelSetFunction< TImageType >::x_slice[Self::ImageDimension]
protected

Slices for the ND neighborhood.

Definition at line 353 of file itkLevelSetFunction.h.


The documentation for this class was generated from the following file: