26 #ifndef __CovMatrix3x3_hh__
27 #define __CovMatrix3x3_hh__
29 #include <Base/Math/Matrix3x3.hh>
30 #include <Base/Geometry/PMatrixBase.hh>
31 #include <Base/Geometry/HomgPoint3DCov.hh>
32 #include <MathAlgo/SVD.hh>
34 #define COVMATRIX3X3_TYPE double
60 :
Matrix3x3<COVMATRIX3X3_TYPE>(i), _IsDecomposed(false) {};
75 _IsDecomposed =
false;
return (*
this); };
86 return ((*
this)[0][0] + (*
this)[1][1] + (*
this)[2][2]);
105 double scale,
double minSearchArea);
118 (*
this)[1][0],(*
this)[1][1],(*
this)[1][2],0,
119 (*
this)[2][0],(*
this)[2][1],(*
this)[2][2],0,
133 mych[1][0],mych[1][1],mych[1][2],
134 mych[2][0],mych[2][1],mych[2][2]);
162 #endif // __CovMatrix3x3_hh__
MatrixInitType
can be passed to matrix constructors to init the matrix with the most often used values ...
computes and holds the singular value decomposition of a rectangular (not necessarily quadratic) Matr...
HomgPoint3DCov GetHomogenized() const
Type conversion for homogenous covariances.
double Trace() const
returns matrix's trace.
CovMatrix3x3 & operator=(const BIAS::Matrix3x3< COVMATRIX3X3_TYPE > &mat)
CovMatrix3x3(const Matrix3x3< COVMATRIX3X3_TYPE > &mat)
class for 3x3 covariance matrices
Matrix3x3< COVMATRIX3X3_TYPE > _VT
is a 'fixed size' quadratic matrix of dim.
class HomgPoint3D describes a point with 3 degrees of freedom in projective coordinates.
describes a projective 3D -> 2D mapping in homogenous coordinates
Matrix3x3< COVMATRIX3X3_TYPE > ConsistencyBackup_
saves matrix fields to make consistency checks possible later
Vector3< COVMATRIX3X3_TYPE > _S
class representing the covariance matrix of a homogenous point 3D
Matrix3x3< T > & operator=(const Matrix3x3< T > &mat)
assignment operator
void InvalidatePCA()
Call this function to indicate that the matrix fields have changed The saved PCA is declared invalid ...
void SetFromHomogenized(const HomgPoint3DCov &ch, const HomgPoint3D &ph)
Type conversion for homogenous covariances.
bool _IsDecomposed
flag indicating whether the stored PCA is still valid
CovMatrix3x3(const MatrixInitType &i)
void Homogenize(HomgPoint3D &p)
homogenizes p and *this