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

Slim class bundling essential matrix parameterization and associated covariance matrix. More...

#include <Base/Geometry/EParametrization.hh>

+ Collaboration diagram for BIAS::EParametrization:

Public Member Functions

 EParametrization ()
 
 EParametrization (const Vector< EP_TYPE > &EQvec, const Matrix< EP_TYPE > &covariance)
 
 EParametrization (const Vector3< EP_TYPE > &epipole, const Quaternion< EP_TYPE > &orientation, const Matrix< EP_TYPE > &covariance)
 
const Matrix< EP_TYPE > & GetCov () const
 returns the covariance matrix associated with the EQ vector More...
 
Matrix< EP_TYPE > GetCovarianceMatrix () const
 return whole (with orientation and epipole) covariance matrix More...
 
void GetEpipole (Vector3< EP_TYPE > &epipole) const
 returns the epipole (first 3 entries) part of the essential matrix parametrization vector More...
 
Vector3< EP_TYPE > GetEpipole3 () const
 returns the epipole (first 3 entries) part of the essential matrix parametrization vector More...
 
void GetEpipoleCov (Matrix3x3< EP_TYPE > &cov) const
 covariance to GetEpipole(), More...
 
const Vector< EP_TYPE > & GetEQ7 () const
 Returns a vector of dimension 7 where first 3 entries are the epipole and the last 4 entries are the quaternion orientation. More...
 
Matrix3x3< EP_TYPE > GetEssentialMatrix () const
 returns the essential matrix computed from parametrization More...
 
void GetEssentialMatrix (Matrix3x3< EP_TYPE > &E) const
 returns the essential matrix computed from parametrization More...
 
Quaternion< EP_TYPE > GetOrientation () const
 returns the quaternion (last 4 entries) part of the essential matrix parametrization vector More...
 
Matrix4x4< EP_TYPE > GetOrientationCov () const
 covariance to GetOrientation() More...
 
void Invert ()
 inverts the direction, More...
 
bool Load (const std::string &file)
 
void Normalize (const bool update_covariance=true)
 
bool Save (const std::string &file) const
 
void Set (const Vector3< EP_TYPE > &epipole, const Quaternion< EP_TYPE > &orientation, const Matrix< EP_TYPE > &covariance)
 Set this from epipole, orientation and covariance. More...
 
void Set (const Vector< EP_TYPE > &EQvec, const Matrix< EP_TYPE > &Cov)
 
void SetCovarianceMatrix (const Matrix< EP_TYPE > &Cov)
 Sets covariance matrix from Cov. More...
 
void SetEpipole (const Vector3< EP_TYPE > &epipole)
 set epipole part of vector and zero covariance matrix More...
 
void SetEQ (const Vector< EP_TYPE > &EQvec)
 Set this from E parametrization. More...
 
void SetEQ (const Vector3< EP_TYPE > &epipole, const Quaternion< EP_TYPE > &orientation)
 Set this from epipole and orientation. More...
 
void SetOrientation (const Quaternion< EP_TYPE > &q)
 set orientation part of vector and zero covariance matrix More...
 

Protected Member Functions

void E2EQ_ (const Vector< EP_TYPE > &E, Vector3< EP_TYPE > &epipole, Quaternion< EP_TYPE > &orientation) const
 
void EQ2E_ (const Vector3< EP_TYPE > &epipole, const Quaternion< EP_TYPE > &orientation, Vector< EP_TYPE > &E) const
 

Protected Attributes

Matrix< EP_TYPE > Cov_
 first 3 columns relate to epipole, the last four columns relate to the orientation More...
 
Vector< EP_TYPE > E_
 first 3 entries relate to the epipole, the last four to the quaternion orientation More...
 

Detailed Description

Slim class bundling essential matrix parameterization and associated covariance matrix.

The essential is parameterized as vector of dimension 7 where the first 3 entries represent the epipole and the last 4 entries represent the quaternion orientation.

