18 #ifndef itkFiniteDifferenceFunction_h
19 #define itkFiniteDifferenceFunction_h
65 template<
typename TImageType >
85 itkStaticConstMacro(ImageDimension,
unsigned int, ImageType::ImageDimension);
134 virtual PixelType ComputeUpdate(
const NeighborhoodType & neighborhood,
136 const FloatOffsetType & offset = FloatOffsetType(0.0) ) = 0;
141 void SetRadius(
const RadiusType & r);
145 const RadiusType & GetRadius()
const;
150 void SetScaleCoefficients(PixelRealType vals[ImageDimension]);
153 void GetScaleCoefficients(PixelRealType vals[ImageDimension])
const;
158 const NeighborhoodScalesType ComputeNeighborhoodScales()
const;
166 virtual TimeStepType ComputeGlobalTimeStep(
void *GlobalData)
const = 0;
175 virtual void * GetGlobalDataPointer()
const = 0;
182 virtual void ReleaseGlobalDataPointer(
void *GlobalData)
const = 0;
188 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
198 #ifndef ITK_MANUAL_INSTANTIATION
199 #include "itkFiniteDifferenceFunction.hxx"
virtual void InitializeIteration()
Light weight base class for most itk classes.
~FiniteDifferenceFunction() override
Vector< PixelRealType, itkGetStaticConstMacro(ImageDimension) > NeighborhoodScalesType
ConstNeighborhoodIterator< TImageType >::RadiusType RadiusType
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
ConstNeighborhoodIterator< TImageType, DefaultBoundaryConditionType > NeighborhoodType
A templated class holding a n-Dimensional vector.
ImageType::PixelType PixelType
Vector< float, itkGetStaticConstMacro(ImageDimension) > FloatOffsetType
Control indentation during Print() invocation.
ZeroFluxNeumannBoundaryCondition< ImageType > DefaultBoundaryConditionType
SmartPointer< const Self > ConstPointer
FiniteDifferenceFunction Self
SmartPointer< Self > Pointer