|
ITK
5.3.0
Insight Toolkit
|
Go to the documentation of this file.
18 #ifndef itkFastSymmetricForcesDemonsRegistrationFunction_h
19 #define itkFastSymmetricForcesDemonsRegistrationFunction_h
46 template <
typename TFixedImage,
typename TMovingImage,
typename TDisplacementField>
66 using typename Superclass::MovingImageType;
67 using typename Superclass::MovingImagePointer;
70 using typename Superclass::FixedImageType;
71 using typename Superclass::FixedImagePointer;
77 using typename Superclass::DisplacementFieldType;
78 using typename Superclass::DisplacementFieldTypePointer;
81 static constexpr
unsigned int ImageDimension = Superclass::ImageDimension;
115 m_MovingImageInterpolator = ptr;
116 m_MovingImageWarper->SetInterpolator(ptr);
124 return m_MovingImageInterpolator;
141 global->m_SumOfSquaredDifference = 0.0;
142 global->m_NumberOfPixelsProcessed = 0L;
143 global->m_SumOfSquaredChange = 0;
149 ReleaseGlobalDataPointer(
void * GlobalData)
const override;
153 InitializeIteration()
override;
158 ComputeUpdate(
const NeighborhoodType & neighborhood,
160 const FloatOffsetType & offset = FloatOffsetType(0.0))
override;
172 virtual const double &
183 SetIntensityDifferenceThreshold(
double);
186 GetIntensityDifferenceThreshold()
const;
192 PrintSelf(std::ostream & os,
Indent indent)
const override;
245 #ifndef ITK_MANUAL_INSTANTIATION
246 # include "itkFastSymmetricForcesDemonsRegistrationFunction.hxx"
SmartPointer< Self > Pointer
virtual const double & GetRMSChange() const
typename ConstNeighborhoodIterator< TDisplacementField >::RadiusType RadiusType
SizeValueType m_NumberOfPixelsProcessed
InterpolatorType * GetMovingImageInterpolator()
ImageBaseType::PointType PointType
Calculate the derivative by central differencing.
A templated class holding a n-Dimensional vector.
ImageBaseType::SizeType SizeType
typename WarperType::Pointer WarperPointer
Control indentation during Print() invocation.
void * GetGlobalDataPointer() const override
typename MovingGradientCalculatorType::Pointer MovingGradientCalculatorPointer
typename FixedImageType::SpacingType SpacingType
double m_DenominatorThreshold
GradientCalculatorPointer m_FixedImageGradientCalculator
double m_SumOfSquaredDifference
double m_SumOfSquaredChange
ImageBaseType::IndexType IndexType
Linearly interpolate an image at specified positions.
SizeValueType m_NumberOfPixelsProcessed
Light weight base class for most itk classes.
typename InterpolatorType::PointType PointType
typename FixedImageType::SizeType SizeType
typename GradientCalculatorType::Pointer GradientCalculatorPointer
std::mutex m_MetricCalculationLock
MovingGradientCalculatorPointer m_WarpedMovingImageGradientCalculator
typename ImageType::PixelType PixelType
WarperPointer m_MovingImageWarper
double m_SumOfSquaredDifference
A templated class holding a n-Dimensional covariant vector.
TimeStepType ComputeGlobalTimeStep(void *) const override
typename FixedImageType::IndexType IndexType
void SetMovingImageInterpolator(InterpolatorType *ptr)
double m_IntensityDifferenceThreshold
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_SumOfSquaredChange
typename InterpolatorType::Pointer InterpolatorPointer
virtual double GetMetric() const
InterpolatorPointer m_MovingImageInterpolator
Base class for all image interpolators.
unsigned long SizeValueType