18 #ifndef __itkVariationalRegistrationSSDFunction_h
19 #define __itkVariationalRegistrationSSDFunction_h
51 template<
class TFixedImage,
class TMovingImage,
class TDisplacementField >
70 itkStaticConstMacro(ImageDimension,
unsigned int,Superclass::ImageDimension);
85 typedef typename FixedImageType::IndexType
IndexType;
86 typedef typename FixedImageType::SizeType
SizeType;
91 typedef typename Superclass::DisplacementFieldTypePointer
106 virtual void InitializeIteration();
117 { m_GradientType = GRADIENT_TYPE_FIXED; }
121 { m_GradientType = GRADIENT_TYPE_WARPED; }
126 { m_GradientType = GRADIENT_TYPE_SYMMETRIC; }
133 { m_IntensityDifferenceThreshold = threshold; }
140 {
return m_IntensityDifferenceThreshold; }
145 virtual typename Superclass::TimeStepType ComputeGlobalTimeStep(
void * gd )
const;
154 void PrintSelf(std::ostream& os,
Indent indent)
const;
158 GRADIENT_TYPE_WARPED = 0,
159 GRADIENT_TYPE_FIXED = 1,
160 GRADIENT_TYPE_SYMMETRIC = 2
165 void operator=(
const Self&);
188 #ifndef ITK_MANUAL_INSTANTIATION
189 #include "itkVariationalRegistrationSSDFunction.hxx"
Base class for force calculation in the variational registration framework.
GradientCalculatorPointer m_FixedImageGradientCalculator
FixedImageType::IndexType IndexType
Light weight base class for most itk classes.
Superclass::RadiusType RadiusType
VariationalRegistrationSSDFunction Self
Superclass::FixedImageType FixedImageType
Superclass::DisplacementFieldTypePointer DisplacementFieldTypePointer
virtual void SetGradientTypeToFixedImage()
SmartPointer< const Self > ConstPointer
Superclass::MaskImageType MaskImageType
Superclass::MovingImagePointer MovingImagePointer
ConstNeighborhoodIterator< TDisplacementField >::RadiusType RadiusType
Calculate the derivative by central differencing.
GradientType m_GradientType
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
Superclass::NeighborhoodType NeighborhoodType
FixedImageType::SizeType SizeType
FixedImageType::SpacingType SpacingType
Superclass::MaskImagePointer MaskImagePointer
A templated class holding a n-Dimensional vector.
Superclass::PixelType PixelType
ImageType::PixelType PixelType
PixelType m_ZeroUpdateReturn
virtual void SetGradientTypeToSymmetric()
Superclass::DisplacementFieldType DisplacementFieldType
SmartPointer< Self > Pointer
Superclass::FloatOffsetType FloatOffsetType
virtual void SetGradientTypeToWarpedMovingImage()
This class computes SSD forces in the variational registration framework.
VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField > Superclass
GradientCalculatorPointer m_WarpedImageGradientCalculator
~VariationalRegistrationSSDFunction()
Control indentation during Print() invocation.
Superclass::GlobalDataStruct GlobalDataStruct
Superclass::FixedImagePointer FixedImagePointer
double m_IntensityDifferenceThreshold
CentralDifferenceImageFunction< FixedImageType > GradientCalculatorType
Superclass::MovingImageType MovingImageType
GradientCalculatorType::Pointer GradientCalculatorPointer
virtual double GetIntensityDifferenceThreshold() const
virtual void SetIntensityDifferenceThreshold(const double threshold)