18 #ifndef __itkESMDemonsRegistrationFunction_h
19 #define __itkESMDemonsRegistrationFunction_h
59 template<
class TFixedImage,
class TMovingImage,
class TDisplacementField >
62 TMovingImage, TDisplacementField >
69 TFixedImage, TMovingImage, TDisplacementField >
Superclass;
89 typedef typename FixedImageType::IndexType
IndexType;
90 typedef typename FixedImageType::SizeType
SizeType;
96 typedef typename Superclass::DisplacementFieldTypePointer
100 itkStaticConstMacro(ImageDimension,
unsigned int, Superclass::ImageDimension);
140 { m_MovingImageInterpolator = ptr; m_MovingImageWarper->SetInterpolator(ptr); }
144 {
return m_MovingImageInterpolator; }
147 virtual TimeStepType ComputeGlobalTimeStep(
void *itkNotUsed(GlobalData) )
const
148 {
return m_TimeStep; }
152 virtual void * GetGlobalDataPointer()
const
163 virtual void ReleaseGlobalDataPointer(
void *GlobalData)
const;
166 virtual void InitializeIteration();
170 virtual PixelType ComputeUpdate(
const NeighborhoodType & neighborhood,
172 const FloatOffsetType & offset = FloatOffsetType(0.0) );
177 virtual double GetMetric()
const
181 virtual const double & GetRMSChange()
const
182 {
return m_RMSChange; }
188 virtual void SetIntensityDifferenceThreshold(
double);
190 virtual double GetIntensityDifferenceThreshold()
const;
195 virtual void SetMaximumUpdateStepLength(
double sm)
197 this->m_MaximumUpdateStepLength = sm;
200 virtual double GetMaximumUpdateStepLength()
const
202 return this->m_MaximumUpdateStepLength;
215 { m_UseGradientType = gtype; }
217 {
return m_UseGradientType; }
223 void PrintSelf(std::ostream & os,
Indent indent)
const;
238 void operator=(
const Self &);
288 #ifndef ITK_MANUAL_INSTANTIATION
289 #include "itkESMDemonsRegistrationFunction.hxx"