18#ifndef itkMeanSquaresImageToImageMetric_h
19#define itkMeanSquaresImageToImageMetric_h
40template <
typename TFixedImage,
typename TMovingImage>
118 double movingImageValue)
const override;
124 double movingImageValue,
139#ifndef ITK_MANUAL_INSTANTIATION
140# include "itkMeanSquaresImageToImageMetric.hxx"
typename FixedImageType::ConstPointer FixedImageConstPointer
typename TransformType::Pointer TransformPointer
typename BSplineTransformWeightsType::ValueType WeightsValueType
Array< ParametersValueType > DerivativeType
typename MovingImageType::ConstPointer MovingImageConstPointer
CovariantVector< double, Self::MovingImageDimension > ImageDerivativesType
TFixedImage FixedImageType
typename BSplineTransformIndexArrayType::ValueType IndexValueType
typename TransformType::OutputPointType MovingImagePointType
typename TransformType::InputPointType FixedImagePointType
InterpolateImageFunction< MovingImageType, CoordinateRepresentationType > InterpolatorType
typename Superclass::ParametersValueType CoordinateRepresentationType
std::vector< FixedImageSamplePoint > FixedImageSampleContainer
Transform< CoordinateRepresentationType, Self::MovingImageDimension, Self::FixedImageDimension > TransformType
TMovingImage MovingImageType
Superclass::ParametersType ParametersType
typename TransformType::JacobianType TransformJacobianType
Control indentation during Print() invocation.
SmartPointer< const Self > ConstPointer
~MeanSquaresImageToImageMetric() override=default
Array< ParametersValueType > DerivativeType
std::unique_ptr< AlignedPerThreadType[]> m_PerThread
MeanSquaresImageToImageMetric Self
MeasureType GetValue(const ParametersType ¶meters) const override
CovariantVector< double, Self::MovingImageDimension > ImageDerivativesType
bool GetValueThreadProcessSample(ThreadIdType threadId, SizeValueType fixedImageSample, const MovingImagePointType &mappedPoint, double movingImageValue) const override
static constexpr unsigned int MovingImageDimension
typename TransformType::OutputPointType MovingImagePointType
void GetValueAndDerivative(const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const override
void PrintSelf(std::ostream &os, Indent indent) const override
ImageToImageMetric< TFixedImage, TMovingImage > Superclass
void Initialize() override
MeanSquaresImageToImageMetric()
void GetDerivative(const ParametersType ¶meters, DerivativeType &derivative) const override
itkAlignedTypedef(64, PerThreadS, AlignedPerThreadType)
Superclass::ParametersType ParametersType
SmartPointer< Self > Pointer
typename TransformType::JacobianType TransformJacobianType
bool GetValueAndDerivativeThreadProcessSample(ThreadIdType threadId, SizeValueType fixedImageSample, const MovingImagePointType &mappedPoint, double movingImageValue, const ImageDerivativesType &movingImageGradientValue) const override
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned int ThreadIdType
unsigned long SizeValueType
DerivativeType m_MSEDerivative
TransformJacobianType m_Jacobian