Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Attributes | List of all members
BIAS::HMatrixBase Class Reference

describes a homography More...

#include <Base/Geometry/HMatrixBase.hh>

+ Inheritance diagram for BIAS::HMatrixBase:

Public Member Functions

void GetAbsMaxMin (HMATRIX_TYPE &max, HMATRIX_TYPE &min) const
 
void GetColumn (const unsigned int col, Vector3< HMATRIX_TYPE > &r) const
 extract one column ('Spalte') from this matrix (for convenience) More...
 
BIAS::Vector3< HMATRIX_TYPE > GetColumn (const unsigned int col) const
 
HMATRIX_TYPE * GetData ()
 
const HMATRIX_TYPE * GetData () const
 
HMATRIX_TYPE GetDeterminant () const
 returns the Determinant |A| of this More...
 
int GetInverse (Matrix3x3< HMATRIX_TYPE > &inv) const
 Matrix inversion: inverts this and stores resulty in argument inv. More...
 
HMATRIX_TYPE GetMax () const
 
void GetMaxMin (HMATRIX_TYPE &max, HMATRIX_TYPE &min) const
 return biggest and smallest entry More...
 
HMATRIX_TYPE GetMin () const
 
unsigned GetNumElements () const
 
void GetRow (const unsigned int row, Vector3< HMATRIX_TYPE > &r) const
 extract one row ('Zeile') from ths matrix (for convenience) More...
 
Vector3< HMATRIX_TYPE > GetRow (const unsigned int row) const
 
 HMatrixBase ()
 default constructor alpha (02/25/2002) , tested in part More...
 
 HMatrixBase (const MatrixInitType &i)
 constructor setting identity or zero More...
 
 HMatrixBase (const HMatrixBase &A)
 
 HMatrixBase (const Matrix3x3< HMATRIX_TYPE > &A)
 
 HMatrixBase (const Matrix< HMATRIX_TYPE > &A)
 
int InvertIP ()
 In place matrix conversion. More...
 
bool IsIdentity (const HMATRIX_TYPEeps=std::numeric_limits< HMATRIX_TYPE >::epsilon()) const
 
bool IsZero (const HMATRIX_TYPEeps=std::numeric_limits< HMATRIX_TYPE >::epsilon()) const
 
bool Load (const std::string &fname)
 
void MakeSymmetric ()
 
void Mult (const Vector3< HMATRIX_TYPE > &argvec, Vector3< HMATRIX_TYPE > &destvec) const
 matrix - vector multiplicate this matrix with Vector3, storing the result in destvec calculates: destvec = (this Matrix) * argvec More...
 
void Mult (const Matrix3x3< HMATRIX_TYPE > &argmat, Matrix3x3< HMATRIX_TYPE > &destmat) const
 matrix-matrix multiplication with other Matrix3x3, storing the result in destmat calculates: destmat = (this mat) * argmat More...
 
void Mult (const Matrix3x4< HMATRIX_TYPE > &argmat, Matrix3x4< HMATRIX_TYPE > &destmat) const
 
HMATRIX_TYPE Normalize ()
 divide this by biggest absolute entry, returns biggest entry More...
 
double NormFrobenius () const
 
HMATRIX_TYPE NormL1 () const
 
double NormL2 () const
 
bool operator!= (const Matrix3x3< HMATRIX_TYPE > &arg) const
 
Matrix3x3< HMATRIX_TYPE > & operator*= (const Matrix3x3< HMATRIX_TYPE > &arg)
 woelk 11/2007 (c) www.vision-n.de More...
 
Matrix3x3< HMATRIX_TYPE > & operator*= (const HMATRIX_TYPE &arg)
 woelk 11/2007 (c) www.vision-n.de More...
 
Matrix3x3< HMATRIX_TYPE > & operator+= (const Matrix3x3< HMATRIX_TYPE > &arg)
 
Matrix3x3< HMATRIX_TYPE > & operator-= (const Matrix3x3< HMATRIX_TYPE > &arg)
 
Matrix3x3< HMATRIX_TYPE > & operator/= (const HMATRIX_TYPE &arg)
 
HMatrixBaseoperator= (const HMatrixBase &mat)
 assignment operators calls corresponding operator from parent More...
 
