18#ifndef itkDiffeomorphicDemonsRegistrationFilter_h
19#define itkDiffeomorphicDemonsRegistrationFilter_h
77template <
typename TFixedImage,
typename TMovingImage,
typename TDisplacementField>
97 using typename Superclass::FixedImageType;
98 using typename Superclass::FixedImagePointer;
101 using typename Superclass::MovingImageType;
102 using typename Superclass::MovingImagePointer;
105 using typename Superclass::DisplacementFieldType;
106 using typename Superclass::DisplacementFieldPointer;
109 using typename Superclass::FiniteDifferenceFunctionType;
119 static constexpr unsigned int ImageDimension = FixedImageType::ImageDimension;
140 itkSetMacro(UseFirstOrderExp,
bool);
141 itkGetConstMacro(UseFirstOrderExp,
bool);
142 itkBooleanMacro(UseFirstOrderExp);
218 bool m_UseFirstOrderExp{
false };
222#ifndef ITK_MANUAL_INSTANTIATION
223# include "itkDiffeomorphicDemonsRegistrationFilter.hxx"
Pixel-wise addition of two images.
Deformably register two images using a diffeomorphic demons algorithm.
void InitializeIteration() override
DiffeomorphicDemonsRegistrationFilter()
virtual GradientType GetUseGradientType() const
typename MultiplyByConstantType::Pointer MultiplyByConstantPointer
void ApplyUpdate(const TimeStepType &dt) override
typename FiniteDifferenceFunctionType::TimeStepType TimeStepType
const DemonsRegistrationFunctionType * DownCastDifferenceFunctionType() const
void AllocateUpdateBuffer() override
typename FieldInterpolatorType::OutputType FieldInterpolatorOutputType
virtual double GetIntensityDifferenceThreshold() const
void PrintSelf(std::ostream &os, Indent indent) const override
typename AdderType::Pointer AdderPointer
virtual void SetUseGradientType(GradientType gtype)
~DiffeomorphicDemonsRegistrationFilter() override=default
virtual void SetIntensityDifferenceThreshold(double)
virtual double GetMaximumUpdateStepLength() const
typename DemonsRegistrationFunctionType::GradientEnum GradientType
typename VectorWarperType::Pointer VectorWarperPointer
virtual double GetMetric() const
typename FieldInterpolatorType::Pointer FieldInterpolatorPointer
typename FieldExponentiatorType::Pointer FieldExponentiatorPointer
const double & GetRMSChange() const override
DemonsRegistrationFunctionType * DownCastDifferenceFunctionType()
virtual void SetMaximumUpdateStepLength(double)
Fast implementation of the symmetric demons registration force.
Computes a diffeomorphic displacement field as the Lie group exponential of a vector field.
NumericTraits< TInputImage::PixelType >::RealType OutputType
Control indentation during Print() invocation.
Light weight base class for most itk classes.
Pixel-wise multiplication of two images.
Warps an image using an input displacement field.
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....