Author
woelk 07/2006
Examples:
ExampleEParametrization.cpp.

Definition at line 52 of file EParametrization.hh.

Constructor & Destructor Documentation

EParametrization::EParametrization ( )

Definition at line 13 of file EParametrization.cpp.

References E_.

EParametrization::EParametrization ( const Vector< EP_TYPE > &  EQvec,
const Matrix< EP_TYPE > &  covariance 
)

Definition at line 21 of file EParametrization.cpp.

References Set().

EParametrization::EParametrization ( const Vector3< EP_TYPE > &  epipole,
const Quaternion< EP_TYPE > &  orientation,
const Matrix< EP_TYPE > &  covariance 
)

Definition at line 29 of file EParametrization.cpp.

References Set().

Member Function Documentation

void BIAS::EParametrization::E2EQ_ ( const Vector< EP_TYPE > &  E,
Vector3< EP_TYPE > &  epipole,
Quaternion< EP_TYPE > &  orientation 
) const
inlineprotected

Definition at line 151 of file EParametrization.hh.

Referenced by GetEpipole(), GetEpipole3(), and GetOrientation().

void BIAS::EParametrization::EQ2E_ ( const Vector3< EP_TYPE > &  epipole,
const Quaternion< EP_TYPE > &  orientation,
Vector< EP_TYPE > &  E 
) const
inlineprotected

Definition at line 163 of file EParametrization.hh.

Referenced by Set(), and SetEQ().

const Matrix<EP_TYPE>& BIAS::EParametrization::GetCov ( ) const
inline

returns the covariance matrix associated with the EQ vector

Definition at line 91 of file EParametrization.hh.

Referenced by BIAS::EssentialPoint2Line::Compute().

Matrix< EP_TYPE > EParametrization::GetCovarianceMatrix ( ) const

return whole (with orientation and epipole) covariance matrix

Definition at line 82 of file EParametrization.cpp.

References Cov_.

Referenced by BIAS::operator<<().

void EParametrization::GetEpipole ( Vector3< EP_TYPE > &  epipole) const

returns the epipole (first 3 entries) part of the essential matrix parametrization vector

Definition at line 99 of file EParametrization.cpp.

References E2EQ_(), and E_.

Referenced by GetEssentialMatrix(), and Invert().

Vector3< EP_TYPE > EParametrization::GetEpipole3 ( ) const

returns the epipole (first 3 entries) part of the essential matrix parametrization vector

Definition at line 89 of file EParametrization.cpp.

References E2EQ_(), and E_.

Referenced by BIAS::operator<<().

void EParametrization::GetEpipoleCov ( Matrix3x3< EP_TYPE > &  cov) const

covariance to GetEpipole(),

Author
woelk 09/2006 covariance to GetEpipole(Vector3<double>))
woelk 09/2006

Definition at line 205 of file EParametrization.cpp.

References Cov_.

const Vector<EP_TYPE>& BIAS::EParametrization::GetEQ7 ( ) const
inline

Returns a vector of dimension 7 where first 3 entries are the epipole and the last 4 entries are the quaternion orientation.

Definition at line 87 of file EParametrization.hh.

Referenced by BIAS::EssentialPoint2Line::Compute().

Matrix3x3< EP_TYPE > EParametrization::GetEssentialMatrix ( ) const

returns the essential matrix computed from parametrization

Examples:
ExampleEParametrization.cpp.

Definition at line 149 of file EParametrization.cpp.

Referenced by BIAS::EssentialPoint2Line::Transform_().

void EParametrization::GetEssentialMatrix ( Matrix3x3< EP_TYPE > &  E) const

returns the essential matrix computed from parametrization

Definition at line 137 of file EParametrization.cpp.

References GetEpipole(), GetOrientation(), BIAS::Matrix3x3< T >::SetAsCrossProductMatrix(), and BIAS::RMatrixBase::SetFromQuaternion().

Quaternion< EP_TYPE > EParametrization::GetOrientation ( ) const

