18 #ifndef itkDiffeomorphicDemonsRegistrationFilter_h
19 #define itkDiffeomorphicDemonsRegistrationFilter_h
77 template <
typename TFixedImage,
typename TMovingImage,
typename TDisplacementField>
112 using TimeStepType =
typename FiniteDifferenceFunctionType::TimeStepType;
119 static constexpr
unsigned int ImageDimension = FixedImageType::ImageDimension;
129 GetRMSChange()
const override;
135 GetUseGradientType()
const;
140 itkSetMacro(UseFirstOrderExp,
bool);
141 itkGetConstMacro(UseFirstOrderExp,
bool);
142 itkBooleanMacro(UseFirstOrderExp);
150 SetIntensityDifferenceThreshold(
double);
153 GetIntensityDifferenceThreshold()
const;
158 SetMaximumUpdateStepLength(
double);
161 GetMaximumUpdateStepLength()
const;
167 PrintSelf(std::ostream & os,
Indent indent)
const override;
171 InitializeIteration()
override;
176 AllocateUpdateBuffer()
override;
186 DownCastDifferenceFunctionType();
189 DownCastDifferenceFunctionType()
const;
215 bool m_UseFirstOrderExp{
false };
219 #ifndef ITK_MANUAL_INSTANTIATION
220 # include "itkDiffeomorphicDemonsRegistrationFilter.hxx"