|
ITK
5.1.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 * GlobalData)
const override;
195 InitializeIteration()
override;
200 ComputeUpdate(
const NeighborhoodType & neighborhood,
202 const FloatOffsetType & offset = FloatOffsetType(0.0))
override;
214 virtual const double &
225 SetIntensityDifferenceThreshold(
double);
228 GetIntensityDifferenceThreshold()
const;
236 this->m_MaximumUpdateStepLength = sm;
242 return this->m_MaximumUpdateStepLength;
246 #if !defined(ITK_LEGACY_REMOVE)
248 static constexpr
GradientEnum Symmetric = GradientEnum::Symmetric;
249 static constexpr
GradientEnum Fixed = GradientEnum::Fixed;
250 static constexpr
GradientEnum WarpedMoving = GradientEnum::WarpedMoving;
251 static constexpr
GradientEnum MappedMoving = GradientEnum::MappedMoving;
258 m_UseGradientType = gtype;
263 return m_UseGradientType;
271 PrintSelf(std::ostream & os,
Indent indent)
const override;
334 #ifndef ITK_MANUAL_INSTANTIATION
335 # 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