18 #ifndef itkJensenHavrdaCharvatTsallisPointSetToPointSetMetricv4_h
19 #define itkJensenHavrdaCharvatTsallisPointSetToPointSetMetricv4_h
71 template <
typename TPo
intSet,
class TInternalComputationValueType =
double>
85 itkSimpleNewMacro(
Self);
94 static constexpr
unsigned int PointDimension = TPointSet::PointDimension;
97 using typename Superclass::MeasureType;
98 using typename Superclass::DerivativeType;
99 using typename Superclass::DerivativeValueType;
100 using typename Superclass::LocalDerivativeType;
102 using typename Superclass::PixelType;
103 using typename Superclass::CoordRepType;
104 using typename Superclass::PointIdentifier;
105 using typename Superclass::NeighborsIdentifierType;
106 using typename Superclass::NumberOfParametersType;
108 using typename Superclass::JacobianType;
109 using typename Superclass::FixedTransformJacobianType;
110 using typename Superclass::MovingTransformJacobianType;
123 Initialize()
override;
134 itkSetClampMacro(Alpha,
RealType, 1.0, 2.0);
146 itkSetMacro(PointSetSigma,
RealType);
149 itkGetConstMacro(PointSetSigma,
RealType);
155 itkSetMacro(EvaluationKNeighborhood,
unsigned int);
161 itkGetConstMacro(EvaluationKNeighborhood,
unsigned int);
167 itkSetMacro(UseAnisotropicCovariances,
bool);
173 itkGetConstMacro(UseAnisotropicCovariances,
bool);
179 itkBooleanMacro(UseAnisotropicCovariances);
186 itkSetMacro(CovarianceKNeighborhood,
unsigned int);
193 itkGetConstMacro(CovarianceKNeighborhood,
unsigned int);
205 itkGetConstMacro(KernelSigma,
RealType);
212 GetLocalNeighborhoodValueAndDerivative(
const PointType &,
215 const PixelType & pixel = 0)
const override;
220 InternalClone()
const override;
227 ComputeValueAndDerivative(
const PointType & samplePoint,
231 bool calcDerivative)
const;
234 PrintSelf(std::ostream & os,
Indent indent)
const override;
251 bool m_UseAnisotropicCovariances{
false };
255 unsigned int m_CovarianceKNeighborhood{};
256 unsigned int m_EvaluationKNeighborhood{};
269 #ifndef ITK_MANUAL_INSTANTIATION
270 # include "itkJensenHavrdaCharvatTsallisPointSetToPointSetMetricv4.hxx"