18#ifndef itkDiffeomorphicDemonsRegistrationFilter_h
19#define itkDiffeomorphicDemonsRegistrationFilter_h
73template <
typename TFixedImage,
typename TMovingImage,
typename TDisplacementField>
136 itkSetMacro(UseFirstOrderExp,
bool);
137 itkGetConstMacro(UseFirstOrderExp,
bool);
138 itkBooleanMacro(UseFirstOrderExp);
218#ifndef ITK_MANUAL_INSTANTIATION
219# include "itkDiffeomorphicDemonsRegistrationFilter.hxx"
Pixel-wise addition of two images.
void InitializeIteration() override
DiffeomorphicDemonsRegistrationFilter()
virtual GradientType GetUseGradientType() const
typename MultiplyByConstantType::Pointer MultiplyByConstantPointer
void ApplyUpdate(const TimeStepType &dt) override
typename FiniteDifferenceFunctionType::TimeStepType TimeStepType
ExponentialDisplacementFieldImageFilter< DisplacementFieldType, DisplacementFieldType > FieldExponentiatorType
const DemonsRegistrationFunctionType * DownCastDifferenceFunctionType() const
AddImageFilter< DisplacementFieldType, DisplacementFieldType, DisplacementFieldType > AdderType
SmartPointer< Self > Pointer
void AllocateUpdateBuffer() override
typename FieldInterpolatorType::OutputType FieldInterpolatorOutputType
virtual double GetIntensityDifferenceThreshold() const
void PrintSelf(std::ostream &os, Indent indent) const override
typename AdderType::Pointer AdderPointer
SmartPointer< const Self > ConstPointer
FieldExponentiatorPointer m_Exponentiator
static constexpr unsigned int ImageDimension
virtual void SetUseGradientType(GradientType gtype)
~DiffeomorphicDemonsRegistrationFilter() override=default
virtual void SetIntensityDifferenceThreshold(double)
virtual double GetMaximumUpdateStepLength() const
typename DemonsRegistrationFunctionType::GradientEnum GradientType
MultiplyImageFilter< DisplacementFieldType, itk::Image< TimeStepType, ImageDimension >, DisplacementFieldType > MultiplyByConstantType
VectorWarperPointer m_Warper
typename VectorWarperType::Pointer VectorWarperPointer
MultiplyByConstantPointer m_Multiplier
virtual double GetMetric() const
DiffeomorphicDemonsRegistrationFilter Self
typename FieldInterpolatorType::Pointer FieldInterpolatorPointer
typename FieldExponentiatorType::Pointer FieldExponentiatorPointer
VectorLinearInterpolateNearestNeighborExtrapolateImageFunction< DisplacementFieldType, double > FieldInterpolatorType
const double & GetRMSChange() const override
WarpVectorImageFilter< DisplacementFieldType, DisplacementFieldType, DisplacementFieldType > VectorWarperType
PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField > Superclass
DemonsRegistrationFunctionType * DownCastDifferenceFunctionType()
ESMDemonsRegistrationFunction< FixedImageType, MovingImageType, DisplacementFieldType > DemonsRegistrationFunctionType
virtual void SetMaximumUpdateStepLength(double)
TDisplacementField DisplacementFieldType
Fast implementation of the symmetric demons registration force.
ESMDemonsRegistrationFunctionEnums::Gradient GradientEnum
Computes a diffeomorphic displacement field as the Lie group exponential of a vector field.
SmartPointer< Self > Pointer
Control indentation during Print() invocation.
Pixel-wise multiplication of two images.
SmartPointer< Self > Pointer
Implements transparent reference counting.
Warps an image using an input displacement field.
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....