18 #ifndef itkLevelSetFunction_h
19 #define itkLevelSetFunction_h
22 #include "vnl/vnl_matrix_fixed.h"
65 template<
typename TImageType >
230 GlobalDataStruct *gd = 0
235 GlobalDataStruct *gd = 0
240 GlobalDataStruct *gd = 0
245 GlobalDataStruct *gd = 0
351 void operator=(const
Self &) ITK_DELETE_FUNCTION;
355 #ifndef ITK_MANUAL_INSTANTIATION
356 #include "itkLevelSetFunction.hxx"
static void SetMaximumCurvatureTimeStep(double n)
static VectorType m_ZeroVectorConstant
Superclass::RadiusType RadiusType
void PrintSelf(std::ostream &s, Indent indent) const override
ScalarValueType m_MaxCurvatureChange
Light weight base class for most itk classes.
The LevelSetFunction class is a generic function object which can be used to create a level set metho...
PixelType ScalarValueType
Superclass::NeighborhoodType NeighborhoodType
Superclass::PixelType PixelType
virtual ScalarValueType Compute3DMinimalCurvature(const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd=0)
static const unsigned int ImageDimension
bool m_UseMinimalCurvature
signed long OffsetValueType
ScalarValueType m_GradMagSqr
static double GetMaximumCurvatureTimeStep()
virtual ScalarValueType ComputeMeanCurvature(const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd=0)
Superclass::FloatOffsetType FloatOffsetType
Vector< PixelRealType, itkGetStaticConstMacro(ImageDimension) > NeighborhoodScalesType
ScalarValueType GetEpsilonMagnitude() const
ConstNeighborhoodIterator< TImageType >::RadiusType RadiusType
Superclass::ImageType ImageType
static const double e
The base of the natural logarithm or Euler's number
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
virtual void Initialize(const RadiusType &r)
vnl_matrix_fixed< ScalarValueType, itkGetStaticConstMacro(ImageDimension), itkGetStaticConstMacro(ImageDimension) > m_dxy
ScalarValueType m_AdvectionWeight
bool GetUseMinimalCurvature() const
virtual ScalarValueType PropagationSpeed(const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const
virtual ~LevelSetFunction()
virtual ScalarValueType LaplacianSmoothingSpeed(const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const
Simulate a standard C array with copy semnatics.
ScalarValueType m_dx_backward[itkGetStaticConstMacro(ImageDimension)]
ScalarValueType m_PropagationWeight
Superclass::NeighborhoodScalesType NeighborhoodScalesType
SmartPointer< Self > Pointer
static VectorType InitializeZeroVectorConstant()
ScalarValueType m_dx_forward[itkGetStaticConstMacro(ImageDimension)]
static double GetMaximumPropagationTimeStep()
virtual PixelType ComputeUpdate(const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &=FloatOffsetType(0.0)) override
virtual void ReleaseGlobalDataPointer(void *GlobalData) const override
virtual ScalarValueType CurvatureSpeed(const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const
A templated class holding a n-Dimensional vector.
virtual void SetPropagationWeight(const ScalarValueType p)
ScalarValueType m_EpsilonMagnitude
ScalarValueType m_CurvatureWeight
virtual ScalarValueType ComputeCurvatureTerm(const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd=0)
ImageType::PixelType PixelType
ScalarValueType m_dx[itkGetStaticConstMacro(ImageDimension)]
Superclass::PixelRealType PixelRealType
ScalarValueType GetLaplacianSmoothingWeight() const
OffsetValueType m_xStride[itkGetStaticConstMacro(ImageDimension)]
virtual void * GetGlobalDataPointer() const override
Vector< float, itkGetStaticConstMacro(ImageDimension) > FloatOffsetType
void UseMinimalCurvatureOff()
virtual TimeStepType ComputeGlobalTimeStep(void *GlobalData) const override
virtual ScalarValueType ComputeMinimalCurvature(const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd=0)
ScalarValueType m_MaxPropagationChange
Control indentation during Print() invocation.
ScalarValueType m_MaxAdvectionChange
std::slice x_slice[itkGetStaticConstMacro(ImageDimension)]
ScalarValueType GetAdvectionWeight() const
FixedArray< ScalarValueType, itkGetStaticConstMacro(ImageDimension) > VectorType
SmartPointer< const Self > ConstPointer
Define additional traits for native types such as int or float.
virtual void SetCurvatureWeight(const ScalarValueType c)
virtual void SetAdvectionWeight(const ScalarValueType a)
void UseMinimalCurvatureOn()
ScalarValueType GetCurvatureWeight() const
static void SetMaximumPropagationTimeStep(double n)
void SetLaplacianSmoothingWeight(const ScalarValueType c)
void SetUseMinimalCurvature(bool b)
void SetEpsilonMagnitude(const ScalarValueType e)
ScalarValueType GetPropagationWeight() const
static const unsigned int ImageDimension
virtual VectorType AdvectionField(const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const
FiniteDifferenceFunction< TImageType > Superclass
ScalarValueType m_LaplacianSmoothingWeight