18#ifndef itkMeanSquaresImageToImageMetric_h
19#define itkMeanSquaresImageToImageMetric_h
40template <
typename TFixedImage,
typename TMovingImage>
59 using typename Superclass::TransformType;
60 using typename Superclass::TransformPointer;
61 using typename Superclass::TransformJacobianType;
62 using typename Superclass::InterpolatorType;
63 using typename Superclass::MeasureType;
64 using typename Superclass::DerivativeType;
65 using typename Superclass::ParametersType;
66 using typename Superclass::FixedImageType;
67 using typename Superclass::MovingImageType;
68 using typename Superclass::MovingImagePointType;
69 using typename Superclass::FixedImageConstPointer;
70 using typename Superclass::MovingImageConstPointer;
71 using typename Superclass::CoordinateRepresentationType;
72 using typename Superclass::FixedImageSampleContainer;
73 using typename Superclass::ImageDerivativesType;
74 using typename Superclass::WeightsValueType;
78 using typename Superclass::FixedImagePointType;
81 static constexpr unsigned int MovingImageDimension = MovingImageType::ImageDimension;
118 double movingImageValue)
const override;
124 double movingImageValue,
139#ifndef ITK_MANUAL_INSTANTIATION
140# include "itkMeanSquaresImageToImageMetric.hxx"
Array class with size defined at construction time.
A templated class holding a n-Dimensional covariant vector.
Computes similarity between regions of two images.
typename TransformType::OutputPointType MovingImagePointType
typename TransformType::JacobianType TransformJacobianType
Control indentation during Print() invocation.
Light weight base class for most itk classes.
~MeanSquaresImageToImageMetric() override=default
std::unique_ptr< AlignedPerThreadType[]> m_PerThread
MeasureType GetValue(const ParametersType ¶meters) const override
bool GetValueThreadProcessSample(ThreadIdType threadId, SizeValueType fixedImageSample, const MovingImagePointType &mappedPoint, double movingImageValue) const override
void GetValueAndDerivative(const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const override
void PrintSelf(std::ostream &os, Indent indent) const override
void Initialize() override
MeanSquaresImageToImageMetric()
void GetDerivative(const ParametersType ¶meters, DerivativeType &derivative) const override
itkAlignedTypedef(64, PerThreadS, AlignedPerThreadType)
bool GetValueAndDerivativeThreadProcessSample(ThreadIdType threadId, SizeValueType fixedImageSample, const MovingImagePointType &mappedPoint, double movingImageValue, const ImageDerivativesType &movingImageGradientValue) const override
Superclass::ParametersType ParametersType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned int ThreadIdType
unsigned long SizeValueType
DerivativeType m_MSEDerivative
TransformJacobianType m_Jacobian