|
ITK
5.2.0
Insight Toolkit
|
Go to the documentation of this file.
18 #ifndef itkESMDemonsRegistrationFunction_h
19 #define itkESMDemonsRegistrationFunction_h
24 #include "ITKPDEDeformableRegistrationExport.h"
49 extern ITKPDEDeformableRegistration_EXPORT std::ostream &
83 template <
typename TFixedImage,
typename TMovingImage,
typename TDisplacementField>
121 static constexpr
unsigned int ImageDimension = Superclass::ImageDimension;
157 m_MovingImageInterpolator = ptr;
158 m_MovingImageWarper->SetInterpolator(ptr);
166 return m_MovingImageInterpolator;
183 global->m_SumOfSquaredDifference = 0.0;
184 global->m_NumberOfPixelsProcessed = 0L;
185 global->m_SumOfSquaredChange = 0;
191 ReleaseGlobalDataPointer(
void * gd)
const override;
195 InitializeIteration()
override;
200 ComputeUpdate(
const NeighborhoodType & it,
void * gd,
const FloatOffsetType & offset = FloatOffsetType(0.0))
override;
212 virtual const double &
223 SetIntensityDifferenceThreshold(
double);
226 GetIntensityDifferenceThreshold()
const;
234 this->m_MaximumUpdateStepLength = sm;
240 return this->m_MaximumUpdateStepLength;
244 #if !defined(ITK_LEGACY_REMOVE)
246 static constexpr
GradientEnum Symmetric = GradientEnum::Symmetric;
247 static constexpr
GradientEnum Fixed = GradientEnum::Fixed;
248 static constexpr
GradientEnum WarpedMoving = GradientEnum::WarpedMoving;
249 static constexpr
GradientEnum MappedMoving = GradientEnum::MappedMoving;
256 m_UseGradientType = gtype;
261 return m_UseGradientType;
269 PrintSelf(std::ostream & os,
Indent indent)
const override;
332 #ifndef ITK_MANUAL_INSTANTIATION
333 # include "itkESMDemonsRegistrationFunction.hxx"
DirectionType m_FixedImageDirection
double m_IntensityDifferenceThreshold
double m_DenominatorThreshold
MovingImageType * m_MovingImageWarperOutput
typename ConstNeighborhoodIterator< TDisplacementField >::RadiusType RadiusType
typename MovingImageType::PixelType MovingPixelType
ImageBaseType::DirectionType DirectionType
typename FixedImageType::IndexType IndexType
double m_SumOfSquaredDifference
virtual double GetMaximumUpdateStepLength() const
typename GradientCalculatorType::Pointer GradientCalculatorPointer
virtual const double & GetRMSChange() const
WarperPointer m_MovingImageWarper
std::ostream & operator<<(std::ostream &os, const Array< TValue > &arr)
void SetMovingImageInterpolator(InterpolatorType *ptr)
ImageBaseType::PointType PointType
TimeStepType ComputeGlobalTimeStep(void *) const override
Calculate the derivative by central differencing.
A templated class holding a n-Dimensional vector.
ImageBaseType::SizeType SizeType
SizeValueType m_NumberOfPixelsProcessed
Control indentation during Print() invocation.
MovingImageGradientCalculatorPointer m_MappedMovingImageGradientCalculator
typename Superclass::PixelType PixelType
double m_MaximumUpdateStepLength
typename MovingImageGradientCalculatorType::Pointer MovingImageGradientCalculatorPointer
typename WarperType::Pointer WarperPointer
ImageBaseType::IndexType IndexType
virtual void SetUseGradientType(GradientEnum gtype)
Linearly interpolate an image at specified positions.
double m_SumOfSquaredChange
typename InterpolatorType::Pointer InterpolatorPointer
Contains all enum classes used by ESMDemonsRegistrationFunction class.
double m_SumOfSquaredChange
Light weight base class for most itk classes.
typename FixedImageType::DirectionType DirectionType
typename Superclass::MovingImageType MovingImageType
typename FixedImageType::SizeType SizeType
GradientCalculatorPointer m_FixedImageGradientCalculator
typename ImageType::PixelType PixelType
void * GetGlobalDataPointer() const override
SizeValueType m_NumberOfPixelsProcessed
Fast implementation of the symmetric demons registration force.
typename Superclass::FloatOffsetType FloatOffsetType
A templated class holding a n-Dimensional covariant vector.
InterpolatorPointer m_MovingImageInterpolator
typename Superclass::NeighborhoodType NeighborhoodType
Warps an image using an input displacement field.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
double m_SumOfSquaredDifference
InterpolatorType * GetMovingImageInterpolator()
virtual void SetMaximumUpdateStepLength(double sm)
typename Superclass::TimeStepType TimeStepType
typename InterpolatorType::PointType PointType
virtual double GetMetric() const
typename FixedImageType::SpacingType SpacingType
GradientEnum m_UseGradientType
typename Superclass::RadiusType RadiusType
std::mutex m_MetricCalculationLock
PointType m_FixedImageOrigin
virtual GradientEnum GetUseGradientType() const
Base class for all image interpolators.
unsigned long SizeValueType
SpacingType m_FixedImageSpacing