bool operator== (const Matrix3x3< HMATRIX_TYPE > &arg) const
 
HMATRIX_TYPE * operator[] (const unsigned row)
 
const HMATRIX_TYPE * operator[] (const unsigned row) const
 
bool Save (const std::string &fname) const
 
void Scale (const HMATRIX_TYPE &scalar, Matrix3x3< HMATRIX_TYPE > &destmat) const
 scalar-matrix multiplication More...
 
void SetAsCrossProductMatrix (const Vector3< HMATRIX_TYPE > &vec)
 Sets matrix from vector as cross product matrix of this vector. More...
 
void SetAsCrossProductMatrix (const HMATRIX_TYPE &x, const HMATRIX_TYPE &y, const HMATRIX_TYPE &z)
 Sets matrix from vector as cross product matrix of a vector. More...
 
void SetColumn (const unsigned int col, const Vector3< HMATRIX_TYPE > &c)
 
void SetFromColumnVectors (const BIAS::Vector3< HMATRIX_TYPE > &v0, const BIAS::Vector3< HMATRIX_TYPE > &v1, const BIAS::Vector3< HMATRIX_TYPE > &v2)
 set this matrix from 3 vectors each representating a column More...
 
void SetFromRowVectors (const BIAS::Vector3< HMATRIX_TYPE > &v0, const BIAS::Vector3< HMATRIX_TYPE > &v1, const BIAS::Vector3< HMATRIX_TYPE > &v2)
 set this matrix from 3 vectors, each representating a row More...
 
void SetFromVector (const TNT::Vector< HMATRIX_TYPE > &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< HMATRIX_TYPE > &r)
 
void SetZero ()
 
HMATRIX_TYPE Trace () const
 return the trace of the matrix More...
 
Matrix3x3< HMATRIX_TYPE > Transpose () const
 returns transposed matrix tested 12.06.2002 More...
 
void Transpose (const Matrix3x3< HMATRIX_TYPE > &arg)
 sets this as transposed arg, fw More...
 
