18#ifndef itkMahalanobisDistanceMetric_h
19#define itkMahalanobisDistanceMetric_h
21#include "vnl/vnl_vector.h"
22#include "vnl/vnl_vector_ref.h"
23#include "vnl/vnl_transpose.h"
24#include "vnl/vnl_matrix.h"
25#include "vnl/algo/vnl_matrix_inverse.h"
26#include "vnl/algo/vnl_determinant.h"
46template <
typename TVector>
113 itkSetMacro(Epsilon,
double);
114 itkGetConstMacro(Epsilon,
double);
117 itkSetMacro(DoubleMax,
double);
118 itkGetConstMacro(DoubleMax,
double);
143#ifndef ITK_MANUAL_INSTANTIATION
144# include "itkMahalanobisDistanceMetric.hxx"
Control indentation during Print() invocation.
Implements transparent reference counting.
Array< double > OriginType
TVector MeasurementVectorType
unsigned int MeasurementVectorSizeType
MahalanobisDistanceMetric Self
void SetInverseCovariance(const CovarianceMatrixType &invcov)
typename Superclass::OriginType MeanVectorType
DistanceMetric< TVector > Superclass
const MeanVectorType & GetMean() const
~MahalanobisDistanceMetric() override=default
TVector MeasurementVectorType
MahalanobisDistanceMetric()
CovarianceMatrixType m_Covariance
SmartPointer< const Self > ConstPointer
CovarianceMatrixType m_InverseCovariance
void CalculateInverseCovariance()
void SetMeasurementVectorSize(MeasurementVectorSizeType) override
void PrintSelf(std::ostream &os, Indent indent) const override
void SetCovariance(const CovarianceMatrixType &cov)
double Evaluate(const MeasurementVectorType &x1, const MeasurementVectorType &x2) const override
SmartPointer< Self > Pointer
double Evaluate(const MeasurementVectorType &measurement) const override
unsigned int MeasurementVectorSizeType
void SetMean(const MeanVectorType &mean)
vnl_matrix< double > CovarianceMatrixType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....