18 #ifndef itkDiffeomorphicDemonsRegistrationFilter_h
19 #define itkDiffeomorphicDemonsRegistrationFilter_h
77 template<
typename TFixedImage,
typename TMovingImage,
typename TDisplacementField >
113 using TimeStepType =
typename FiniteDifferenceFunctionType::TimeStepType;
120 static constexpr
unsigned int ImageDimension = FixedImageType::ImageDimension;
126 virtual double GetMetric()
const;
128 const double & GetRMSChange()
const override;
137 itkSetMacro(UseFirstOrderExp,
bool);
138 itkGetConstMacro(UseFirstOrderExp,
bool);
139 itkBooleanMacro(UseFirstOrderExp);
146 virtual void SetIntensityDifferenceThreshold(
double);
148 virtual double GetIntensityDifferenceThreshold()
const;
152 virtual void SetMaximumUpdateStepLength(
double);
154 virtual double GetMaximumUpdateStepLength()
const;
159 void PrintSelf(std::ostream & os,
Indent indent)
const override;
162 void InitializeIteration()
override;
166 void AllocateUpdateBuffer()
override;
208 bool m_UseFirstOrderExp{
false};
212 #ifndef ITK_MANUAL_INSTANTIATION
213 #include "itkDiffeomorphicDemonsRegistrationFilter.hxx"
typename Superclass::MovingImagePointer MovingImagePointer
Pixel-wise addition of two images.
Light weight base class for most itk classes.
typename Superclass::FixedImageType FixedImageType
typename AdderType::Pointer AdderPointer
typename DemonsRegistrationFunctionType::GradientType GradientType
typename MultiplyByConstantType::Pointer MultiplyByConstantPointer
typename Superclass::MovingImageType MovingImageType
typename Superclass::DisplacementFieldPointer DisplacementFieldPointer
typename FieldInterpolatorType::OutputType FieldInterpolatorOutputType
Warps an image using an input displacement field.
Computes a diffeomorphic displacement field as the Lie group exponential of a vector field...
typename Superclass::FixedImagePointer FixedImagePointer
typename FieldExponentiatorType::Pointer FieldExponentiatorPointer
FieldExponentiatorPointer m_Exponentiator
typename VectorWarperType::Pointer VectorWarperPointer
Deformably register two images using a diffeomorphic demons algorithm.
MultiplyByConstantPointer m_Multiplier
typename FieldInterpolatorType::Pointer FieldInterpolatorPointer
VectorWarperPointer m_Warper
Control indentation during Print() invocation.
Pixel-wise multiplication of two images.
typename FiniteDifferenceFunctionType::TimeStepType TimeStepType
typename Superclass::FiniteDifferenceFunctionType FiniteDifferenceFunctionType
typename Superclass::DisplacementFieldType DisplacementFieldType
Templated n-dimensional image class.
Fast implementation of the symmetric demons registration force.