18 #ifndef __itkDemonsRegistrationFunction_h
19 #define __itkDemonsRegistrationFunction_h
52 template<
class TFixedImage,
class TMovingImage,
class TDisplacementField >
63 TMovingImage, TDisplacementField
82 typedef typename FixedImageType::IndexType
IndexType;
83 typedef typename FixedImageType::SizeType
SizeType;
90 #ifdef ITKV3_COMPATIBILITY
91 typedef typename Superclass::DeformationFieldType DeformationFieldType;
92 typedef typename Superclass::DeformationFieldTypePointer DeformationFieldTypePointer;
96 itkStaticConstMacro(ImageDimension,
unsigned
97 int, Superclass::ImageDimension);
128 { m_MovingImageInterpolator = ptr; }
132 {
return m_MovingImageInterpolator; }
135 virtual TimeStepType ComputeGlobalTimeStep(
void *itkNotUsed(GlobalData) )
137 {
return m_TimeStep; }
141 virtual void * GetGlobalDataPointer()
const
152 virtual void ReleaseGlobalDataPointer(
void *GlobalData)
const;
155 virtual void InitializeIteration();
159 virtual PixelType ComputeUpdate(
const NeighborhoodType & neighborhood,
161 const FloatOffsetType & offset =
162 FloatOffsetType(0.0) );
167 virtual double GetMetric()
const
171 virtual double GetRMSChange()
const
172 {
return m_RMSChange; }
177 virtual void SetUseMovingImageGradient(
bool flag)
178 { m_UseMovingImageGradient = flag; }
179 virtual bool GetUseMovingImageGradient()
const
180 {
return m_UseMovingImageGradient; }
187 virtual void SetIntensityDifferenceThreshold(
double);
189 virtual double GetIntensityDifferenceThreshold()
const;
194 void PrintSelf(std::ostream & os,
Indent indent)
const;
210 void operator=(
const Self &);
251 #ifndef ITK_MANUAL_INSTANTIATION
252 #include "itkDemonsRegistrationFunction.hxx"