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() {}
172 virtual void ApplyUpdate(
const TimeStepType& dt) ITK_OVERRIDE;
176 void operator=(
const Self &) ITK_DELETE_FUNCTION;
218 #ifndef ITK_MANUAL_INSTANTIATION 219 #include "itkDiffeomorphicDemonsRegistrationFilter.hxx" AdderType::Pointer AdderPointer
DemonsRegistrationFunctionType::GradientType GradientType
FiniteDifferenceFunctionType::TimeStepType TimeStepType
static const unsigned int ImageDimension
Superclass::MovingImagePointer MovingImagePointer
Pixel-wise addition of two images.
virtual GradientType GetUseGradientType() const
Superclass::FixedImageType FixedImageType
DemonsRegistrationFunctionType * DownCastDifferenceFunctionType()
virtual void ApplyUpdate(const TimeStepType &dt) override
virtual const double & GetRMSChange() const override
virtual void SetIntensityDifferenceThreshold(double)
VectorLinearInterpolateNearestNeighborExtrapolateImageFunction< DisplacementFieldType, double > FieldInterpolatorType
FieldInterpolatorType::OutputType FieldInterpolatorOutputType
virtual double GetMaximumUpdateStepLength() const
DiffeomorphicDemonsRegistrationFilter()
DiffeomorphicDemonsRegistrationFilter Self
MultiplyImageFilter< DisplacementFieldType, itk::Image< TimeStepType, ImageDimension >, DisplacementFieldType > MultiplyByConstantType
Superclass::FiniteDifferenceFunctionType FiniteDifferenceFunctionType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
void PrintSelf(std::ostream &os, Indent indent) const override
virtual double GetMetric() const
virtual void AllocateUpdateBuffer() override
virtual void SetUseGradientType(GradientType gtype)
FieldExponentiatorType::Pointer FieldExponentiatorPointer
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
ExponentialDisplacementFieldImageFilter< DisplacementFieldType, DisplacementFieldType > FieldExponentiatorType
FieldInterpolatorType::Pointer FieldInterpolatorPointer
MultiplyByConstantType::Pointer MultiplyByConstantPointer
Deformably register two images using a diffeomorphic demons algorithm.
WarpVectorImageFilter< DisplacementFieldType, DisplacementFieldType, DisplacementFieldType > VectorWarperType
AddImageFilter< DisplacementFieldType, DisplacementFieldType, DisplacementFieldType > AdderType
void operator=(const Self &) ITK_DELETE_FUNCTION
MultiplyByConstantPointer m_Multiplier
Superclass::DisplacementFieldPointer DisplacementFieldPointer
VectorWarperType::Pointer VectorWarperPointer
PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField > Superclass
Superclass::MovingImageType MovingImageType
VectorWarperPointer m_Warper
Control indentation during Print() invocation.
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.
Fast implementation of the symmetric demons registration force.
virtual double GetIntensityDifferenceThreshold() const