void TransposedMult (const Vector3< HMATRIX_TYPE > &argvec, Vector3< HMATRIX_TYPE > &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...
 
 ~HMatrixBase ()
 

Protected Attributes

HMATRIX_TYPE Data_ [9]
 

Detailed Description

describes a homography

A HMatrixBase describes a homography (mapping between two planes) between homogenous 2D coordinates by a 3x3 Matrix. It is derived from Matrix3x3. Only implementation very specific to HMatrixBase (and not valid for general 3x3 matrices, e.g. like decomposition) should be implemented here.

Author
Jan Woetzel alpha (04/18/2002) now a direct child of Matrix3x3 (and no more of Matrix<HMATRIX_TYPE>) alpha (02/26/2002)

Definition at line 58 of file HMatrixBase.hh.

Constructor & Destructor Documentation

BIAS::HMatrixBase::HMatrixBase ( )
inline

default constructor alpha (02/25/2002) , tested in part

Definition at line 63 of file HMatrixBase.hh.

BIAS::HMatrixBase::HMatrixBase ( const MatrixInitType i)
inlineexplicit

constructor setting identity or zero

author koeser

Definition at line 70 of file HMatrixBase.hh.

BIAS::HMatrixBase::HMatrixBase ( const HMatrixBase A)
inline
Author
Jan Woetzel untested (02/25/2002)

Definition at line 75 of file HMatrixBase.hh.

BIAS::HMatrixBase::HMatrixBase ( const Matrix3x3< HMATRIX_TYPE > &  A)
inline

Definition at line 77 of file HMatrixBase.hh.

BIAS::HMatrixBase::HMatrixBase ( const Matrix< HMATRIX_TYPE > &  A)
inline

Definition at line 80 of file HMatrixBase.hh.

HMatrixBase::~HMatrixBase ( )

Definition at line 31 of file HMatrixBase.cpp.

Member Function Documentation

void BIAS::Matrix3x3< HMATRIX_TYPE >::GetAbsMaxMin ( HMATRIX_TYPE &  max,
HMATRIX_TYPE &  min 
) const
inherited
Author
woelk 11/2007 (c) www.vision-n.de
void BIAS::Matrix3x3< HMATRIX_TYPE >::GetColumn ( const unsigned int  col,
Vector3< HMATRIX_TYPE > &  r 
) const
inherited

extract one column ('Spalte') from this matrix (for convenience)

BIAS::Vector3<HMATRIX_TYPE > BIAS::Matrix3x3< HMATRIX_TYPE >::GetColumn ( const unsigned int  col) const
inlineinherited

Definition at line 202 of file Matrix3x3.hh.

HMATRIX_TYPE * BIAS::Matrix3x3< HMATRIX_TYPE >::GetData ( )
inlineinherited
Author
woelk 11/2007 (c) www.vision-n.de

Definition at line 99 of file Matrix3x3.hh.

const HMATRIX_TYPE * BIAS::Matrix3x3< HMATRIX_TYPE >::GetData ( ) const
inlineinherited
Author
woelk 11/2007 (c) www.vision-n.de

Definition at line 103 of file Matrix3x3.hh.

HMATRIX_TYPE BIAS::Matrix3x3< HMATRIX_TYPE >::GetDeterminant ( ) const
inherited

returns the Determinant |A| of this

Author
grest
int BIAS::Matrix3x3< HMATRIX_TYPE >::GetInverse ( Matrix3x3< HMATRIX_TYPE > &  inv) const
inherited

Matrix inversion: inverts this and stores resulty in argument inv.

Returns -1 if determinant is zero, 0 on success.

Author
woelk 07/2005
Examples:
EvaluateAlignment.cpp, and ExampleHomographyMapping.cpp.
HMATRIX_TYPE BIAS::Matrix3x3< HMATRIX_TYPE >::GetMax ( ) const
inherited
Author
woelk 11/2007 (c) www.vision-n.de
void BIAS::Matrix3x3< HMATRIX_TYPE >::GetMaxMin ( HMATRIX_TYPE &  max,
HMATRIX_TYPE &  min 
) const
inherited

return biggest and smallest entry

Author
woelk 08/2004
HMATRIX_TYPE BIAS::Matrix3x3< HMATRIX_TYPE >::GetMin ( ) const
inherited
Author
woelk 11/2007 (c) www.vision-n.de
unsigned BIAS::Matrix3x3< HMATRIX_TYPE >::GetNumElements ( ) const
inlineinherited
Author
woelk 11/2007 (c) www.vision-n.de

Definition at line 107 of file Matrix3x3.hh.

void BIAS::Matrix3x3< HMATRIX_TYPE >::GetRow ( const unsigned int  row,
Vector3< HMATRIX_TYPE > &  r 
) const
inherited

extract one row ('Zeile') from ths matrix (for convenience)

Vector3<HMATRIX_TYPE > BIAS::Matrix3x3< HMATRIX_TYPE >::GetRow ( const unsigned int  row) const
inlineinherited

Definition at line 196 of file Matrix3x3.hh.

int BIAS::Matrix3x3< HMATRIX_TYPE >::InvertIP ( )
inherited

In place matrix conversion.

Returns -1 if determinant is zero, 0 on success.

Author
woelk 07/2005
bool BIAS::Matrix3x3< HMATRIX_TYPE >::IsIdentity ( const HMATRIX_TYPE  eps = std::numeric_limits<T>::epsilon()) const
inherited
Author
woelk 12/2007 (c) www.vision-n.de
bool BIAS::Matrix3x3< HMATRIX_TYPE >::IsZero ( const HMATRIX_TYPE  eps = std::numeric_limits<T>::epsilon()) const
inherited
Author
woelk 11/2007 (c) www.vision-n.de
bool BIAS::Matrix3x3< HMATRIX_TYPE >::Load ( const std::string &  fname)
inherited
void BIAS::Matrix3x3< HMATRIX_TYPE >::MakeSymmetric ( )
inherited
Author
woelk 11/2007 (c) www.vision-n.de
void BIAS::Matrix3x3< HMATRIX_TYPE >::Mult ( const Vector3< HMATRIX_TYPE > &  argvec,
Vector3< HMATRIX_TYPE > &  destvec 
) const
inlineinherited

matrix - vector multiplicate this matrix with Vector3, storing the result in destvec calculates: destvec = (this Matrix) * argvec

Author
Ingo Thomsen, Jan Woetzel untested (04/17/2002)
void BIAS::Matrix3x3< HMATRIX_TYPE >::Mult ( const Matrix3x3< HMATRIX_TYPE > &  argmat,
Matrix3x3< HMATRIX_TYPE > &  destmat 
) const
inlineinherited

matrix-matrix multiplication with other Matrix3x3, storing the result in destmat calculates: destmat = (this mat) * argmat

Author
Ingo Thomsen, Jan Woetzel untested (04/17/2002)
void BIAS::Matrix3x3< HMATRIX_TYPE >::Mult ( const Matrix3x4< HMATRIX_TYPE > &  argmat,
Matrix3x4< HMATRIX_TYPE > &  destmat 
) const
inherited
Author
woelk 06 2003
HMATRIX_TYPE BIAS::Matrix3x3< HMATRIX_TYPE >::Normalize ( )
inherited

divide this by biggest absolute entry, returns biggest entry

Author
woelk 11/2007 (c) www.vision-n.de
double BIAS::Matrix3x3< HMATRIX_TYPE >::NormFrobenius ( ) const
inlineinherited
Author
woelk 11/2007 (c) www.vision-n.de
HMATRIX_TYPE BIAS::Matrix3x3< HMATRIX_TYPE >::NormL1 ( ) const
inlineinherited
double BIAS::Matrix3x3< HMATRIX_TYPE >::NormL2 ( ) const
inlineinherited

Definition at line 255 of file Matrix3x3.hh.

bool BIAS::Matrix3x3< HMATRIX_TYPE >::operator!= ( const Matrix3x3< HMATRIX_TYPE > &  arg) const
inlineinherited

Definition at line 274 of file Matrix3x3.hh.

Matrix3x3<HMATRIX_TYPE >& BIAS::Matrix3x3< HMATRIX_TYPE >::operator*= ( const Matrix3x3< HMATRIX_TYPE > &  arg)
inlineinherited

woelk 11/2007 (c) www.vision-n.de

Definition at line 143 of file Matrix3x3.hh.

Matrix3x3<HMATRIX_TYPE >& BIAS::Matrix3x3< HMATRIX_TYPE >::operator*= ( const HMATRIX_TYPE &  arg)
inherited

woelk 11/2007 (c) www.vision-n.de

Matrix3x3<HMATRIX_TYPE >& BIAS::Matrix3x3< HMATRIX_TYPE >::operator+= ( const Matrix3x3< HMATRIX_TYPE > &  arg)
inherited
Author
woelk 11/2007 (c) www.vision-n.de
Matrix3x3<HMATRIX_TYPE >& BIAS::Matrix3x3< HMATRIX_TYPE >::operator-= ( const Matrix3x3< HMATRIX_TYPE > &  arg)
inherited
Author
woelk 11/2007 (c) www.vision-n.de
Matrix3x3<HMATRIX_TYPE >& BIAS::Matrix3x3< HMATRIX_TYPE >::operator/= ( const HMATRIX_TYPE &  arg)
inherited
Author
woelk 11/2007 (c) www.vision-n.de
HMatrixBase& BIAS::HMatrixBase::operator= ( const HMatrixBase mat)
inline

assignment operators calls corresponding operator from parent

Author
Felix Woelk alpha (10/28/2002)

Definition at line 87 of file HMatrixBase.hh.

References BIAS::Matrix3x3< T >::operator=().

Referenced by BIAS::HMatrix::operator=().

bool BIAS::Matrix3x3< HMATRIX_TYPE >::operator== ( const Matrix3x3< HMATRIX_TYPE > &  arg) const
inherited
HMATRIX_TYPE * BIAS::Matrix3x3< HMATRIX_TYPE >::operator[] ( const unsigned  row)
inlineinherited
Author
woelk 11/2007 (c) www.vision-n.de

Definition at line 91 of file Matrix3x3.hh.

const HMATRIX_TYPE * BIAS::Matrix3x3< HMATRIX_TYPE >::operator[] ( const unsigned  row) const
inlineinherited
Author
woelk 11/2007 (c) www.vision-n.de

Definition at line 95 of file Matrix3x3.hh.

bool BIAS::Matrix3x3< HMATRIX_TYPE >::Save ( const std::string &  fname) const
inherited
void BIAS::Matrix3x3< HMATRIX_TYPE >::Scale ( const HMATRIX_TYPE &  scalar,
Matrix3x3< HMATRIX_TYPE > &  destmat 
) const
inlineinherited

scalar-matrix multiplication

void BIAS::Matrix3x3< HMATRIX_TYPE >::SetAsCrossProductMatrix ( const Vector3< HMATRIX_TYPE > &  vec)
inherited

Sets matrix from vector as cross product matrix of this vector.

void BIAS::Matrix3x3< HMATRIX_TYPE >::SetAsCrossProductMatrix ( const HMATRIX_TYPE &  x,
const HMATRIX_TYPE &  y,
const HMATRIX_TYPE &  z 
)
inherited

Sets matrix from vector as cross product matrix of a vector.

with components (x, y, z)

void BIAS::Matrix3x3< HMATRIX_TYPE >::SetColumn ( const unsigned int  col,
const Vector3< HMATRIX_TYPE > &  c 
)
inherited
Author
woelk 11/2007 (c) www.vision-n.de
void BIAS::Matrix3x3< HMATRIX_TYPE >::SetFromColumnVectors ( const BIAS::Vector3< HMATRIX_TYPE > &  v0,
const BIAS::Vector3< HMATRIX_TYPE > &  v1,
const BIAS::Vector3< HMATRIX_TYPE > &  v2 
)
inherited

set this matrix from 3 vectors each representating a column

void BIAS::Matrix3x3< HMATRIX_TYPE >::SetFromRowVectors ( const BIAS::Vector3< HMATRIX_TYPE > &  v0,
const BIAS::Vector3< HMATRIX_TYPE > &  v1,
const BIAS::Vector3< HMATRIX_TYPE > &  v2 
)
inherited

set this matrix from 3 vectors, each representating a row

void BIAS::Matrix3x3< HMATRIX_TYPE >::SetFromVector ( const TNT::Vector< HMATRIX_TYPE > &  vec)
inherited

sets the diagonalelements of this 3x3 Matrix rowwise with the values of the 9 (x1) vector

Author
Ingo Thomsen, Jan Woetzel
void BIAS::Matrix3x3< HMATRIX_TYPE >::SetIdentity ( )
inlineinherited

set the elements of this matrix to the identity matrix (possibly overriding the inherited method)

Author
Ingo Thomsen, Jan Woetzel
Date
04/17/2002 untested
Examples:
EvaluateAlignment.cpp.
void BIAS::Matrix3x3< HMATRIX_TYPE >::SetRow ( const unsigned int  row,
const Vector3< HMATRIX_TYPE > &  r 
)
inherited
Author
woelk 11/2007 (c) www.vision-n.de
void BIAS::Matrix3x3< HMATRIX_TYPE >::SetZero ( )
inlineinherited
Author
woelk 11/2007 (c) www.vision-n.de
HMATRIX_TYPE BIAS::Matrix3x3< HMATRIX_TYPE >::Trace ( ) const
inlineinherited

return the trace of the matrix

Author
woelk 04/2006

Definition at line 230 of file Matrix3x3.hh.

Matrix3x3<HMATRIX_TYPE > BIAS::Matrix3x3< HMATRIX_TYPE >::Transpose ( ) const
inherited

returns transposed matrix tested 12.06.2002

Author
Felix Woelk
Examples:
ExampleHomographyMapping.cpp.
void BIAS::Matrix3x3< HMATRIX_TYPE >::Transpose ( const Matrix3x3< HMATRIX_TYPE > &  arg)
inlineinherited

sets this as transposed arg, fw

void BIAS::Matrix3x3< HMATRIX_TYPE >::TransposedMult ( const Vector3< HMATRIX_TYPE > &  argvec,
Vector3< HMATRIX_TYPE > &  destvec 
) const
inlineinherited

multiplies matrix from left with transposed argvec, resulting in transposed destvec

Author
woelk 05/2003
void BIAS::Matrix3x3< HMATRIX_TYPE >::TransposeIP ( )
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

Member Data Documentation

HMATRIX_TYPE BIAS::Matrix3x3< HMATRIX_TYPE >::Data_[9]
protectedinherited

Definition at line 282 of file Matrix3x3.hh.


The documentation for this class was generated from the following files: