18#ifndef itkJensenHavrdaCharvatTsallisPointSetToPointSetMetricv4_h
19#define itkJensenHavrdaCharvatTsallisPointSetToPointSetMetricv4_h
65template <
typename TPo
intSet,
class TInternalComputationValueType =
double>
149 itkSetMacro(EvaluationKNeighborhood,
unsigned int);
155 itkGetConstMacro(EvaluationKNeighborhood,
unsigned int);
161 itkSetMacro(UseAnisotropicCovariances,
bool);
167 itkGetConstMacro(UseAnisotropicCovariances,
bool);
173 itkBooleanMacro(UseAnisotropicCovariances);
180 itkSetMacro(CovarianceKNeighborhood,
unsigned int);
187 itkGetConstMacro(CovarianceKNeighborhood,
unsigned int);
209 const PixelType & pixel = 0)
const override;
225 bool calcDerivative)
const;
263#ifndef ITK_MANUAL_INSTANTIATION
264# include "itkJensenHavrdaCharvatTsallisPointSetToPointSetMetricv4.hxx"
Control indentation during Print() invocation.
typename PointSetType::PointsContainer PointsContainer
bool RequiresMovingPointsLocator() const override
typename PointsContainer::ConstIterator PointsContainerConstIterator
SmartPointer< Self > Pointer
bool RequiresFixedPointsLocator() const override
DensityFunctionPointer m_MovingDensityFunction
typename DensityFunctionType::Pointer DensityFunctionPointer
unsigned int m_CovarianceKNeighborhood
void Initialize() override
void ComputeValueAndDerivative(const PointType &samplePoint, MeasureType &value, LocalDerivativeType &derivativeReturn, bool calcValue, bool calcDerivative) const
LightObject::Pointer InternalClone() const override
~JensenHavrdaCharvatTsallisPointSetToPointSetMetricv4() override=default
bool m_UseAnisotropicCovariances
void PrintSelf(std::ostream &os, Indent indent) const override
ManifoldParzenWindowsPointSetFunction< PointSetType, RealType > DensityFunctionType
RealType m_TotalNumberOfPoints
JensenHavrdaCharvatTsallisPointSetToPointSetMetricv4 Self
typename DensityFunctionType::GaussianType GaussianType
PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType > Superclass
MeasureType GetLocalNeighborhoodValue(const PointType &point, const PixelType &pixel=0) const override
void GetLocalNeighborhoodValueAndDerivative(const PointType &, MeasureType &, LocalDerivativeType &, const PixelType &pixel=0) const override
unsigned int m_EvaluationKNeighborhood
JensenHavrdaCharvatTsallisPointSetToPointSetMetricv4()
static constexpr unsigned int PointDimension
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
Point set function based on n-dimensional parzen windowing.
typename Statistics::GaussianMembershipFunction< PointType > GaussianType
SmartPointer< Self > Pointer
Array< double > DerivativeType
typename FixedTransformType::JacobianType JacobianType
typename MovingTransformType::JacobianType MovingTransformJacobianType
typename FixedTransformType::JacobianType FixedTransformJacobianType
unsigned int NumberOfParametersType
PointSetToPointSetMetricv4()=default
typename DerivativeType::ValueType DerivativeValueType
typename PointsLocatorType::NeighborsIdentifierType NeighborsIdentifierType
typename PointType::CoordinateType CoordinateType
typename PointsContainer::ElementIdentifier PointIdentifier
FixedArray< DerivativeValueType, Self::PointDimension > LocalDerivativeType
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
*par Constraints *The filter image with at least two dimensions and a vector *length of at least The theory supports extension to scalar but *the implementation of the itk vector classes do not **The template parameter TRealType must be floating point(float or double) or *a user-defined "real" numerical type with arithmetic operations defined *sufficient to compute derivatives. **\par Performance *This filter will automatically multithread if run with *SetUsePrincipleComponents