18 #ifndef __itkDiffeomorphicDemonsRegistrationFilter_h
19 #define __itkDiffeomorphicDemonsRegistrationFilter_h
77 template<
class TFixedImage,
class TMovingImage,
class TDisplacementField >
106 #ifdef ITKV3_COMPATIBILITY
107 typedef typename Superclass::DeformationFieldType DeformationFieldType;
108 typedef typename Superclass::DeformationFieldPointer DeformationFieldPointer;
115 typedef typename FiniteDifferenceFunctionType::TimeStepType
TimeStepType;
123 ImageDimension,
unsigned int, FixedImageType::ImageDimension);
129 virtual double GetMetric()
const;
131 virtual const double & GetRMSChange()
const;
140 itkSetMacro(UseFirstOrderExp,
bool);
141 itkGetConstMacro(UseFirstOrderExp,
bool);
142 itkBooleanMacro(UseFirstOrderExp);
149 virtual void SetIntensityDifferenceThreshold(
double);
151 virtual double GetIntensityDifferenceThreshold()
const;
155 virtual void SetMaximumUpdateStepLength(
double);
157 virtual double GetMaximumUpdateStepLength()
const;
162 void PrintSelf(std::ostream & os,
Indent indent)
const;
165 virtual void InitializeIteration();
169 virtual void AllocateUpdateBuffer();
172 virtual void ApplyUpdate(
const TimeStepType& dt);
177 void operator=(
const Self &);
183 DemonsRegistrationFunctionType * DownCastDifferenceFunctionType();
185 const DemonsRegistrationFunctionType * DownCastDifferenceFunctionType()
const;
221 #ifndef ITK_MANUAL_INSTANTIATION
222 #include "itkDiffeomorphicDemonsRegistrationFilter.hxx"