18 #ifndef itkCurvatureFlowFunction_h
19 #define itkCurvatureFlowFunction_h
42 template<
typename TImage >
72 itkStaticConstMacro(ImageDimension,
unsigned int, Superclass::ImageDimension);
84 virtual TimeStepType ComputeGlobalTimeStep(
void *GlobalData)
const ITK_OVERRIDE;
93 GlobalDataStruct *ans =
new GlobalDataStruct();
104 {
delete (GlobalDataStruct *)GlobalData; }
112 {
return m_TimeStep; }
116 virtual PixelType ComputeUpdate(
const NeighborhoodType & neighborhood,
118 const FloatOffsetType & offset = FloatOffsetType(0.0)
127 struct GlobalDataStruct {
133 ~GlobalDataStruct() {}
135 ScalarValueType m_MaxChange;
139 CurvatureFlowFunction();
149 #ifndef ITK_MANUAL_INSTANTIATION
150 #include "itkCurvatureFlowFunction.hxx"
Superclass::FloatOffsetType FloatOffsetType
Superclass::PixelRealType PixelRealType
Light weight base class for most itk classes.
virtual void * GetGlobalDataPointer() const override
Superclass::PixelType PixelType
Superclass::NeighborhoodScalesType NeighborhoodScalesType
ConstNeighborhoodIterator< TImage >::RadiusType RadiusType
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
SmartPointer< Self > Pointer
Superclass::ImageType ImageType
PixelType ScalarValueType
A templated class holding a n-Dimensional vector.
void SetTimeStep(const TimeStepType &t)
This class encapsulate the finite difference equation which drives a curvature flow denoising algorit...
~CurvatureFlowFunction() ITK_OVERRIDE
CurvatureFlowFunction Self
const TimeStepType & GetTimeStep() const
Superclass::RadiusType RadiusType
Superclass::TimeStepType TimeStepType
FiniteDifferenceFunction< TImage > Superclass
Superclass::NeighborhoodType NeighborhoodType
SmartPointer< const Self > ConstPointer
virtual void ReleaseGlobalDataPointer(void *GlobalData) const override