18#ifndef itkLevelSetMotionRegistrationFunction_h
19#define itkLevelSetMotionRegistrationFunction_h
54template <
typename TFixedImage,
typename TMovingImage,
typename TDisplacementField>
82 using IndexType =
typename FixedImageType::IndexType;
83 using SizeType =
typename FixedImageType::SizeType;
102#ifndef ITK_FUTURE_LEGACY_REMOVE
103 using CoordRepType ITK_FUTURE_DEPRECATED(
104 "ITK 6 discourages using `CoordRepType`. Please use `CoordinateType` instead!") =
CoordinateType;
145 auto * global =
new GlobalDataStruct();
147 global->m_SumOfSquaredDifference = 0.0;
148 global->m_NumberOfPixelsProcessed = 0L;
149 global->m_SumOfSquaredChange = 0;
295#ifndef ITK_MANUAL_INSTANTIATION
296# include "itkLevelSetMotionRegistrationFunction.hxx"
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
A templated class holding a n-Dimensional covariant vector.
ConstNeighborhoodIterator< TImageType, DefaultBoundaryConditionType > NeighborhoodType
static constexpr unsigned int ImageDimension
Vector< float, Self::ImageDimension > FloatOffsetType
typename ImageType::PixelType PixelType
typename ConstNeighborhoodIterator< TImageType >::RadiusType RadiusType
Control indentation during Print() invocation.
Base class for all image interpolators.
Point< CoordinateType, Self::ImageDimension > PointType
SmartPointer< Self > Pointer
LevelSetMotionRegistrationFunction()
typename FixedImageType::SizeType SizeType
PixelType ComputeUpdate(const NeighborhoodType &it, void *gd, const FloatOffsetType &offset=FloatOffsetType(0.0)) override
void PrintSelf(std::ostream &os, Indent indent) const override
typename MovingImageSmoothingFilterType::Pointer MovingImageSmoothingFilterPointer
typename MovingImageType::SpacingType MovingSpacingType
bool GetUseImageSpacing() const
SmartPointer< Self > Pointer
SmoothingRecursiveGaussianImageFilter< MovingImageType > MovingImageSmoothingFilterType
typename FixedImageType::SpacingType SpacingType
virtual double GetMetric() const
void InitializeIteration() override
PDEDeformableRegistrationFunction< FixedImageType, MovingImageType, DisplacementFieldType > Superclass
InterpolatorType * GetMovingImageInterpolator()
void ReleaseGlobalDataPointer(void *gd) const override
double m_GradientSmoothingStandardDeviations
double m_SumOfSquaredChange
SizeValueType m_NumberOfPixelsProcessed
double m_GradientMagnitudeThreshold
CovariantVector< double, Self::ImageDimension > CovariantVectorType
Vector< double, Self::ImageDimension > VectorType
InterpolatorPointer m_SmoothMovingImageInterpolator
std::mutex m_MetricCalculationMutex
InterpolateImageFunction< MovingImageType, CoordinateType > InterpolatorType
virtual double GetGradientMagnitudeThreshold() const
LevelSetMotionRegistrationFunction Self
void * GetGlobalDataPointer() const override
virtual double GetGradientSmoothingStandardDeviations() const
PointType m_FixedImageOrigin
typename InterpolatorType::PointType PointType
virtual void SetIntensityDifferenceThreshold(double)
MovingImageSmoothingFilterPointer m_MovingImageSmoothingFilter
virtual double GetAlpha() const
ConstNeighborhoodIterator< FixedImageType > FixedImageNeighborhoodIteratorType
virtual void SetGradientSmoothingStandardDeviations(double)
typename FixedImageType::IndexType IndexType
void SetMovingImageInterpolator(InterpolatorType *ptr)
double m_IntensityDifferenceThreshold
double m_SumOfSquaredDifference
InterpolatorPointer m_MovingImageInterpolator
virtual void SetAlpha(double)
virtual void SetGradientMagnitudeThreshold(double)
void SetUseImageSpacing(bool)
typename InterpolatorType::Pointer InterpolatorPointer
SpacingType m_FixedImageSpacing
SmartPointer< const Self > ConstPointer
virtual double GetIntensityDifferenceThreshold() const
LinearInterpolateImageFunction< MovingImageType, CoordinateType > DefaultInterpolatorType
~LevelSetMotionRegistrationFunction() override=default
static constexpr unsigned int ImageDimension
virtual double GetRMSChange() const
TimeStepType ComputeGlobalTimeStep(void *GlobalData) const override
Linearly interpolate an image at specified positions.
static constexpr T NonpositiveMin()
Implements transparent reference counting.
Computes the smoothing of an image by convolution with the Gaussian kernels implemented as IIR filter...
SmartPointer< Self > Pointer
A templated class holding a n-Dimensional vector.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType
double m_SumOfSquaredChange
double m_SumOfSquaredDifference
SizeValueType m_NumberOfPixelsProcessed