Basic Image AlgorithmS Library
2.8.0
|
Slim class bundling essential matrix parameterization and associated covariance matrix. More...
#include <Base/Geometry/EParametrization.hh>
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... | |
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.
Definition at line 52 of file EParametrization.hh.
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().
|
inlineprotected |
Definition at line 151 of file EParametrization.hh.
Referenced by GetEpipole(), GetEpipole3(), and GetOrientation().
|
inlineprotected |
Definition at line 163 of file EParametrization.hh.
|
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.
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.
Referenced by BIAS::operator<<().
void EParametrization::GetEpipoleCov | ( | Matrix3x3< EP_TYPE > & | cov | ) | 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
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.
Referenced by GetEssentialMatrix(), Invert(), and BIAS::operator<<().
Matrix4x4< EP_TYPE > EParametrization::GetOrientationCov | ( | ) | const |
covariance to GetOrientation()
Definition at line 192 of file EParametrization.cpp.
References Cov_.
void EParametrization::Invert | ( | ) |
inverts the direction,
Definition at line 228 of file EParametrization.cpp.
References E_, GetEpipole(), GetOrientation(), BIAS::Quaternion< T >::Invert(), and BIAS::Quaternion< T >::MultVec().
bool EParametrization::Load | ( | const std::string & | file | ) |
Definition at line 160 of file EParametrization.cpp.
void EParametrization::Normalize | ( | const bool | update_covariance = true | ) |
Definition at line 248 of file EParametrization.cpp.
References Cov_, E_, BIAS::Equal(), BIAS::MatrixIdentity, BIAS::MatrixZero, BIAS::Vector3< T >::OuterProduct(), BIAS::Vector3< T >::ScalarProduct(), BIAS::Vector< T >::Size(), and BIAS::Matrix< T >::Transpose().
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>>().
|
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
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
Definition at line 127 of file EParametrization.cpp.
References Cov_, E_, and BIAS::Matrix< T >::SetZero().
|
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().
|
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().