Basic Image AlgorithmS Library
2.8.0
|
class representing the covariance matrix of a homogenous point 2D More...
#include <Base/Geometry/HomgPoint2DCov.hh>
Public Member Functions | |
bool | CheckSymmetry () const |
checks whether matrix is symmetric More... | |
void | GetAbsMaxMin (double &max, double &min) const |
void | GetColumn (const unsigned int col, Vector3< double > &r) const |
extract one column ('Spalte') from this matrix (for convenience) More... | |
BIAS::Vector3< double > | GetColumn (const unsigned int col) const |
double * | GetData () |
const double * | GetData () const |
double | GetDeterminant () const |
returns the Determinant |A| of this More... | |
Matrix2x2< double > | GetEuclidean () const |
int | GetInverse (Matrix3x3< double > &inv) const |
Matrix inversion: inverts this and stores resulty in argument inv. More... | |
double | GetMax () const |
void | GetMaxMin (double &max, double &min) const |
return biggest and smallest entry More... | |
double | GetMin () const |
unsigned | GetNumElements () const |
void | GetRow (const unsigned int row, Vector3< double > &r) const |
extract one row ('Zeile') from ths matrix (for convenience) More... | |
Vector3< double > | GetRow (const unsigned int row) const |
HomgPoint2DCov () | |
HomgPoint2DCov (const MatrixInitType &i) | |
HomgPoint2DCov (const Matrix2x2< double > &m) | |
HomgPoint2DCov (const Matrix3x3< double > &m) | |
HomgPoint2DCov (const Matrix< double > &m) | |
HomgPoint2DCov (const TNT::Matrix< double > &m) | |
void | Homogenize (HomgPoint2D &p) |
homogenizes p and *this More... | |
int | InvertIP () |
In place matrix conversion. More... | |
bool | IsHomogenized () const |
bool | IsIdentity (const doubleeps=std::numeric_limits< double >::epsilon()) const |
bool | IsZero () const |
bool | IsZero (const doubleeps=std::numeric_limits< double >::epsilon()) const |
bool | Load (const std::string &fname) |
void | MakeSymmetric () |
averages transposed elements to make symmetric More... | |
void | Mult (const Vector3< double > &argvec, Vector3< double > &destvec) const |
matrix - vector multiplicate this matrix with Vector3, storing the result in destvec calculates: destvec = (this Matrix) * argvec More... | |
void | Mult (const Matrix3x3< double > &argmat, Matrix3x3< double > &destmat) const |
matrix-matrix multiplication with other Matrix3x3, storing the result in destmat calculates: destmat = (this mat) * argmat More... | |
void | Mult (const Matrix3x4< double > &argmat, Matrix3x4< double > &destmat) const |
void | Normalize (HomgPoint2D &p) |
normalizes p and *this More... | |
double | Normalize () |
divide this by biggest absolute entry, returns biggest entry More... | |
double | NormFrobenius () const |
double | NormL1 () const |
double | NormL2 () const |
bool | operator!= (const Matrix3x3< double > &arg) const |
Matrix3x3< double > & | operator*= (const Matrix3x3< double > &arg) |
woelk 11/2007 (c) www.vision-n.de More... | |
Matrix3x3< double > & | operator*= (const double &arg) |
woelk 11/2007 (c) www.vision-n.de More... | |
Matrix3x3< double > & | operator+= (const Matrix3x3< double > &arg) |
Matrix3x3< double > & | operator-= (const Matrix3x3< double > &arg) |
Matrix3x3< double > & | operator/= (const double &arg) |
bool | operator== (const Matrix3x3< double > &arg) const |
double * | operator[] (const unsigned row) |
const double * | operator[] (const unsigned row) const |
bool | Save (const std::string &fname) const |
void | Scale (const double &scalar, Matrix3x3< double > &destmat) const |
scalar-matrix multiplication More... | |
void | SetAndMakeSymmetric (const Matrix3x3< double > &m) |
Sets from matrix and enforces symmetry. More... | |
void | SetAsCrossProductMatrix (const Vector3< double > &vec) |
Sets matrix from vector as cross product matrix of this vector. More... | |
void | SetAsCrossProductMatrix (const double &x, const double &y, const double &z) |
Sets matrix from vector as cross product matrix of a vector. More... | |
void | SetColumn (const unsigned int col, const Vector3< double > &c) |
void | SetEuclidean (const Matrix2x2< double > &m) |
void | SetFromColumnVectors (const BIAS::Vector3< double > &v0, const BIAS::Vector3< double > &v1, const BIAS::Vector3< double > &v2) |
set this matrix from 3 vectors each representating a column More... | |
void | SetFromRowVectors (const BIAS::Vector3< double > &v0, const BIAS::Vector3< double > &v1, const BIAS::Vector3< double > &v2) |
set this matrix from 3 vectors, each representating a row More... | |
void | SetFromVector (const TNT::Vector< double > &vec) |
sets the diagonalelements of this 3x3 Matrix rowwise with the values of the 9 (x1) vector More... | |
void | SetIdentity () |
set the elements of this matrix to the identity matrix (possibly overriding the inherited method) More... | |
void | SetRow (const unsigned int row, const Vector3< double > &r) |
void | SetZero () |
double | Trace () const |
return the trace of the matrix More... | |
Matrix3x3< double > | Transpose () const |
returns transposed matrix tested 12.06.2002 More... | |
void | Transpose (const Matrix3x3< double > &arg) |
sets this as transposed arg, fw More... | |
void | TransposedMult (const Vector3< double > &argvec, Vector3< double > &destvec) const |
multiplies matrix from left with transposed argvec, resulting in transposed destvec More... | |
void | TransposeIP () |
tranpose this matrix "in place" example: 0 1 2 –> 0 3 6 3 4 5 –> 1 4 7 6 7 8 –> 2 5 8 More... | |
virtual | ~HomgPoint2DCov () |
Protected Attributes | |
double | Data_ [9] |
class representing the covariance matrix of a homogenous point 2D
Definition at line 40 of file HomgPoint2DCov.hh.
HomgPoint2DCov::HomgPoint2DCov | ( | ) |
Definition at line 35 of file HomgPoint2DCov.cpp.
Referenced by Homogenize(), and Normalize().
HomgPoint2DCov::HomgPoint2DCov | ( | const MatrixInitType & | i | ) |
Definition at line 39 of file HomgPoint2DCov.cpp.
|
explicit |
Definition at line 55 of file HomgPoint2DCov.cpp.
References SetEuclidean().
|
explicit |
Definition at line 42 of file HomgPoint2DCov.cpp.
References CheckSymmetry(), and MakeSymmetric().
|
explicit |
Definition at line 62 of file HomgPoint2DCov.cpp.
References CheckSymmetry().
|
explicit |
Definition at line 71 of file HomgPoint2DCov.cpp.
References CheckSymmetry().
|
virtual |
Definition at line 80 of file HomgPoint2DCov.cpp.
bool HomgPoint2DCov::CheckSymmetry | ( | ) | const |
checks whether matrix is symmetric
Definition at line 153 of file HomgPoint2DCov.cpp.
References BIAS::Equal().
Referenced by HomgPoint2DCov(), and SetEuclidean().
|
inherited |
|
inherited |
extract one column ('Spalte') from this matrix (for convenience)
|
inlineinherited |
Definition at line 202 of file Matrix3x3.hh.
|
inlineinherited |
Definition at line 99 of file Matrix3x3.hh.
|
inlineinherited |
Definition at line 103 of file Matrix3x3.hh.
|
inherited |
returns the Determinant |A| of this
Matrix2x2< double > HomgPoint2DCov::GetEuclidean | ( | ) | const |
Definition at line 124 of file HomgPoint2DCov.cpp.
References IsHomogenized().
|
inherited |
Matrix inversion: inverts this and stores resulty in argument inv.
Returns -1 if determinant is zero, 0 on success.
|
inherited |
|
inherited |
return biggest and smallest entry
|
inherited |
|
inlineinherited |
Definition at line 107 of file Matrix3x3.hh.
|
inherited |
extract one row ('Zeile') from ths matrix (for convenience)
|
inlineinherited |
Definition at line 196 of file Matrix3x3.hh.
void HomgPoint2DCov::Homogenize | ( | HomgPoint2D & | p | ) |
homogenizes p and *this
Definition at line 85 of file HomgPoint2DCov.cpp.
References HomgPoint2DCov(), BIAS::HomgPoint2D::Homogenize(), BIAS::HomgPoint2D::IsAtInfinity(), BIAS::MatrixZero, and BIAS::Matrix3x3< T >::Transpose().
|
inherited |
In place matrix conversion.
Returns -1 if determinant is zero, 0 on success.
|
inline |
Definition at line 70 of file HomgPoint2DCov.hh.
References BIAS::Equal().
Referenced by GetEuclidean().
|
inherited |
|
inline |
Definition at line 76 of file HomgPoint2DCov.hh.
References BIAS::Equal().
|
inherited |
|
inherited |
void HomgPoint2DCov::MakeSymmetric | ( | ) |
averages transposed elements to make symmetric
Definition at line 161 of file HomgPoint2DCov.cpp.
Referenced by BIAS::EssentialPoint2Line::Compute(), and HomgPoint2DCov().
|
inlineinherited |
matrix - vector multiplicate this matrix with Vector3, storing the result in destvec calculates: destvec = (this Matrix) * argvec
|
inlineinherited |
matrix-matrix multiplication with other Matrix3x3, storing the result in destmat calculates: destmat = (this mat) * argmat
|
inherited |
void HomgPoint2DCov::Normalize | ( | HomgPoint2D & | p | ) |
normalizes p and *this
Definition at line 106 of file HomgPoint2DCov.cpp.
References HomgPoint2DCov(), BIAS::MatrixIdentity, BIAS::Vector3< T >::NormL2(), BIAS::Vector3< T >::OuterProduct(), BIAS::Vector3< T >::ScalarProduct(), and BIAS::Matrix3x3< T >::Transpose().
|
inherited |
divide this by biggest absolute entry, returns biggest entry
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Definition at line 255 of file Matrix3x3.hh.
|
inlineinherited |
Definition at line 274 of file Matrix3x3.hh.
|
inlineinherited |
woelk 11/2007 (c) www.vision-n.de
Definition at line 143 of file Matrix3x3.hh.
|
inherited |
woelk 11/2007 (c) www.vision-n.de
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inlineinherited |
Definition at line 91 of file Matrix3x3.hh.
|
inlineinherited |
Definition at line 95 of file Matrix3x3.hh.
|
inherited |
|
inlineinherited |
scalar-matrix multiplication
void HomgPoint2DCov::SetAndMakeSymmetric | ( | const Matrix3x3< double > & | m | ) |
Sets from matrix and enforces symmetry.
Definition at line 167 of file HomgPoint2DCov.cpp.
|
inherited |
Sets matrix from vector as cross product matrix of this vector.
|
inherited |
Sets matrix from vector as cross product matrix of a vector.
with components (x, y, z)
|
inherited |
void HomgPoint2DCov::SetEuclidean | ( | const Matrix2x2< double > & | m | ) |
Definition at line 139 of file HomgPoint2DCov.cpp.
References CheckSymmetry(), and BIAS::Matrix3x3< double >::SetZero().
Referenced by HomgPoint2DCov().
|
inherited |
set this matrix from 3 vectors each representating a column
|
inherited |
set this matrix from 3 vectors, each representating a row
|
inherited |
sets the diagonalelements of this 3x3 Matrix rowwise with the values of the 9 (x1) vector
|
inlineinherited |
set the elements of this matrix to the identity matrix (possibly overriding the inherited method)
|
inherited |
|
inlineinherited |
Referenced by SetEuclidean().
|
inlineinherited |
return the trace of the matrix
Definition at line 230 of file Matrix3x3.hh.
|
inherited |
returns transposed matrix tested 12.06.2002
|
inlineinherited |
sets this as transposed arg, fw
|
inlineinherited |
multiplies matrix from left with transposed argvec, resulting in transposed destvec
|
inlineinherited |
tranpose this matrix "in place" example: 0 1 2 –> 0 3 6 3 4 5 –> 1 4 7 6 7 8 –> 2 5 8
|
protectedinherited |
Definition at line 282 of file Matrix3x3.hh.