18#ifndef itkFiniteDifferenceImageFilter_h
19#define itkFiniteDifferenceImageFilter_h
132template <
typename TInputImage,
typename TOutputImage>
152 static constexpr unsigned int ImageDimension = OutputImageType::ImageDimension;
192 itkSetMacro(UseImageSpacing,
bool);
193 itkBooleanMacro(UseImageSpacing);
194 itkGetConstReferenceMacro(UseImageSpacing,
bool);
199 itkSetMacro(MaximumRMSError,
double);
200 itkGetConstReferenceMacro(MaximumRMSError,
double);
205 itkSetMacro(RMSChange,
double);
206 itkGetConstReferenceMacro(RMSChange,
double);
211 itkSetMacro(ManualReinitialization,
bool);
212 itkGetConstReferenceMacro(ManualReinitialization,
bool);
213 itkBooleanMacro(ManualReinitialization);
216 itkSetMacro(IsInitialized,
bool);
217 itkGetMacro(IsInitialized,
bool);
222 this->SetIsInitialized(
false);
227 this->SetIsInitialized(
true);
230#ifdef ITK_USE_CONCEPT_CHECKING
241 bool m_IsInitialized{};
328 m_DifferenceFunction->InitializeIteration();
364 bool m_ManualReinitialization{};
366 double m_RMSChange{};
367 double m_MaximumRMSError{};
378 bool m_UseImageSpacing{
true };
385#ifndef ITK_MANUAL_INSTANTIATION
386# include "itkFiniteDifferenceImageFilter.hxx"
typename ConstNeighborhoodIterator< TImageType >::RadiusType RadiusType
typename FiniteDifferenceFunctionType::TimeStepType TimeStepType
virtual void CopyInputToOutput()=0
void PrintSelf(std::ostream &os, Indent indent) const override
virtual bool ThreadedHalt(void *)
void GenerateData() override
virtual void InitializeIteration()
typename FiniteDifferenceFunctionType::NeighborhoodScalesType NeighborhoodScalesType
virtual TimeStepType ResolveTimeStep(const std::vector< TimeStepType > &timeStepList, const BooleanStdVectorType &valid) const
FiniteDifferenceImageFilter()
OutputPixelType PixelType
void InitializeFunctionCoefficients()
virtual void Initialize()
typename NumericTraits< InputPixelType >::ValueType InputPixelValueType
void SetStateToUninitialized()
~FiniteDifferenceImageFilter() override=default
void GenerateInputRequestedRegion() override
virtual void PostProcessOutput()
typename TInputImage::PixelType InputPixelType
virtual void ApplyUpdate(const TimeStepType &dt)=0
typename FiniteDifferenceFunctionType::RadiusType RadiusType
virtual void AllocateUpdateBuffer()=0
virtual TimeStepType CalculateChange()=0
typename TOutputImage::PixelType OutputPixelType
void SetStateToInitialized()
typename NumericTraits< OutputPixelType >::ValueType OutputPixelValueType
Base class for all process objects that output image data.
TOutputImage OutputImageType
TInputImage InputImageType
Base class for filters that take an image as input and overwrite that image as the output.
Control indentation during Print() invocation.
Define additional traits for native types such as int or float.
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
A templated class holding a n-Dimensional vector.
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
SizeValueType IdentifierType
std::vector< Boolean > BooleanStdVectorType