18#ifndef itkFiniteDifferenceImageFilter_h
19#define itkFiniteDifferenceImageFilter_h
132template <
typename TInputImage,
typename TOutputImage>
191 itkSetMacro(UseImageSpacing,
bool);
192 itkBooleanMacro(UseImageSpacing);
193 itkGetConstReferenceMacro(UseImageSpacing,
bool);
198 itkSetMacro(MaximumRMSError,
double);
199 itkGetConstReferenceMacro(MaximumRMSError,
double);
204 itkSetMacro(RMSChange,
double);
205 itkGetConstReferenceMacro(RMSChange,
double);
210 itkSetMacro(ManualReinitialization,
bool);
211 itkGetConstReferenceMacro(ManualReinitialization,
bool);
212 itkBooleanMacro(ManualReinitialization);
215 itkSetMacro(IsInitialized,
bool);
216 itkGetMacro(IsInitialized,
bool);
380#ifndef ITK_MANUAL_INSTANTIATION
381# include "itkFiniteDifferenceImageFilter.hxx"
Vector< PixelRealType, Self::ImageDimension > NeighborhoodScalesType
typename ConstNeighborhoodIterator< TOutputImage >::RadiusType RadiusType
SmartPointer< Self > Pointer
typename FiniteDifferenceFunctionType::TimeStepType TimeStepType
bool m_ManualReinitialization
virtual void CopyInputToOutput()=0
void PrintSelf(std::ostream &os, Indent indent) const override
void GenerateData() override
virtual void InitializeIteration()
IdentifierType m_NumberOfIterations
typename FiniteDifferenceFunctionType::NeighborhoodScalesType NeighborhoodScalesType
virtual TimeStepType ResolveTimeStep(const std::vector< TimeStepType > &timeStepList, const BooleanStdVectorType &valid) const
FiniteDifferenceImageFilter()
OutputPixelType PixelType
FiniteDifferenceImageFilter Self
virtual void SetIsInitialized(bool _arg)
InPlaceImageFilter< TInputImage, TOutputImage > Superclass
FiniteDifferenceFunction< TOutputImage > FiniteDifferenceFunctionType
SmartPointer< Self > Pointer
void InitializeFunctionCoefficients()
virtual void Initialize()
typename NumericTraits< InputPixelType >::ValueType InputPixelValueType
void SetStateToUninitialized()
TOutputImage OutputImageType
~FiniteDifferenceImageFilter() override=default
void GenerateInputRequestedRegion() override
TInputImage InputImageType
FiniteDifferenceFunctionType::Pointer m_DifferenceFunction
virtual void PostProcessOutput()
typename TInputImage::PixelType InputPixelType
virtual void ApplyUpdate(const TimeStepType &dt)=0
typename FiniteDifferenceFunctionType::RadiusType RadiusType
IdentifierType m_ElapsedIterations
static constexpr unsigned int ImageDimension
virtual void AllocateUpdateBuffer()=0
virtual TimeStepType CalculateChange()=0
typename TOutputImage::PixelType OutputPixelType
SmartPointer< const Self > ConstPointer
void SetStateToInitialized()
virtual bool ThreadedHalt(void *threadInfo)
typename NumericTraits< OutputPixelType >::ValueType OutputPixelValueType
InPlaceImageFilter()=default
Control indentation during Print() invocation.
Implements transparent reference counting.
typename FiniteDifferenceFunctionType::TimeStepType TimeStepType
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
SizeValueType IdentifierType
std::vector< Boolean > BooleanStdVectorType