17 #ifndef __itkLevelSetMotionRegistrationFunction_h
18 #define __itkLevelSetMotionRegistrationFunction_h
53 template<
class TFixedImage,
class TMovingImage,
class TDeformationField>
63 TMovingImage, TDeformationField
84 typedef typename FixedImageType::IndexType
IndexType;
85 typedef typename FixedImageType::SizeType
SizeType;
94 itkStaticConstMacro(ImageDimension,
unsigned
95 int,Superclass::ImageDimension);
126 { m_MovingImageInterpolator = ptr; }
130 {
return m_MovingImageInterpolator; }
134 virtual TimeStepType ComputeGlobalTimeStep(
void * GlobalData)
const;
138 virtual void *GetGlobalDataPointer()
const
144 global->
m_MaxL1Norm = NumericTraits<double>::NonpositiveMin();
149 virtual void ReleaseGlobalDataPointer(
void *GlobalData )
const;
152 virtual void InitializeIteration();
156 virtual PixelType ComputeUpdate(
const NeighborhoodType &neighborhood,
158 const FloatOffsetType &offset =
159 FloatOffsetType(0.0));
164 virtual double GetMetric()
const
168 virtual double GetRMSChange()
const
169 {
return m_RMSChange; }
177 virtual void SetAlpha(
double);
178 virtual double GetAlpha()
const;
184 virtual void SetIntensityDifferenceThreshold(
double);
185 virtual double GetIntensityDifferenceThreshold()
const;
189 virtual void SetGradientMagnitudeThreshold(
double);
190 virtual double GetGradientMagnitudeThreshold()
const;
194 virtual void SetGradientSmoothingStandardDeviations(
double);
195 virtual double GetGradientSmoothingStandardDeviations()
const;
200 void SetUseImageSpacing(
bool);
201 bool GetUseImageSpacing()
const;
207 void PrintSelf(std::ostream& os,
Indent indent)
const;
225 void operator=(
const Self&);
269 #ifndef ITK_MANUAL_INSTANTIATION