18#ifndef itkParzenWindowMutualInformationImageToImageMetric_h
19#define itkParzenWindowMutualInformationImageToImageMetric_h
23#include "itkArray2D.h"
74template <
class TFixedImage,
class TMovingImage>
94 using typename Superclass::CoordinateRepresentationType;
95 using typename Superclass::MovingImageType;
96 using typename Superclass::MovingImagePixelType;
97 using typename Superclass::MovingImageConstPointer;
98 using typename Superclass::FixedImageType;
99 using typename Superclass::FixedImageConstPointer;
100 using typename Superclass::FixedImageRegionType;
101 using typename Superclass::TransformType;
102 using typename Superclass::TransformPointer;
103 using typename Superclass::InputPointType;
104 using typename Superclass::OutputPointType;
105 using typename Superclass::TransformParametersType;
106 using typename Superclass::TransformJacobianType;
108 using typename Superclass::InterpolatorType;
109 using typename Superclass::InterpolatorPointer;
110 using typename Superclass::RealType;
111 using typename Superclass::GradientPixelType;
112 using typename Superclass::GradientImageType;
113 using typename Superclass::GradientImagePointer;
118 using typename Superclass::MeasureType;
119 using typename Superclass::DerivativeType;
121 using typename Superclass::ParametersType;
143 GetValue(
const ParametersType & parameters)
const override;
146 itkGetConstMacro(UseJacobianPreconditioning,
bool);
147 itkSetMacro(UseJacobianPreconditioning,
bool);
193 DerivativeType & derivative)
const override;
207 DerivativeType & derivative)
const;
217 DerivativeType & derivative)
const override;
223 DerivativeType & preconditioner,
224 DerivativeType & divisor)
const;
246 static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION
260 bool m_UseJacobianPreconditioning{
false };
272 const RealType movingImageValue,
273 const DerivativeType & imageJacobian,
275 DerivativeType & derivative)
const;
284#ifndef ITK_MANUAL_INSTANTIATION
285# include "itkParzenWindowMutualInformationImageToImageMetric.hxx"
typename AdvancedTransformType::NumberOfParametersType NumberOfParametersType
This class is a base class for any image sampler.
Kernel used for density estimation and nonparameteric regression.
Base class for all ITK limiter function objects.
A base class for image metrics based on a joint histogram computed using Parzen Windowing.
JointPDFType::SizeType JointPDFSizeType
JointPDFDerivativesType::IndexType JointPDFDerivativesIndexType
typename TransformType::OutputPointType MovingImagePointType
typename ImageSamplerType::OutputVectorContainerPointer ImageSampleContainerPointer
typename MovingImageType::RegionType MovingImageRegionType
typename AdvancedTransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
typename FixedImageType::PixelType FixedImagePixelType
typename DerivativeType::ValueType DerivativeValueType
typename FixedImageIndexType::IndexValueType FixedImageIndexValueType
typename MovingImageType::IndexType MovingImageIndexType
typename ImageSamplerType::OutputVectorContainerType ImageSampleContainerType
ImageMaskSpatialObject< Self::FixedImageDimension > FixedImageMaskType
JointPDFDerivativesType::SizeType JointPDFDerivativesSizeType
typename FixedImageType::IndexType FixedImageIndexType
SmartPointer< MovingImageMaskType > MovingImageMaskPointer
MultiThreaderBase::WorkUnitInfo ThreadInfoType
typename BSplineInterpolatorType::CovariantVectorType MovingImageDerivativeType
JointPDFType::RegionType JointPDFRegionType
JointPDFType::IndexType JointPDFIndexType
typename MovingImageLimiterType::OutputType MovingImageLimiterOutputType
typename TransformType::InputPointType FixedImagePointType
typename FixedImageLimiterType::OutputType FixedImageLimiterOutputType
SmartPointer< FixedImageMaskType > FixedImageMaskPointer
BSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType, double > BSplineInterpolatorType
JointPDFDerivativesType::RegionType JointPDFDerivativesRegionType
typename ImageSamplerType::Pointer ImageSamplerPointer
typename InterpolatorType::ContinuousIndexType MovingImageContinuousIndexType
ImageMaskSpatialObject< Self::MovingImageDimension > MovingImageMaskType