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"
45 template<
typename TVector >
93 void SetInverseCovariance(const CovarianceMatrixType & invcov);
96 itkGetConstReferenceMacro(InverseCovariance, CovarianceMatrixType);
107 itkSetMacro(Epsilon,
double);
108 itkGetConstMacro(Epsilon,
double);
111 itkSetMacro(DoubleMax,
double);
112 itkGetConstMacro(DoubleMax,
double);
116 virtual ~MahalanobisDistanceMetric(
void) ITK_OVERRIDE {}
117 void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
130 void CalculateInverseCovariance();
135 #ifndef ITK_MANUAL_INSTANTIATION
136 #include "itkMahalanobisDistanceMetric.hxx"
MahalanobisDistanceMetric Self
Light weight base class for most itk classes.
Superclass::MeasurementVectorType MeasurementVectorType
SmartPointer< Self > Pointer
SmartPointer< const Self > ConstPointer
Superclass::OriginType MeanVectorType
DistanceMetric< TVector > Superclass
TVector MeasurementVectorType
this class declares common interfaces for distance functions.
CovarianceMatrixType m_InverseCovariance
CovarianceMatrixType m_Covariance
Control indentation during Print() invocation.
Superclass::MeasurementVectorSizeType MeasurementVectorSizeType
MahalanobisDistanceMetric class computes a Mahalanobis distance given a mean and covariance.
vnl_matrix< double > CovarianceMatrixType
unsigned int MeasurementVectorSizeType