18 #ifndef itkDiffeomorphicDemonsRegistrationFilter_h
19 #define itkDiffeomorphicDemonsRegistrationFilter_h
77 template<
typename TFixedImage,
typename TMovingImage,
typename TDisplacementField >
106 #ifdef ITKV3_COMPATIBILITY
107 typedef typename Superclass::DeformationFieldType DeformationFieldType;
108 typedef typename Superclass::DeformationFieldPointer DeformationFieldPointer;
115 typedef typename FiniteDifferenceFunctionType::TimeStepType
TimeStepType;
131 virtual const double &
GetRMSChange() const ITK_OVERRIDE;
140 itkSetMacro(UseFirstOrderExp,
bool);
141 itkGetConstMacro(UseFirstOrderExp,
bool);
142 itkBooleanMacro(UseFirstOrderExp);
161 ~DiffeomorphicDemonsRegistrationFilter() {}
177 void operator=(const Self &);
196 DisplacementFieldType,
203 DisplacementFieldType,
204 DisplacementFieldType, DisplacementFieldType >
AdderType;
221 #ifndef ITK_MANUAL_INSTANTIATION
222 #include "itkDiffeomorphicDemonsRegistrationFilter.hxx"
DemonsRegistrationFunctionType::GradientType GradientType
FiniteDifferenceFunctionType::TimeStepType TimeStepType
static const unsigned int ImageDimension
Superclass::MovingImagePointer MovingImagePointer
Pixel-wise addition of two images.
Light weight base class for most itk classes.
virtual GradientType GetUseGradientType() const
virtual const double & GetRMSChange() const override
Superclass::FixedImageType FixedImageType
DemonsRegistrationFunctionType * DownCastDifferenceFunctionType()
virtual void ApplyUpdate(const TimeStepType &dt) override
virtual void SetIntensityDifferenceThreshold(double)
FieldInterpolatorType::OutputType FieldInterpolatorOutputType
virtual double GetMaximumUpdateStepLength() const
DiffeomorphicDemonsRegistrationFilter Self
Superclass::FiniteDifferenceFunctionType FiniteDifferenceFunctionType
virtual double GetMetric() const
virtual void AllocateUpdateBuffer() override
virtual void SetUseGradientType(GradientType gtype)
Warps an image using an input displacement field.
Superclass::DisplacementFieldType DisplacementFieldType
Computes a diffeomorphic displacement field as the Lie group exponential of a vector field...
FieldExponentiatorPointer m_Exponentiator
Deformably register two images using a diffeomorphic demons algorithm.
MultiplyByConstantPointer m_Multiplier
Superclass::DisplacementFieldPointer DisplacementFieldPointer
PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField > Superclass
Superclass::MovingImageType MovingImageType
VectorWarperPointer m_Warper
Control indentation during Print() invocation.
void PrintSelf(std::ostream &os, Indent indent) const override
virtual void InitializeIteration() override
Pixel-wise multiplication of two images.
Superclass::FixedImagePointer FixedImagePointer
ESMDemonsRegistrationFunction< FixedImageType, MovingImageType, DisplacementFieldType > DemonsRegistrationFunctionType
SmartPointer< const Self > ConstPointer
virtual void SetMaximumUpdateStepLength(double)
SmartPointer< Self > Pointer
Templated n-dimensional image class.
typedef(Concept::MultiplyOperator< PixelType, double >) OutputTimesDoubleCheck
Fast implementation of the symmetric demons registration force.
virtual double GetIntensityDifferenceThreshold() const