returns the quaternion (last 4 entries) part of the essential matrix parametrization vector

Definition at line 107 of file EParametrization.cpp.

References E2EQ_(), and E_.

Referenced by GetEssentialMatrix(), Invert(), and BIAS::operator<<().

Matrix4x4< EP_TYPE > EParametrization::GetOrientationCov ( ) const

covariance to GetOrientation()

Author
woelk 09/2006

Definition at line 192 of file EParametrization.cpp.

References Cov_.

void EParametrization::Invert ( )
bool EParametrization::Load ( const std::string &  file)

Definition at line 160 of file EParametrization.cpp.

void EParametrization::Normalize ( const bool  update_covariance = true)
bool EParametrization::Save ( const std::string &  file) const

Definition at line 176 of file EParametrization.cpp.

void EParametrization::Set ( const Vector3< EP_TYPE > &  epipole,
const Quaternion< EP_TYPE > &  orientation,
const Matrix< EP_TYPE > &  covariance 
)

Set this from epipole, orientation and covariance.

Definition at line 38 of file EParametrization.cpp.

References EQ2E_().

Referenced by EParametrization(), and BIAS::operator>>().

void BIAS::EParametrization::Set ( const Vector< EP_TYPE > &  EQvec,
const Matrix< EP_TYPE > &  Cov 
)
inline

Definition at line 78 of file EParametrization.hh.

void EParametrization::SetCovarianceMatrix ( const Matrix< EP_TYPE > &  Cov)

Sets covariance matrix from Cov.

Cov must be a 7x7 symmetric positive definite matrix (i.e. a covariance matrix)

Definition at line 69 of file EParametrization.cpp.

References Cov_, TNT::Matrix< T >::num_cols(), and TNT::Matrix< T >::num_rows().

void EParametrization::SetEpipole ( const Vector3< EP_TYPE > &  epipole)

set epipole part of vector and zero covariance matrix

Examples:
ExampleEParametrization.cpp.

Definition at line 117 of file EParametrization.cpp.

References Cov_, E_, and BIAS::Matrix< T >::SetZero().

void EParametrization::SetEQ ( const Vector< EP_TYPE > &  EQvec)

Set this from E parametrization.

Zeros associated covariance matrix

Definition at line 58 of file EParametrization.cpp.

References Cov_, E_, BIAS::Matrix< T >::SetZero(), and TNT::Vector< T >::size().

Referenced by BIAS::EssentialPoint2Line::Transform_().

void EParametrization::SetEQ ( const Vector3< EP_TYPE > &  epipole,
const Quaternion< EP_TYPE > &  orientation 
)

Set this from epipole and orientation.

Zeros associated covariance matrix

Definition at line 47 of file EParametrization.cpp.

References Cov_, E_, EQ2E_(), and BIAS::Matrix< T >::SetZero().

void EParametrization::SetOrientation ( const Quaternion< EP_TYPE > &  q)

set orientation part of vector and zero covariance matrix

Examples:
ExampleEParametrization.cpp.

Definition at line 127 of file EParametrization.cpp.

References Cov_, E_, and BIAS::Matrix< T >::SetZero().

Member Data Documentation

Matrix<EP_TYPE> BIAS::EParametrization::Cov_
protected

first 3 columns relate to epipole, the last four columns relate to the orientation

Definition at line 149 of file EParametrization.hh.

Referenced by GetCovarianceMatrix(), GetEpipoleCov(), GetOrientationCov(), Normalize(), SetCovarianceMatrix(), SetEpipole(), SetEQ(), and SetOrientation().

Vector<EP_TYPE> BIAS::EParametrization::E_
protected

first 3 entries relate to the epipole, the last four to the quaternion orientation

Definition at line 146 of file EParametrization.hh.

Referenced by EParametrization(), GetEpipole(), GetEpipole3(), GetOrientation(), Invert(), Normalize(), SetEpipole(), SetEQ(), and SetOrientation().


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