18#ifndef itkKNNGraphAlphaMutualInformationImageToImageMetric_h
19#define itkKNNGraphAlphaMutualInformationImageToImageMetric_h
41#include "itkArray2D.h"
73template <
typename TFixedImage,
typename TMovingImage>
93 using typename Superclass::CoordinateRepresentationType;
94 using typename Superclass::MovingImageType;
95 using typename Superclass::MovingImagePixelType;
96 using typename Superclass::MovingImageConstPointer;
97 using typename Superclass::FixedImageType;
98 using typename Superclass::FixedImageConstPointer;
99 using typename Superclass::FixedImageRegionType;
100 using typename Superclass::TransformType;
101 using typename Superclass::TransformPointer;
102 using typename Superclass::InputPointType;
103 using typename Superclass::OutputPointType;
104 using typename Superclass::TransformJacobianType;
105 using typename Superclass::InterpolatorType;
106 using typename Superclass::InterpolatorPointer;
107 using typename Superclass::RealType;
108 using typename Superclass::GradientPixelType;
109 using typename Superclass::GradientImageType;
110 using typename Superclass::GradientImagePointer;
115 using typename Superclass::MeasureType;
116 using typename Superclass::DerivativeType;
117 using typename Superclass::ParametersType;
181 std::string splittingRuleFixed,
182 std::string splittingRuleMoving,
183 std::string splittingRuleJoint);
187 SetANNbdTree(
unsigned int bucketSize, std::string splittingRule, std::string shrinkingRule);
192 std::string splittingRuleFixed,
193 std::string splittingRuleMoving,
194 std::string splittingRuleJoint,
195 std::string shrinkingRuleFixed,
196 std::string shrinkingRuleMoving,
197 std::string shrinkingRuleJoint);
230 GetDerivative(
const ParametersType & parameters, DerivativeType & Derivative)
const override;
234 GetValue(
const ParametersType & parameters)
const override;
240 DerivativeType & Derivative)
const override;
243 itkSetClampMacro(Alpha,
double, 0.0, 1.0);
246 itkGetConstReferenceMacro(Alpha,
double);
249 itkSetClampMacro(AvoidDivisionBy,
double, 0.0, 1.0);
252 itkGetConstReferenceMacro(AvoidDivisionBy,
double);
263 PrintSelf(std::ostream & os, Indent indent)
const override;
279 using typename Superclass::FixedImagePointType;
280 using typename Superclass::MovingImagePointType;
281 using typename Superclass::MovingImageDerivativeType;
282 using typename Superclass::MovingImageContinuousIndexType;
304 const bool doDerivative,
333 const MeasureType & distance_M,
334 const MeasureType & distance_J,
335 DerivativeType & dGamma_M,
336 DerivativeType & dGamma_J)
const;
341#ifndef ITK_MANUAL_INSTANTIATION
342# include "itkKNNGraphAlphaMutualInformationImageToImageMetric.hxx"
typename ImageSamplerType::OutputVectorContainerPointer ImageSampleContainerPointer
typename MovingImageType::RegionType MovingImageRegionType
typename AdvancedTransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
typename FixedImageType::PixelType FixedImagePixelType
typename DerivativeType::ValueType DerivativeValueType
typename ImageSamplerType::OutputVectorContainerType ImageSampleContainerType
LimiterFunctionBase< RealType, FixedImageDimension > FixedImageLimiterType
ImageSamplerBase< FixedImageType > ImageSamplerType
LimiterFunctionBase< RealType, MovingImageDimension > MovingImageLimiterType
typename MovingImageLimiterType::OutputType MovingImageLimiterOutputType
typename FixedImageLimiterType::OutputType FixedImageLimiterOutputType
typename ImageSamplerType::Pointer ImageSamplerPointer
SmartPointer< Self > Pointer
Array< int > IndexArrayType
Array< double > DistanceArrayType
SmartPointer< Self > Pointer
A ListSampleBase that internally uses a CArray, which can be accessed.