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

Represents 3d pose transformations, parametrized as Euclidean translation and unit quaternion orientation. More...

#include <Geometry/Pose.hh>

+ Inheritance diagram for BIAS::Pose:
+ Collaboration diagram for BIAS::Pose:

Public Member Functions

void BecomeRelativeTransform (const CoordinateTransform3D &newLocal, const CoordinateTransform3D &newGlobal)
 Changes this coordinate transformation so that parameter newLocal becomes the local coordinate frame and parameter newGlobal becomes the global coordinate system. More...
 
void ConcatenateLocalTransform (const CoordinateTransform3D &localT, CoordinateTransform3D &res) const
 Calculates transformation from global system of this instance to the local coordinate system of the given instance. More...
 
const Vector3< double > & GetC () const
 Set origin of local coordinate system in global coordinates. More...
 
const Matrix< POSE_TYPE > & GetCovariance () const
 Return the 7x7 covariance matrix Cov([C Q]). More...
 
Matrix3x3< POSE_TYPE > GetCovC () const
 Return the 3x3 covariance matrix Cov(C) of the translation part C of this pose transformation. More...
 
Matrix4x4< POSE_TYPE > GetCovQ () const
 Return the 4x4 covariance matrix Cov(Q) of the rotational part of this pose transformation described by unit quaternion Q. More...
 
const Vector< double > GetCQ () const
 Get orientation and origin of local coordinate system as a single vector containing first a 3d vector [c_x, c_y, c_z], then a unit quaternion [q_x, q_y, q_z, q_w]. More...
 
Matrix4x4< double > GetGlobalToLocalTransform () const
 Get 4x4 matrix which transforms points in global coordinate system to homogeneous points in local coordinate system. More...
 
Matrix4x4< double > GetLocalToGlobalTransform () const
 Get 4x4 matrix which transforms points in local coordinate system to homogeneous points in global coordinate system. More...
 
Matrix3x4< double > GetMatrix3x4 () const
 Set rotation and translation from pose object. More...
 
Matrix4x4< double > GetMatrix4x4 () const
 Get 4x4 matrix which transforms points in global coordinate system to homogeneous points in local coordinate system. More...
 
PoseParametrization GetPoseParameters () const
 Get pose parametrization representing this pose. More...
 
const Quaternion< double > & GetQ () const
 Get orientation of local coordinate system as unit quaternion mapping from local coordinates to global coordinates. More...
 
BIAS::RMatrixBase GetR () const
 Get orientation of local coordinate system as rotation matrix mapping from local coordinates to global coordinates. More...
 
const double & GetScale () const
 Get the length of the local coordinate axes in the world coordinate frame. More...
 
Vector3< double > GetXAxis () const
 
Vector3< double > GetYAxis () const
 
Vector3< double > GetZAxis () const
 
HomgPoint3D GlobalToLocal (const HomgPoint3D &X_G) const
 Transform point from world frame to local coordinate frame. More...
 
void GlobalToLocal (HomgPoint3D &X_G, HomgPoint3DCov &Cov_G) const
 Transform point and its covariance matrix from world frame to local coordinate frame. More...
 
void InvertIP ()
 Swaps the global and local coordinate frame. More...
 
bool Load (const std::string &inputFile)
 Load pose transformation from a text file using operator >>. More...
 
HomgPoint3D LocalToGlobal (const HomgPoint3D &X_L) const
 Transform point from local frame to world coordinate frame. More...
 
void LocalToGlobal (HomgPoint3D &X_L, HomgPoint3DCov &Cov_L) const
 Transform point and its covariance matrix from local frame to world coordinate frame. More...
 
const bool LookAt (const Vector3< double > &eye, Vector3< double > center, const Vector3< double > &up)
 Create pose of camera looking at given point, similar to gluLookAt(). More...
 
const bool LookAt (const Vector3< double > &center, const Vector3< double > &up)
 Create pose of camera looking at given point, similar to gluLookAt(). More...
 
const bool LookAtGL (const Vector3< double > &eye, Vector3< double > center, const Vector3< double > &up)
 Create pose of camera looking at given point, similar to gluLookAt(). More...
 
const bool LookAtGL (const Vector3< double > &center, const Vector3< double > &up)
 Looks at given point, similar to gluLookAt. More...
 
const Poseoperator= (const Pose &p)
 Copy from another pose transformation instance. More...
 
 Pose ()
 Default constructor creates identity pose transformation. More...
 
void RotateLocalFrame (const Quaternion< double > &Q)
 Applies the passed rotation to the orientation of the local frame. More...
 
bool Save (const std::string &outputFile)
 Write pose transformation to a text file using operator <<. More...
 
int Set (const PoseParametrization &pose)
 Set pose from pose parametrization. More...
 
void Set (const Quaternion< POSE_TYPE > &Q, const Vector3< POSE_TYPE > &C)
 Set rotation (resp. More...
 
void Set (const Quaternion< POSE_TYPE > &Q, const Vector3< POSE_TYPE > &C, const Matrix< POSE_TYPE > &cov)
 Set rotation (resp. More...
 
virtual void Set (const Quaternion< double > &Q, const Vector3< double > &C, const double &scale=1.0)
 Define local coordinate frame from within the world frame. More...
 
void SetC (const Vector3< POSE_TYPE > &C, const Matrix3x3< POSE_TYPE > &cov)
 Set translation (resp. More...
 
void SetC (const Vector3< POSE_TYPE > &C)
 Set translation (resp. More...
 
void SetC (const Vector3< double > &C)
 Set origin of local coordinate system in global coordinates. More...
 
int SetCovariance (const Matrix< POSE_TYPE > &c)
 Set covariance matrix explicitely from 7x7 matrix Cov([C Q]). More...
 
int SetCovEuclidean (Matrix< POSE_TYPE > Cov)
 Set covariance matrix explicitely from an Euclidean covariance matrix, i.e. More...
 
void SetFromMatrix3x4 (const Matrix3x4< double > &M)
 Set 3x4 matrix which transforms points in global coordinate system to Euclidean points in local coordinate system. More...
 
void SetQ (const Quaternion< POSE_TYPE > &Q, const Matrix4x4< POSE_TYPE > &cov)
 Set rotation (resp. More...
 
void SetQ (const Quaternion< POSE_TYPE > &Q)
 Set rotation (resp. More...
 
void SetQ (const Quaternion< double > &Q)
 Set orientation of local coordinate system from unit quaternion. More...
 
void SetR (const RMatrixBase &R)
 Get rotation (resp. More...
 
void Talk () const
 Prints this transformation with more intuitive rotation representation. More...
 
void TransformToNewGlobalBy (const CoordinateTransform3D &trsf)
 Transforms the position and orientation stored in this pose into another global coordinate system, i.e. More...
 
xmlNodePtr XMLAdd (const xmlNodePtr Node, XMLIO &XMLObject) const
 call this to add the class to a node of a given xml tree More...
 
virtual int XMLGetClassName (std::string &TopLevelTag, double &Version) const
 Specialization of XML block name function. More...
 
virtual int XMLIn (const xmlNodePtr Node, BIAS::XMLIO &XMLObject)
 Specialization of XML read function. More...
 
virtual int XMLOut (const xmlNodePtr Node, BIAS::XMLIO &XMLObject) const
 Specialization of XML write function. More...
 
int XMLRead (const std::string &Filename)
 derived classes must implement the function XMLIn which is called by this function XMLRead to read everything with name Filename into (*this). More...
 
int XMLReadFromString (const std::string &str)
 reconstruct xml tree from string More...
 
int XMLWrite (const std::string &Filename, int CompressionLevel=0, bool AutoAddCompressionSuffix=true, std::string encoding="UTF-8") const
 call this to add the class to a new xml tree and write it to the file Filename. More...
 
int XMLWriteToString (std::string &str, std::string encoding="UTF-8") const
 serialize xml tree to string More...
 
 ~Pose ()
 

Protected Types

typedef const T * const_iterator
 
typedef const T & const_reference
 
typedef T element_type
 
typedef T * iterator
 
typedef T * pointer
 
typedef T & reference
 
typedef Subscript size_type
 
typedef T value_type
 

Protected Member Functions

void AbsIP ()
 absolute values of all elements of the matrix (in place) More...
 
Matrix< double > Adjoint () const
 computes the adjoint matrix More...
 
bool CheckLookAt_ (Vector3< double > &center, const Vector3< double > &up)
 Checks constraints for parameter of LookAt(). More...
 
void clear ()
 stl conform interface More...
 
void copy (const T *v)
 
void destroy ()
 
double det () const
 calculate the determinant recursively using sub matrices of size 3x3 More...
 
Subscript dim (Subscript d) const
 
void GaussJordan ()
 use the Gauss Jordan Algrithm to transform the matrix to reduced row echelon form. More...
 
Matrix< double > GetMax (Matrix< double > &m)
 returns an matrix the same size as the matrix n and m with the largest elements taken from n or m More...
 
Matrix< double > GetMin (Matrix< double > &m)
 returns an matrix the same size as the matrix n and m with the smallest elements taken from n or m More...
 
void initialize (Subscript M, Subscript N)
 
 initialize (M, N)
 
bool IsIdentity (double eps=0.0) const
 Checks if the matrix a an identity. More...
 
bool IsZero (double eps=0.0) const
 Checks if the matrix is a null matrix. More...
 
void Kronecker (Matrix< double > const B, Matrix< double > &dest) const
 Kronecker-product with matrix, result in dest. More...
 
Subscript lbound () const
 
void Mult (const Vector4< double > &argvec, Vector4< double > &destvec) const
 
matrix - vector multiplicate this matrix with Vector4, 

storing the result in destvec, calculates: destvec = (this Matrix) * argvec More...

 
void Mult (const Matrix4x4< double > &argmat, Matrix4x4< double > &destmat) const
 
matrix-matrix multiplication with other Matrix4x4, 

storing the result in destmat using 'manual inlining' More...

 
Matrix< T > & newsize (Subscript M, Subscript N)
 
Matrix4x4newsize (int rows, int cols)
 
just neccessary to avoid resizing of this 'fixed size' matrix because it is derived from the resizable Matrix

Should be removed if Matrix4x4 becomes a base class. More...

 
Subscript num_cols () const
 
Subscript num_rows () const
 
reference operator() (Subscript i)
 
const_reference operator() (Subscript i) const
 
reference operator() (Subscript i, Subscript j)
 
const_reference operator() (Subscript i, Subscript j) const
 
T * operator[] (Subscript i)
 
const T * operator[] (Subscript i) const
 
std::ostream & Print (std::ostream &s, const int width, const int precision, bool scientific=true) const
 
std::ostream & Print (std::ostream &s, const bool intCastOutput=false, const bool binaryOutput=false, const bool forceFullPrecision=false) const
 
std::ostream & PrintPretty (std::ostream &s, const std::string &name="", const int width=8, const bool alignLeft=true) const
 
std::istream & Read (std::istream &s, const bool intCastInput=false, const bool binaryInput=false)
 JW. More...
 
void set (const T &val)
 
 set (value)
 
void SetIdentity ()
 
set the elements of this matrix to the identity matrix

(posisbly overriding the inherited method) More...

 
virtual void SetScale (const double &scale)
 Scale can not be set for poses but is fixed as 1. More...
 
Subscript size () const
 
void SwapRows (const int i, const int r)
 swaps two rows More...
 
Matrix4x4 Transpose () const
 
void TransposeIP ()
 
tranpose this matrix "in place"

example: 0 1 2 3 –> 0 4 8 12 4 5 6 7 –> 1 5 9 13 8 9 10 11 –> 2 6 10 14 12 13 14 15 –> 3 7 11 15 More...

 
virtual void UpdateMatrix_ ()
 Computes the 4x4 transformation matrix from the currently set unit quaternion Q_ and translation vector C_. More...
 
void Vec (Vector< double > &dest) const
 vec-operator returns the elements of the matrix columwise as vector More...
 
Arithmetic
void Mult (const Matrix< double > &arg, Matrix< double > &result) const
 matrix multiplication, result is not allocated More...
 
void Mult (const Matrix< double > &arg)
 in Place matrix multiplication this is equal to M = M * arg, but faster More...
 
void Mult (const Vector< double > &arg, Vector< double > &result) const
 matrix vector multiplication, result is not allocated More...
 
void AddIP (const double &scalar)
 in place addition function More...
 
void AddIP (const Matrix< double > &arg)
 Adds arg to this. More...
 
void SubIP (const Matrix< double > &arg)
 Subtracts arg from this
this -= arg. More...
 
void SubIP (const double &scalar)
 in place subtraction function More...
 
void Add (const double &scalar, Matrix< double > &dest) const
 addition function, storing data destination matrix More...
 
void Sub (const double &scalar, Matrix< double > &dest) const
 substraction function, storing data destination matrix More...
 
void MultiplyIP (const double &scalar)
 in place multiplication function More...
 
void Multiply (const double &scalar, Matrix< double > &dest) const
 multiplication function, storing data destination matrix More...
 
void MultLeft (const Matrix< double > &arg)
 in Place matrix multiplication this is equal to M = arg*M, but faster More...
 
void MultLeft (const Vector< double > &arg, Vector< double > &result) const
 vector matrix multiplication result=arg*this. More...
 
void MultiplyWithTransposeOf (const Matrix< double > &arg, Matrix< double > &result) const
 matrix matrix multiplication for multiplication with the transpose of the given matrix, result=this*arg^T. More...
 
void DivideIP (const double &scalar)
 in place division function More...
 
void Divide (const double &scalar, Matrix< double > &dest) const
 division function, storing data destination matrix More...
 
void DivideElementwise (const Matrix< double > &arg)
 elementwise division function in place More...
 
void GetSystemMatrix (Matrix< double > &dest) const
 compute square system matrix dest = A^T * A More...
 
Set Functions
void SetZero ()
 Sets all values to zero. More...
 
void MakeSymmetric ()
 componentwise: this = 0.5(this + this^T) yields symmetric matrix only allowed for square shaped matrices More...
 
void Fill (const double &scalar)
 Takes the elements of a Vector and put them as diagonal elements into a matrix. More...
 
Scaling and Normalization
void NormalizeColsToOne (const int norm_row_index)
 divides each column of the matrix through the element norm_row_index. More...
 
void NormalizeRowsToOne (const int norm_col_index)
 divides each row of the matrix through the element norm_col_index. More...
 
void NormalizeRows ()
 Normalizes each row to L2 norm one. More...
 
void NormalizeCols ()
 Normalizes each coloumn to L_2 norm one. More...
 
double Normalize ()
 Normalizes the matrix by the entry with the biggest absolute value by dividing all elements with this one. More...
 
void ScaleRow (int NoRow, doublescale)
 Scales row NoRow with scale. More...
 
void ScaleCol (int NoCol, doublescale)
 Scales column NoCol with scale. More...
 

Protected Attributes

Vector3< double > C_
 Specifies the translation from local to global coordinate frame. More...
 
Matrix< POSE_TYPE > Cov_
 7x7 covariance matrix for the 7-vector representation of this pose transformation (first C, then Q!) More...
 
Matrix4x4< double > invTransform_
 Specifies the homogeneous matrix representation of the transformation from local to global coordinate frame. More...
 
Subscript m_
 
Subscript mn_
 
Subscript n_
 
Quaternion< double > Q_
 Specifies the rotation from local to global coordinate frame. More...
 
T ** row_
 
T ** rowm1_
 
double scale_
 Specifies isometric scaling from local to global coordinate frame. More...
 
T * v_
 
T * vm1_
 

Friends

std::ostream & operator<< (std::ostream &os, const Pose &p)
 Write pose transformation to stream. More...
 
std::istream & operator>> (std::istream &is, Pose &p)
 Read pose transformation from stream. More...
 

Related Functions

(Note that these are not member functions.)

template<class T >
Matrix< T > operator* (const Matrix< T > &A, const Matrix< T > &B)
 
template<class T >
Vector< T > operator* (const Matrix< T > &A, const Vector< T > &x)
 
template<class T >
Matrix< T > operator+ (const Matrix< T > &A, const Matrix< T > &B)
 
template<class T >
Matrix< T > operator- (const Matrix< T > &A, const Matrix< T > &B)
 
std::ostream & operator<< (std::ostream &s, const Matrix< char > &A)
 
std::ostream & operator<< (std::ostream &s, const Matrix< unsigned char > &A)
 
template<class T >
std::ostream & operator<< (std::ostream &s, const Matrix< T > &A)
 
std::istream & operator>> (std::istream &s, Matrix< unsigned char > &A)
 
std::istream & operator>> (std::istream &s, Matrix< char > &A)
 
template<class T >
std::istream & operator>> (std::istream &s, Matrix< T > &A)
 

Get Functions

void Set (const int row, const int col, const Matrix< double > &data)
 Copies the contents of data into this at the position indicated by row and col. More...
 
void Set (const int row, const int col, const Vector< double > &data)
 Copies the contents of data into this at the position indicated by row and col. More...
 
double GetMax () const
 Returns the maximum value of the matrix elements. More...
 
double GetMin () const
 Returns the minimum value of the matrix elements. More...
 
double * GetData ()
 get the pointer to the data array of the matrix (for faster direct memeory access) More...
 
const double * GetData () const
 
const double ** GetDataArray () const
 returns zero based arry for data access More...
 
double ** GetDataArray ()
 
double ** GetDataArray1 () const
 returns 1 based array to data access More...
 
unsigned int GetRows () const
 
unsigned int GetCols () const
 
const double * GetDataLast () const
 Get a pointer to the last data element Do not use this on unitilized matrices with <= on pointers because on an unitilized matrix GetData() will be NULL and last Element < (typically FFFFF8) We don't want an if here for performance reasons of the innerst loop. More...
 
double * GetDataLast ()
 
Vector< double > GetRow (const int &row) const
 return a copy of row "row" of this matrix, zero based counting More...
 
Vector< double > GetCol (const int &col) const
 return a copy of column "col", zero based counting More...
 
void GetSubMatrix (const size_t startRow, const size_t startCol, const size_t numRows, const size_t numCols, Matrix< double > &submatrix) const
 return a submatrix from this. More...
 
void GetSubMatrix (const Vector< int > &rows, const Vector< int > &cols, Matrix< double > &submatrix) const
 return a submatrix from this. More...
 
Matrix< double > GetSubMatrix (const Vector< int > &rows, const Vector< int > &cols) const
 return a submatrix from this. More...
 
void SetSubMatrix (const size_t startRowInThis, const size_t startColInThis, const Matrix< double > &submatrix, const size_t startRowInSub, const size_t startColInSub, const size_t numRows, const size_t numCols)
 sets a submatrix in this. More...
 
void SetSubMatrix (const size_t startRowInThis, const size_t startColInThis, const Matrix3x3< double > &submatrix)
 sets a 3x3 submatrix in this. More...
 
void SetSubMatrix (const size_t startRowInThis, const size_t startColInThis, const Vector3< double > &subvector)
 sets a 3x1 submatrix in this. More...
 
void SetRow (const int row, const Vector< double > &data)
 set a row of matrix from vector More...
 
void SetCol (const int row, const Vector< double > &data)
 set a col of matrix from vector More...
 
void SetTranspose (const int row, const int col, const Vector< double > &data)
 Copies the contents of data into this at the position indicated by row and col. More...
 
int GetNumElements () const
 Returns the total number of elements. More...
 
void GetMaxMin (double &max, double &min) const
 return biggest and smallest entry More...
 
void GetAbsMaxMin (double &max, double &min) const
 return biggest and smallest absolute values More...
 
double GetMean () const
 Returns the mean value of the matrix elements. More...
 
double NormL1 () const
 Return the L1 norm: |a| + |b| + |c| + ... More...
 
double NormL2 () const
 Return the L2 norm: a^2 + b^2 + c^2 + ... More...
 
double NormFrobenius () const
 Return Frobenius norm = sqrt(trace(A^t * A)). More...
 
double Trace () const
 
double DetSquare () const
 

Input / Output

bool Save (const std::string &filename) const
 method to save directly to a given filename. More...
 
int WriteMatlab (std::ostream &ostr, const std::string &name) const
 Write the matrix in Matlab format to the given stream. More...
 
bool BinRead (const char *filename) const
 This method reads a matrix from a given file in binary format. More...
 
bool BinWrite (const char *filename) const
 This method writes a matrix to a given file in binary format. More...
 

Detailed Description

Represents 3d pose transformations, parametrized as Euclidean translation and unit quaternion orientation.

Pose transformations are special 3d coordinate transformations without scaling, extended by covariance matrices to measure uncertainty.

They specify Euclidean transformations that can also be interpreted as measureable entities, i.e. a (camera) pose is measured within in the coordinate system A. In A the pose will define the transformation from coordinates in A to the pose (camera) coordinate system. This transformation does not contain scale. Imagine A being embedded in another coordinate system B. In order to find the pose in B the method TransformBy() can be used. The result will not be able to transform coordinates from A into the pose system. This transform can be found using the method CoordinateTransform3D::ConcatenateLocalTransform() on a pose object.

See Also
BIAS::CoordinateTransform3D
Author
woelk/koeser/bartczak /2006
Examples:
ExampleCalcRelativeTransform.cpp, ExampleEstimateFisheyePolynomial.cpp, ExamplePMatrix.cpp, ExampleProjectionGUI.cpp, and ExampleXB3Rectification.cpp.

Definition at line 73 of file Pose.hh.

Member Typedef Documentation

template<class T>
typedef const T* TNT::Matrix< T >::const_iterator
inherited

Definition at line 78 of file cmat.h.

template<class T>
typedef const T& TNT::Matrix< T >::const_reference
inherited

Definition at line 79 of file cmat.h.

template<class T>
typedef T TNT::Matrix< T >::element_type
inherited

Definition at line 74 of file cmat.h.

template<class T>
typedef T* TNT::Matrix< T >::iterator
inherited

Definition at line 76 of file cmat.h.

template<class T>
typedef T* TNT::Matrix< T >::pointer
inherited

Definition at line 75 of file cmat.h.

template<class T>
typedef T& TNT::Matrix< T >::reference
inherited

Definition at line 77 of file cmat.h.

template<class T>
typedef Subscript TNT::Matrix< T >::size_type
inherited

Definition at line 72 of file cmat.h.

template<class T>
typedef T TNT::Matrix< T >::value_type
inherited

Definition at line 73 of file cmat.h.

Constructor & Destructor Documentation

BIAS::Pose::Pose ( )

Default constructor creates identity pose transformation.

Definition at line 36 of file Pose.cpp.

BIAS::Pose::~Pose ( )

Definition at line 42 of file Pose.cpp.

Member Function Documentation

void BIAS::Matrix< double >::AbsIP ( )
inherited

absolute values of all elements of the matrix (in place)

Author
bangerer 01/2009
void BIAS::Matrix< double >::Add ( const double &  scalar,
Matrix< double > &  dest 
) const
inlineinherited

addition function, storing data destination matrix

implementation

Author
Ingo Thomsen tested
void BIAS::Matrix< double >::AddIP ( const double &  scalar)
inlineinherited

in place addition function

Author
Ingo Thomsen tested

Definition at line 415 of file Matrix.hh.

void BIAS::Matrix< double >::AddIP ( const Matrix< double > &  arg)
inlineinherited

Adds arg to this.

Author
grest,2004
Matrix<double > BIAS::Matrix< double >::Adjoint ( ) const
inlineinherited

computes the adjoint matrix

Author
Christian Beder
void CoordinateTransform3D::BecomeRelativeTransform ( const CoordinateTransform3D newLocal,
const CoordinateTransform3D newGlobal 
)
inherited

Changes this coordinate transformation so that parameter newLocal becomes the local coordinate frame and parameter newGlobal becomes the global coordinate system.

It is assumed that newLocal and newGlobal are related through the same global frame i.e.: A world point p_world is described by the coordinates p_newGlobal and p_newLocal so that:

p_world = T_newLocal * p_newLocal = T_newGlobal * p_newGLobal

It follows that p_newGlobal (which is will become the new global coordinate frame point) is computed by:

p_newGlobal = T_newGlobal^-1 * T_newLocal * p_newLocal

If newLocal defines [global <-> local] and newGlobal defines [global <-> local'] then this instance becomes [local' -> local].

Parameters
[in]newLocalSpecifies transformation [global <-> local]
[in]newGlobalSpecifies transformation [global <-> local']
Examples:
ExampleCalcRelativeTransform.cpp.

Definition at line 135 of file CoordinateTransform3D.cpp.

References BIAS::CoordinateTransform3D::ConcatenateLocalTransform(), and BIAS::CoordinateTransform3D::InvertIP().

Referenced by BIAS::Projection::AddAbsoluteCamera(), BIAS::CylindricalRectification< InputStorageType, OutputStorageType >::DetermineCylindricCameraBoundriesCylindric_(), BIAS::CylindricalRectification< InputStorageType, OutputStorageType >::DetermineCylindricCameraBoundriesPerspective_(), BIAS::CylindricalRectification< InputStorageType, OutputStorageType >::DetermineCylindricCameraBoundriesSpherical_(), BIAS::ProjectionParametersBase::GetSphericalViewingRange(), and BIAS::PMDWarp::UseProjectiveTexturing().

bool BIAS::Matrix< double >::BinRead ( const char *  filename) const
inherited

This method reads a matrix from a given file in binary format.

The file is not human read-/editable but provides full precision. A dimension check is performed.

Returns
true on success
Author
mdunda 04 2004
bool BIAS::Matrix< double >::BinWrite ( const char *  filename) const
inherited

This method writes a matrix to a given file in binary format.

The file is not human read-/editable but provides full precision.

Returns
true on success
Author
mdunda 04 2004
bool BIAS::Pose::CheckLookAt_ ( Vector3< double > &  center,
const Vector3< double > &  up 
)
inlineprotected

Checks constraints for parameter of LookAt().

Definition at line 267 of file Pose.hh.

References BIAS::Vector3< T >::NormL2().

void BIAS::Matrix4x4< double >::clear ( )
inlinevirtualinherited

stl conform interface

Reimplemented from BIAS::Matrix< double >.

Definition at line 281 of file Matrix4x4.hh.

void CoordinateTransform3D::ConcatenateLocalTransform ( const CoordinateTransform3D localT,
CoordinateTransform3D res 
) const
inherited

Calculates transformation from global system of this instance to the local coordinate system of the given instance.

   If this instance defines [global <-> local] and parameter
   localT defines [local <-> local'] then the result defines
   [global <-> local'].
Parameters
[in]localTSpecifies transformation [local <-> local']
[out]resReturns concatenated transformation [global <-> local']

Definition at line 144 of file CoordinateTransform3D.cpp.

References BIAS::CoordinateTransform3D::C_, BIAS::Quaternion< T >::MultVec(), BIAS::CoordinateTransform3D::Q_, BIAS::CoordinateTransform3D::scale_, and BIAS::CoordinateTransform3D::Set().

Referenced by BIAS::ThreeDOut::AddProjection(), BIAS::CoordinateTransform3D::BecomeRelativeTransform(), BIAS::Projection::GetParameterCloneWithAbsolutePose(), and TransformToNewGlobalBy().

template<class T>
void TNT::Matrix< T >::copy ( const T *  v)
inlineprotectedinherited
template<class T>
void TNT::Matrix< T >::destroy ( )
inlineprotectedinherited
double BIAS::Matrix4x4< double >::det ( ) const
inlineinherited

calculate the determinant recursively using sub matrices of size 3x3

Author
koeser 10/2003 experimental, slow implementation, not yet heavily tested

Definition at line 164 of file Matrix4x4.hh.

double BIAS::Matrix< double >::DetSquare ( ) const
inlineinherited
Author
koeser
Warning
very slow, generic implementation (order "n!"), better to use matrix decomposition (see BIAS/MathAlgo/Lapack.hh)

Definition at line 369 of file Matrix.hh.

template<class T>
Subscript TNT::Matrix< T >::dim ( Subscript  d) const
inlineinherited

Definition at line 310 of file cmat.h.

void BIAS::Matrix< double >::Divide ( const double &  scalar,
Matrix< double > &  dest 
) const
inlineinherited

division function, storing data destination matrix

Author
Ingo Thomsen tested
void BIAS::Matrix< double >::DivideElementwise ( const Matrix< double > &  arg)
inlineinherited

elementwise division function in place

Author
Ingo Schiller tested
void BIAS::Matrix< double >::DivideIP ( const double &  scalar)
inlineinherited

in place division function

Author
Ingo Thomsen tested

Definition at line 486 of file Matrix.hh.

void BIAS::Matrix< double >::Fill ( const double &  scalar)
inherited

Takes the elements of a Vector and put them as diagonal elements into a matrix.

The size of this Vector must be exactly min( matrix.width, matrix.height). Optionally all other elements may be set to zero

Author
Ingo Thomsen
Parameters
zero_othersMust be true, if all non-diagonal elements shall be set to zero
void BIAS::Matrix< double >::GaussJordan ( )
inherited

use the Gauss Jordan Algrithm to transform the matrix to reduced row echelon form.

Author
woelk 05/2008 www.vision-n.de
Examples:
ExampleGaussJordan.cpp.
void BIAS::Matrix< double >::GetAbsMaxMin ( double &  max,
double &  min 
) const
inherited

return biggest and smallest absolute values

const Vector3<double>& BIAS::CoordinateTransform3D::GetC ( ) const
inlineinherited
Vector<double > BIAS::Matrix< double >::GetCol ( const int &  col) const
inherited

return a copy of column "col", zero based counting

Author
Jan Woetzel
unsigned int BIAS::Matrix< double >::GetCols ( ) const
inlineinherited
Examples:
ExampleMEX.cpp, and ExampleSparseMatrix.cpp.

Definition at line 204 of file Matrix.hh.

const Matrix<POSE_TYPE>& BIAS::Pose::GetCovariance ( ) const
inline

Return the 7x7 covariance matrix Cov([C Q]).

Definition at line 146 of file Pose.hh.

Referenced by operator=().

Matrix3x3< POSE_TYPE > BIAS::Pose::GetCovC ( ) const

Return the 3x3 covariance matrix Cov(C) of the translation part C of this pose transformation.

Definition at line 48 of file Pose.cpp.

Matrix4x4< POSE_TYPE > BIAS::Pose::GetCovQ ( ) const

Return the 4x4 covariance matrix Cov(Q) of the rotational part of this pose transformation described by unit quaternion Q.

Definition at line 62 of file Pose.cpp.

const Vector<double> BIAS::CoordinateTransform3D::GetCQ ( ) const
inlineinherited

Get orientation and origin of local coordinate system as a single vector containing first a 3d vector [c_x, c_y, c_z], then a unit quaternion [q_x, q_y, q_z, q_w].

See Also
CoordinateTransform3D::Set()

Definition at line 233 of file CoordinateTransform3D.hh.

double * BIAS::Matrix< double >::GetData ( )
inlineinherited

get the pointer to the data array of the matrix (for faster direct memeory access)

the order of the data is linewise, which means an elemnt sequence of e.g. [0] = M(0,0) [1] = M(0,1) [2] = M(0,2) [3] = M(1,0) // next line [4] = M(1,1) ...

Author
Jan Woetzel
Returns
a pointer to the data array (beginning with GetData[0]) alpha (02/27/2002) -added const (jw) 03/12/2002
Examples:
ExampleLoadBan.cpp, and ExampleUncertaintyTransform.cpp.

Definition at line 185 of file Matrix.hh.

Referenced by BIAS::EuclideanTransf3D::Set().

const double * BIAS::Matrix< double >::GetData ( ) const
inlineinherited

Definition at line 188 of file Matrix.hh.

const double ** BIAS::Matrix< double >::GetDataArray ( ) const
inlineinherited

returns zero based arry for data access

Definition at line 192 of file Matrix.hh.

double ** BIAS::Matrix< double >::GetDataArray ( )
inlineinherited

Definition at line 195 of file Matrix.hh.

double ** BIAS::Matrix< double >::GetDataArray1 ( ) const
inlineinherited

returns 1 based array to data access

Definition at line 199 of file Matrix.hh.

const double * BIAS::Matrix< double >::GetDataLast ( ) const
inlineinherited

Get a pointer to the last data element Do not use this on unitilized matrices with <= on pointers because on an unitilized matrix GetData() will be NULL and last Element < (typically FFFFF8) We don't want an if here for performance reasons of the innerst loop.

Author
Ingo Thomsen, Jan Woetzel
Date
04/11/2002

Definition at line 213 of file Matrix.hh.

double * BIAS::Matrix< double >::GetDataLast ( )
inlineinherited

Definition at line 219 of file Matrix.hh.

Matrix4x4<double> BIAS::CoordinateTransform3D::GetGlobalToLocalTransform ( ) const
inlineinherited

Get 4x4 matrix which transforms points in global coordinate system to homogeneous points in local coordinate system.

Definition at line 255 of file CoordinateTransform3D.hh.

Referenced by BIAS::glfMatrix::MakeTextureMatrix(), BIAS::glfMatrix::MakeTextureMatrixNew(), and BIAS::glfMatrix::MakeViewMatrixNew().

Matrix4x4<double> BIAS::CoordinateTransform3D::GetLocalToGlobalTransform ( ) const
inlineinherited

Get 4x4 matrix which transforms points in local coordinate system to homogeneous points in global coordinate system.

Definition at line 261 of file CoordinateTransform3D.hh.

Referenced by TransformToNewGlobalBy().

BIAS::Matrix3x4< double > CoordinateTransform3D::GetMatrix3x4 ( ) const
inherited

Set rotation and translation from pose object.

Get 3x4 matrix which transforms points in global coordinate system to Euclidean points in local coordinate system.

Definition at line 84 of file CoordinateTransform3D.cpp.

BIAS::Matrix4x4< double > CoordinateTransform3D::GetMatrix4x4 ( ) const
inherited

Get 4x4 matrix which transforms points in global coordinate system to homogeneous points in local coordinate system.

Definition at line 95 of file CoordinateTransform3D.cpp.

Matrix<double > BIAS::Matrix< double >::GetMax ( Matrix< double > &  m)
inherited

returns an matrix the same size as the matrix n and m with the largest elements taken from n or m

Author
bangerer 01/2009
double BIAS::Matrix< double >::GetMax ( ) const
inherited

Returns the maximum value of the matrix elements.

Author
Ingo Thomsen
Date
04/11/2002 tested
void BIAS::Matrix< double >::GetMaxMin ( double &  max,
double &  min 
) const
inherited

return biggest and smallest entry

double BIAS::Matrix< double >::GetMean ( void  ) const
inherited

Returns the mean value of the matrix elements.

Author
Ingo Thomsen
Date
04/11/2002 tested
Matrix<double > BIAS::Matrix< double >::GetMin ( Matrix< double > &  m)
inherited

returns an matrix the same size as the matrix n and m with the smallest elements taken from n or m

Author
bangerer 01/2009
double BIAS::Matrix< double >::GetMin ( ) const
inherited

Returns the minimum value of the matrix elements.

Author
Ingo Thomsen
Date
04/11/2002 tested
int BIAS::Matrix< double >::GetNumElements ( ) const
inlineinherited

Returns the total number of elements.

Author
Ingo Thomsen
Date
04/11/2002 tested

Definition at line 321 of file Matrix.hh.

PoseParametrization BIAS::Pose::GetPoseParameters ( ) const

Get pose parametrization representing this pose.

Definition at line 193 of file Pose.cpp.

References BIAS::PoseParametrization::SetCovarianceMatrix(), BIAS::PoseParametrization::SetOrientation(), and BIAS::PoseParametrization::SetPosition().

const Quaternion<double>& BIAS::CoordinateTransform3D::GetQ ( ) const
inlineinherited

Get orientation of local coordinate system as unit quaternion mapping from local coordinates to global coordinates.

See Also
CoordinateTransform3D::Set()

Definition at line 221 of file CoordinateTransform3D.hh.

Referenced by BIAS::ThreeDOut::AddProjection(), BIAS::PMDImageProc::MetaFromPoseAndK(), and TransformToNewGlobalBy().

BIAS::RMatrixBase BIAS::CoordinateTransform3D::GetR ( ) const
inlineinherited
Vector<double > BIAS::Matrix< double >::GetRow ( const int &  row) const
inherited

return a copy of row "row" of this matrix, zero based counting

Author
Jan Woetzel
unsigned int BIAS::Matrix< double >::GetRows ( ) const
inlineinherited
Examples:
ExampleMEX.cpp, and ExampleSparseMatrix.cpp.

Definition at line 202 of file Matrix.hh.

const double& BIAS::CoordinateTransform3D::GetScale ( ) const
inlineinherited

Get the length of the local coordinate axes in the world coordinate frame.

See Also
CoordinateTransform3D::Set()

Definition at line 215 of file CoordinateTransform3D.hh.

void BIAS::Matrix< double >::GetSubMatrix ( const size_t  startRow,
const size_t  startCol,
const size_t  numRows,
const size_t  numCols,
Matrix< double > &  submatrix 
) const
inherited

return a submatrix from this.

Start index is [startRow][startCol] end index is [startRow+numRows-1][startCol+numCols-1]. submatrix is resized to numRows/numCols if necessary.

Author
apetersen 12/2010
void BIAS::Matrix< double >::GetSubMatrix ( const Vector< int > &  rows,
const Vector< int > &  cols,
Matrix< double > &  submatrix 
) const
inherited

return a submatrix from this.

Similar to matlab notation (except indexing, starts with 0 of course!). Vectors rows = '1 3' and cols = '1 2' for matrix: / 1 2 3 \ | 4 5 6 | \ 7 8 9 / results in: / 1 2 \ \ 7 8 / Matrix has to be initialized!!!

Author
apetersen 7/2011
Matrix<double > BIAS::Matrix< double >::GetSubMatrix ( const Vector< int > &  rows,
const Vector< int > &  cols 
) const
inherited

return a submatrix from this.

Similar to matlab notation (except indexing, starts with 0 of course!), see GetSubMatrix(const Vector<int> &rows, const Vector<int> &cols, Matrix<T> &submatrix)

Author
apetersen 7/2011
void BIAS::Matrix< double >::GetSystemMatrix ( Matrix< double > &  dest) const
inlineinherited

compute square system matrix dest = A^T * A

Parameters
destholds result of this->Transpose * this

If you want to solve A * x = b, where A has more rows than columns, a common technique is to solve x = (A^T * A)^-1 * A^T * b. This function provides a fast way to compute A^T*A from A.

Author
grest/koeser
Vector3< double > BIAS::Pose::GetXAxis ( ) const

Definition at line 338 of file Pose.cpp.

Vector3< double > BIAS::Pose::GetYAxis ( ) const

Definition at line 345 of file Pose.cpp.

Vector3< double > BIAS::Pose::GetZAxis ( ) const
HomgPoint3D BIAS::CoordinateTransform3D::GlobalToLocal ( const HomgPoint3D X_G) const
inlineinherited
void BIAS::CoordinateTransform3D::GlobalToLocal ( HomgPoint3D X_G,
HomgPoint3DCov Cov_G 
) const
inlineinherited

Transform point and its covariance matrix from world frame to local coordinate frame.

Parameters
[in,out]X_GGets homogeneous 3d point within world coordinate system, returns 3d point within local coordinate system,
[in,out]Cov_GGets homogeneous 3d covariance within world frame, returns covariance matrix in local coordinate system.

Definition at line 190 of file CoordinateTransform3D.hh.

template<class T>
void TNT::Matrix< T >::initialize ( Subscript  M,
Subscript  N 
)
inlineprotectedinherited
template<class T>
TNT::Matrix< T >::initialize ( ,
 
)
inherited
void BIAS::CoordinateTransform3D::InvertIP ( )
inlineinherited

Swaps the global and local coordinate frame.

Definition at line 327 of file CoordinateTransform3D.hh.

Referenced by BIAS::CoordinateTransform3D::BecomeRelativeTransform().

bool BIAS::Matrix< double >::IsIdentity ( double  eps = 0.0) const
inherited

Checks if the matrix a an identity.

I.e. all elements with index i==j are equal 1 and all others are zero.

Author
mdunda 12 2003
Returns
true if matrix is identity
Examples:
ExampleSparseMatrix2.cpp.
bool BIAS::Matrix< double >::IsZero ( double  eps = 0.0) const
inherited

Checks if the matrix is a null matrix.

Author
mdunda 12 2003
Returns
true if all elements are zero
void BIAS::Matrix< double >::Kronecker ( Matrix< double > const  B,
Matrix< double > &  dest 
) const
inherited

Kronecker-product with matrix, result in dest.

Kronecker-product with matrix B, result in dest.

template<class T>
Subscript TNT::Matrix< T >::lbound ( ) const
inlineinherited

Definition at line 81 of file cmat.h.

bool BIAS::Pose::Load ( const std::string &  inputFile)

Load pose transformation from a text file using operator >>.

Parameters
[in]inputFileName of file to read from
See Also
CoordinateTransform3D::Load()
Returns
Returns false if reading from file failed, true otherwise.

Definition at line 203 of file Pose.cpp.

HomgPoint3D BIAS::CoordinateTransform3D::LocalToGlobal ( const HomgPoint3D X_L) const
inlineinherited
void BIAS::CoordinateTransform3D::LocalToGlobal ( HomgPoint3D X_L,
HomgPoint3DCov Cov_L 
) const
inlineinherited

Transform point and its covariance matrix from local frame to world coordinate frame.

Parameters
[in,out]X_LGets homogeneous 3d point within local coordinate system, returns 3d point within wordl coordinate system,
[in,out]Cov_LGets homogeneous 3d covariance within local frame, returns covariance matrix in world coordinate system.

Definition at line 204 of file CoordinateTransform3D.hh.

References BIAS::Matrix4x4< T >::Transpose().

const bool BIAS::Pose::LookAt ( const Vector3< double > &  eye,
Vector3< double >  center,
const Vector3< double > &  up 
)
inline

Create pose of camera looking at given point, similar to gluLookAt().

Parameters
[in]eyeSpecifies the eye coordinates
[in]centerSpecifies the 3d point to look at
[in]upSpecifies the up vector of the camera
Returns
Returns true if everything went fine, otherwise false.

Definition at line 214 of file Pose.hh.

References BIAS::RMatrixBase::SetFromOriUp(), and BIAS::Vector3< T >::SubIP().

const bool BIAS::Pose::LookAt ( const Vector3< double > &  center,
const Vector3< double > &  up 
)
inline

Create pose of camera looking at given point, similar to gluLookAt().

Attention
The camera center is not changed here!
Parameters
[in]centerSpecifies the 3d point to look at
[in]upSpecifies the up vector of the camera
Returns
Returns true if everything went fine, otherwise false.

Definition at line 231 of file Pose.hh.

const bool BIAS::Pose::LookAtGL ( const Vector3< double > &  eye,
Vector3< double >  center,
const Vector3< double > &  up 
)
inline

Create pose of camera looking at given point, similar to gluLookAt().

Parameters
[in]eyeSpecifies the eye coordinates
[in]centerSpecifies the 3d point to look at
[in]upSpecifies the up vector of the camera
Returns
Returns true if everything went fine, otherwise false.

Definition at line 242 of file Pose.hh.

const bool BIAS::Pose::LookAtGL ( const Vector3< double > &  center,
const Vector3< double > &  up 
)
inline

Looks at given point, similar to gluLookAt.

Parameters
center3D point to look at
upUp vector of the camera
Returns
true, if everythings fine - false, otherwise

Definition at line 253 of file Pose.hh.

void BIAS::Matrix< double >::MakeSymmetric ( )
inlineinherited

componentwise: this = 0.5(this + this^T) yields symmetric matrix only allowed for square shaped matrices

Author
koeser 01/2007
Examples:
ExampleLapack.cpp.

Definition at line 522 of file Matrix.hh.

void BIAS::Matrix4x4< double >::Mult ( const Vector4< double > &  argvec,
Vector4< double > &  destvec 
) const
inlineinherited

matrix - vector multiplicate this matrix with Vector4, 

storing the result in destvec, calculates: destvec = (this Matrix) * argvec

Author
Jan Woetzel untested (04/17/2002)

Definition at line 121 of file Matrix4x4.hh.

void BIAS::Matrix4x4< double >::Mult ( const Matrix4x4< double > &  argmat,
Matrix4x4< double > &  destmat 
) const
inlineinherited

matrix-matrix multiplication with other Matrix4x4, 

storing the result in destmat using 'manual inlining'

Author
Jan Woetzel untested (04/17/2002)

Definition at line 190 of file Matrix4x4.hh.

void BIAS::Matrix< double >::Mult ( const Matrix< double > &  arg,
Matrix< double > &  result 
) const
inlineinherited

matrix multiplication, result is not allocated

Author
Felix Woelk
Examples:
ExampleSparseMatrix2.cpp.
void BIAS::Matrix< double >::Mult ( const Matrix< double > &  arg)
inlineinherited

in Place matrix multiplication this is equal to M = M * arg, but faster

Author
Daniel Grest
void BIAS::Matrix< double >::Mult ( const Vector< double > &  arg,
Vector< double > &  result 
) const
inlineinherited

matrix vector multiplication, result is not allocated

Author
Felix Woelk
void BIAS::Matrix< double >::Multiply ( const double &  scalar,
Matrix< double > &  dest 
) const
inlineinherited

multiplication function, storing data destination matrix

Author
Ingo Thomsen tested
void BIAS::Matrix< double >::MultiplyIP ( const double &  scalar)
inlineinherited

in place multiplication function

Author
Ingo Thomsen tested

Definition at line 448 of file Matrix.hh.

void BIAS::Matrix< double >::MultiplyWithTransposeOf ( const Matrix< double > &  arg,
Matrix< double > &  result 
) const
inlineinherited

matrix matrix multiplication for multiplication with the transpose of the given matrix, result=this*arg^T.

Author
Arne Petersen
void BIAS::Matrix< double >::MultLeft ( const Matrix< double > &  arg)
inlineinherited

in Place matrix multiplication this is equal to M = arg*M, but faster

Author
Daniel Grest
void BIAS::Matrix< double >::MultLeft ( const Vector< double > &  arg,
Vector< double > &  result 
) const
inlineinherited

vector matrix multiplication result=arg*this.

Author
Marcel Lilienthal
template<class T>
Matrix<T>& TNT::Matrix< T >::newsize ( Subscript  M,
Subscript  N 
)
inlineinherited
Examples:
EvaluateAlignment.cpp, ExampleAlignment.cpp, ExampleIEKF.cpp, ExampleLeastSquares.cpp, ExampleRegressionPlane.cpp, and ExampleUncertaintyTransform.cpp.

Definition at line 269 of file cmat.h.

Referenced by BIAS::Matrix< T >::Add(), BIAS::RegionMatcher::BilinearRegion(), BIAS::RegionMatcher::BilinearRegionColor3(), BIAS::ComputeCovariance(), BIAS::LDA::ComputeReductionMatrix(), BIAS::PCA::ComputeReductionMatrix(), BIAS::ContourBSplineShapeMatrix::ComputeRegularisationMatrix(), BIAS::ContourBSplineData::ComputeSplineMetricMatrix_(), BIAS::Matrix< T >::Conv(), BIAS::CamPoseCalib::CreateSecDMatrix_(), BIAS::Matrix< T >::Divide(), Eigenproblem_quadratic_matrix(), BIAS::CamPoseCalib::Estimate(), BIAS::TrackerBaseAffine< StorageType >::EvaluateResult_(), BIAS::TrackerBaseAffine2< StorageType >::EvaluateResult_(), BIAS::TrackerBaseInterface< StorageType >::EvaluateResult_(), BIAS::TrackerBaseInterface< StorageType >::Filter_ByMask(), BIAS::TrackerBaseInterface< StorageType >::Filter_BySeparableMask(), BIAS::TrackerBaseInterface< StorageType >::Filter_GradXSobel3x3(), BIAS::TrackerBaseInterface< StorageType >::Filter_GradYSobel3x3(), BIAS::TrackerBaseInterface< StorageType >::FilterLowpass_Binomial3x3(), BIAS::TrackerBaseInterface< StorageType >::FilterLowpass_ByMask(), BIAS::TrackerBaseInterface< StorageType >::FilterLowpass_BySeparableMask(), Fortran_Matrix_to_Matrix(), generalised_eigenvalue_matrix_solve(), BIAS::LDA::GenerateRandomTestData(), BIAS::SparseMatrix::GetAsDense(), BIAS::Random::GetMeanAndCovariance(), BIAS::PMatrixLinear::GetPEstSystemHom(), BIAS::PMatrixLinear::GetPEstSystemInHom(), BIAS::Matrix< T >::GetSystemMatrix(), BIAS::Kalman::Init(), BIAS::IteratedExtendedKalman::Init(), BIAS::SparseMatrix::Invert(), BIAS::SparseMatrix::InvertAndSolve(), BIAS::Matrix< T >::Kronecker(), Lapack_Cholesky_SymmetricPositiveDefinit(), BIAS::RegionMatcher::LinearRegionX(), BIAS::LevenbergMarquardtBase::LM_Compute(), BIAS::LevenbergMarquardtBase::LM_ComputeWithoutJacobian(), TNT::matmult(), BIAS::Matrix< T >::Mult(), BIAS::Matrix< T >::Multiply(), BIAS::Matrix< T >::MultiplyWithTransposeOf(), BIAS::MxArrToBIASMatrix(), BIAS::Matrix3x4< T >::newsize(), BIAS::Matrix4x4< T >::newsize(), BIAS::TextureTransformHomography::ParameterInversionJacobian(), BIAS::TextureTransformAffine::ParameterInversionJacobian(), BIAS::TextureTransformDisparity::ParameterInversionJacobian(), BIAS::TextureTransformDisplacement::ParameterInversionJacobian(), BIAS::TextureTransformRotation::ParameterInversionJacobian(), BIAS::TextureTransformEuclidian::ParameterInversionJacobian(), BIAS::TextureTransformHomography::ParameterJacobianBackward(), BIAS::TextureTransformAffine::ParameterJacobianBackward(), BIAS::TextureTransformDisparity::ParameterJacobianBackward(), BIAS::TextureTransformDisplacement::ParameterJacobianBackward(), BIAS::TextureTransformRotation::ParameterJacobianBackward(), BIAS::TextureTransformEuclidian::ParameterJacobianBackward(), BIAS::TextureTransformSimilar::ParameterJacobianBackward(), BIAS::TextureTransform::ParameterJacobianBackward(), BIAS::TextureTransformAffine::ParameterJacobianForward(), BIAS::TextureTransformHomography::ParameterJacobianForward(), BIAS::TextureTransformDisparity::ParameterJacobianForward(), BIAS::TextureTransformDisplacement::ParameterJacobianForward(), BIAS::TextureTransformRotation::ParameterJacobianForward(), BIAS::TextureTransformSimilar::ParameterJacobianForward(), BIAS::TextureTransformEuclidian::ParameterJacobianForward(), BIAS::TextureTransform::ParameterJacobianForward(), BIAS::IteratedExtendedKalman::Predict(), BIAS::Covariance3Dto2D::Project(), BIAS::Covariance3Dto2DHomg::Project(), BIAS::QRFrac(), BIAS::RegionMatcher::RegionMatcher(), BIAS::ContourBSplineShapeMatrix::SetShapeSpaceEuclidian(), BIAS::ContourBSplineShapeMatrix::SetShapeSpaceIdentity(), BIAS::ContourBSplineShapeMatrix::SetShapeSpaceMatrix(), BIAS::ContourBSplineShapeMatrix::SetShapeSpacePlanarAffin(), BIAS::ContourBSplineShapeMatrix::SetSubShapeSpaceZero(), BIAS::Matrix< T >::Sub(), BIAS::TrackerBaseAffine< StorageType >::TrackAffine_(), BIAS::MonteCarloTransform::Transform(), BIAS::UnscentedTransform::Transform(), BIAS::IteratedExtendedKalman::Update(), and BIAS::Tracker< StorageType, CalculationType >::Vector2FilterMask_().

Matrix4x4& BIAS::Matrix4x4< double >::newsize ( int  rows,
int  cols 
)
inherited

just neccessary to avoid resizing of this 'fixed size' matrix because it is derived from the resizable Matrix

Should be removed if Matrix4x4 becomes a base class.

(04/17/2002) Jan Woetzel

double BIAS::Matrix< double >::Normalize ( )
inherited

Normalizes the matrix by the entry with the biggest absolute value by dividing all elements with this one.

Returns
value of the element the matrix is normalized with
Author
mdunda 09 2003
void BIAS::Matrix< double >::NormalizeCols ( )
inherited

Normalizes each coloumn to L_2 norm one.

Attention each column is normaized by its own scale!

void BIAS::Matrix< double >::NormalizeColsToOne ( const int  norm_row_index)
inherited

divides each column of the matrix through the element norm_row_index.

index runs [0..num_rows-1] for example: 2 3 4 5 normalized with row '1' will be 2/4 3/5 1 1

void BIAS::Matrix< double >::NormalizeRows ( )
inherited

Normalizes each row to L2 norm one.

Attention each row is normaized by its own scale!

void BIAS::Matrix< double >::NormalizeRowsToOne ( const int  norm_col_index)
inherited

divides each row of the matrix through the element norm_col_index.

index runs [0..num_cols-1] for example: 2 3 4 5 normalized with row '1' will be 2/3 1 4/5 1

double BIAS::Matrix< double >::NormFrobenius ( ) const
inlineinherited

Return Frobenius norm = sqrt(trace(A^t * A)).

this method is deprecated because it is equivalent to NormL2

This function is deprecated, because it is equivalent to NormL2.

Author
koeser 02/2004
double BIAS::Matrix< double >::NormL1 ( ) const
inlineinherited

Return the L1 norm: |a| + |b| + |c| + ...

Author
Ingo Thomsen
Date
04/11/2002 untested
double BIAS::Matrix< double >::NormL2 ( ) const
inlineinherited

Return the L2 norm: a^2 + b^2 + c^2 + ...

Author
woelk 07/2004
Examples:
ExampleSVD.cpp.
template<class T>
Subscript TNT::Matrix< T >::num_cols ( ) const
inlineinherited
Examples:
ExampleGenerateGauss.cpp.

Definition at line 320 of file cmat.h.

Referenced by BIAS::Matrix< T >::Add(), BIAS::Matrix< T >::AddIP(), BIAS::ImageAlignment::Align(), BIAS::CamPoseCalib::ApplyCoVariances_(), BIAS::ImageAlignment::AutoAlign(), BIAS::TFTensorEstimation::Compute(), BIAS::SVD3x3::Compute(), BIAS::GaussHelmert::ComputeNormalSystem_(), BIAS::LDA::ComputeReductionMatrix(), BIAS::PCA::ComputeReductionMatrix(), BIAS::ContourBSplineShapeMatrix::ComputeRegularisationMatrix(), BIAS::PCA::ComputeScatter(), BIAS::UnscentedTransform::ComputeSigmaPoints_(), BIAS::LDA::ComputeWithinAndInterClassCovs(), BIAS::Matrix< T >::Conv(), BIAS::Matrix< T >::Divide(), BIAS::Matrix< T >::DivideElementwise(), Eigenproblem_quadratic_matrix(), Eigenvalue_solve(), BIAS::CamPoseCalib::Estimate(), Fortran_Matrix_to_Matrix(), General_singular_value_decomposition(), generalised_eigenvalue_matrix_solve(), BIAS::CamPoseCalib::GetCov(), BIAS::CamPoseCalib::GetCoVarMatrix(), BIAS::SVD::GetNullvector(), BIAS::Matrix< T >::Kronecker(), Lapack_Cholesky_SymmetricPositiveDefinit(), Lapack_LLS_QR_linear_solve(), Lapack_LU_linear_solve(), Lapack_WLLS_solve(), TNT::matmult(), BIAS::Matrix2x2< T >::Matrix2x2(), BIAS::Matrix3x3< T >::Matrix3x3(), BIAS::Matrix4x4< T >::Matrix4x4(), BIAS::Matrix< T >::Mult(), TNT::mult_element(), BIAS::Matrix< T >::Multiply(), BIAS::Matrix< T >::MultiplyWithTransposeOf(), TNT::Matrix< BIAS::BIAS::Vector< int > >::newsize(), BIAS::TrackerBaseInterface< StorageType >::NormalizeRegion_(), BIAS::Vector< T >::operator*(), BIAS::Vector3< T >::operator*(), BIAS::Vector4< T >::operator*(), TNT::Matrix< T >::operator+(), TNT::Matrix< T >::operator-(), BIAS::Matrix3x4< T >::operator=(), BIAS::Matrix4x4< T >::operator=(), BIAS::PMatrix::PMatrix(), BIAS::PMatrixBase::PMatrixBase(), BIAS::CovTransformPose::PoseEulerZYXToQuat(), BIAS::CovTransformPose::PoseQuatToEulerZYX(), BIAS::IteratedExtendedKalman::Predict(), BIAS::Covariance3Dto2DHomg::Project(), BIAS::RMatrix::RMatrix(), BIAS::RMatrixBase::RMatrixBase(), BIAS::Matrix< T >::Set(), BIAS::RParametrization::SetCovarianceMatrix(), BIAS::PoseParametrization::SetCovarianceMatrix(), BIAS::EParametrization::SetCovarianceMatrix(), BIAS::LocalAffineFrame::SetFromMatrix(), BIAS::IteratedExtendedKalman::SetProcessCov(), BIAS::ContourBSplineShapeMatrix::SetShapeSpaceMatrix(), BIAS::IteratedExtendedKalman::SetState(), BIAS::ContourBSplineShapeMatrix::SetSubShapeSpaceZero(), BIAS::GaussHelmert::Solve(), BIAS::LeastSquaresSVD::Solve(), BIAS::SVD::Solve(), BIAS::CamPoseCalib::SolveLM_(), BIAS::ImageAlignment::StrictPyramidAlign(), BIAS::Matrix< T >::Sub(), BIAS::Matrix< T >::SubIP(), BIAS::SymmetricMatrix3x3< T >::SymmetricMatrix3x3(), BIAS::TrackerBaseAffine< StorageType >::TrackAffine_(), BIAS::MonteCarloTransform::Transform(), BIAS::UnscentedTransform::Transform(), BIAS::CovTransformPose::TransformPoint3D(), BIAS::CovTransformPose::TransformPose(), TNT::transpose(), BIAS::Kalman::Update(), BIAS::IteratedExtendedKalman::Update(), and Upper_symmetric_eigenvalue_solve().

template<class T>
Subscript TNT::Matrix< T >::num_rows ( ) const
inlineinherited
Examples:
ExampleGenerateGauss.cpp.

Definition at line 319 of file cmat.h.

Referenced by BIAS::Matrix< T >::Add(), BIAS::Matrix< T >::AddIP(), BIAS::ImageAlignment::Align(), BIAS::ImageAlignment::AutoAlign(), BIAS::SVD3x3::Compute(), BIAS::ImageBlender::ComputeCylCamGeometry(), BIAS::ImageBlenderIncremental::ComputeCylCamGeometry_(), BIAS::LDA::ComputeReductionMatrix(), BIAS::PCA::ComputeReductionMatrix(), BIAS::ContourBSplineShapeMatrix::ComputeRegularisationMatrix(), BIAS::PCA::ComputeScatter(), BIAS::UnscentedTransform::ComputeSigmaPoints_(), BIAS::LDA::ComputeWithinAndInterClassCovs(), BIAS::Matrix< T >::Conv(), BIAS::Matrix< T >::Divide(), BIAS::Matrix< T >::DivideElementwise(), Eigenproblem_quadratic_matrix(), Eigenvalue_solve(), BIAS::CamPoseCalib::Estimate(), Fortran_Matrix_to_Matrix(), General_singular_value_decomposition(), generalised_eigenvalue_matrix_solve(), BIAS::CamPoseCalib::GetCov(), BIAS::CamPoseCalib::GetCoVarMatrix(), BIAS::SVD::GetLeftNullvector(), BIAS::Kalman::Init(), BIAS::IteratedExtendedKalman::Init(), BIAS::Matrix< T >::Kronecker(), Lapack_Cholesky_SymmetricPositiveDefinit(), Lapack_LLS_QR_linear_solve(), Lapack_LU_linear_solve(), Lapack_WLLS_solve(), TNT::matmult(), BIAS::Matrix2x2< T >::Matrix2x2(), BIAS::Matrix3x3< T >::Matrix3x3(), BIAS::Matrix4x4< T >::Matrix4x4(), BIAS::Matrix< T >::Mult(), TNT::mult_element(), BIAS::Matrix< T >::Multiply(), BIAS::Matrix< T >::MultiplyWithTransposeOf(), BIAS::Matrix< T >::MultLeft(), TNT::Matrix< BIAS::BIAS::Vector< int > >::newsize(), BIAS::TrackerBaseInterface< StorageType >::NormalizeRegion_(), BIAS::Vector< T >::operator*(), BIAS::Vector3< T >::operator*(), BIAS::Vector4< T >::operator*(), TNT::Matrix< T >::operator+(), TNT::Matrix< T >::operator-(), BIAS::Matrix3x4< T >::operator=(), BIAS::Matrix4x4< T >::operator=(), BIAS::PMatrix::PMatrix(), BIAS::PMatrixBase::PMatrixBase(), BIAS::CovTransformPose::PoseEulerZYXToQuat(), BIAS::CovTransformPose::PoseQuatToEulerZYX(), BIAS::IteratedExtendedKalman::Predict(), BIAS::RMatrix::RMatrix(), BIAS::RMatrixBase::RMatrixBase(), BIAS::Matrix< T >::Set(), BIAS::RParametrization::SetCovarianceMatrix(), BIAS::PoseParametrization::SetCovarianceMatrix(), BIAS::EParametrization::SetCovarianceMatrix(), BIAS::LocalAffineFrame::SetFromMatrix(), BIAS::IteratedExtendedKalman::SetProcessCov(), BIAS::ContourBSplineShapeMatrix::SetShapeSpaceMatrix(), BIAS::IteratedExtendedKalman::SetState(), BIAS::ContourBSplineShapeMatrix::SetSubShapeSpaceZero(), BIAS::GaussHelmert::Solve(), BIAS::LeastSquaresSVD::Solve(), BIAS::SVD::Solve(), BIAS::CamPoseCalib::SolveLM_(), SquaredMahalanobisDistance(), BIAS::ImageAlignment::StrictPyramidAlign(), BIAS::Matrix< T >::Sub(), BIAS::Matrix< T >::SubIP(), BIAS::SymmetricMatrix3x3< T >::SymmetricMatrix3x3(), BIAS::TrackerBaseAffine2< StorageType >::TrackAffine_(), BIAS::MonteCarloTransform::Transform(), BIAS::UnscentedTransform::Transform(), BIAS::CovTransformPose::TransformPoint3D(), BIAS::CovTransformPose::TransformPose(), TNT::transpose(), BIAS::Kalman::Update(), BIAS::IteratedExtendedKalman::Update(), Upper_symmetric_eigenvalue_solve(), and BIAS::LeastSquaresLapack::WeightedSolve().

template<class T>
reference TNT::Matrix< T >::operator() ( Subscript  i)
inlineinherited

Definition at line 343 of file cmat.h.

template<class T>
const_reference TNT::Matrix< T >::operator() ( Subscript  i) const
inlineinherited

Definition at line 352 of file cmat.h.

template<class T>
reference TNT::Matrix< T >::operator() ( Subscript  i,
Subscript  j 
)
inlineinherited

Definition at line 363 of file cmat.h.

template<class T>
const_reference TNT::Matrix< T >::operator() ( Subscript  i,
Subscript  j 
) const
inlineinherited

Definition at line 376 of file cmat.h.

const Pose& BIAS::Pose::operator= ( const Pose p)
inline

Copy from another pose transformation instance.

Definition at line 188 of file Pose.hh.

References GetCovariance(), and BIAS::CoordinateTransform3D::operator=().

template<class T>
T* TNT::Matrix< T >::operator[] ( Subscript  i)
inlineinherited

Definition at line 325 of file cmat.h.

template<class T>
const T* TNT::Matrix< T >::operator[] ( Subscript  i) const
inlineinherited

Definition at line 334 of file cmat.h.

template<class T>
std::ostream& TNT::Matrix< T >::Print ( std::ostream &  s,
const int  width,
const int  precision,
bool  scientific = true 
) const
inlineinherited
Author
Ingo Schiller
Examples:
ExampleSparseMatrix.cpp.
template<class T>
std::ostream& TNT::Matrix< T >::Print ( std::ostream &  s,
const bool  intCastOutput = false,
const bool  binaryOutput = false,
const bool  forceFullPrecision = false 
) const
inlineinherited
Author
Jan Woetzel
template<class T>
std::ostream& TNT::Matrix< T >::PrintPretty ( std::ostream &  s,
const std::string &  name = "",
const int  width = 8,
const bool  alignLeft = true 
) const
inlineinherited
Author
Sandro Esquivel
Examples:
ExampleSVD.cpp, and ExampleSVD3x3.cpp.
template<class T >
std::istream & TNT::Matrix< T >::Read ( std::istream &  s,
const bool  intCastInput = false,
const bool  binaryInput = false 
)
inlineinherited

JW.

Author
Jan Woetzel

Definition at line 605 of file cmat.h.

Referenced by TNT::Matrix< T >::operator>>().

void CoordinateTransform3D::RotateLocalFrame ( const Quaternion< double > &  Q)
inherited

Applies the passed rotation to the orientation of the local frame.

   Convenience wrapper, which simulates
LocalCoordTrsf.Set(Q); 
LocalCoordTrsf.Set(Vector3<double>(0,0,0));
this->ConcatenateLocalTransform(Q, *this);
Examples:
ExampleXB3Rectification.cpp.

Definition at line 161 of file CoordinateTransform3D.cpp.

Referenced by BIAS::PlanarRectification< InputStorageType, OutputStorageType >::DetermineRectificationParameters_(), and BIAS::ProjectionParametersPerspective::SetIntrinsics().

bool BIAS::Pose::Save ( const std::string &  outputFile)

Write pose transformation to a text file using operator <<.

Parameters
[in]outputFileName of file to write to
See Also
CoordinateTransform3D::Save()
Returns
Returns false if writing to file failed, true otherwise.

Definition at line 222 of file Pose.cpp.

bool BIAS::Matrix< double >::Save ( const std::string &  filename) const
inherited

method to save directly to a given filename.

internally using stream operator

Author
Jan Woetzel 05/2003
Returns
false in case of error, true in case of success
void BIAS::Matrix< double >::ScaleCol ( int  NoCol,
double  scale 
)
inherited

Scales column NoCol with scale.

void BIAS::Matrix< double >::ScaleRow ( int  NoRow,
double  scale 
)
inherited

Scales row NoRow with scale.

int BIAS::Pose::Set ( const PoseParametrization pose)
void BIAS::Pose::Set ( const Quaternion< POSE_TYPE > &  Q,
const Vector3< POSE_TYPE > &  C 
)

Set rotation (resp.

orientation) from unit quaternion and translation (resp. origin) from Euclidean vector.

Attention
Resets covariance matrix to zero!

Definition at line 116 of file Pose.cpp.

References BIAS::CoordinateTransform3D::Set().

void BIAS::Pose::Set ( const Quaternion< POSE_TYPE > &  Q,
const Vector3< POSE_TYPE > &  C,
const Matrix< POSE_TYPE > &  cov 
)

Set rotation (resp.

orientation) from unit quaternion and translation (resp. origin) from Euclidean vector, uncertainty is set from 7x7 covariance matrix containing Cov([C Q]).

Definition at line 149 of file Pose.cpp.

template<class T>
void TNT::Matrix< T >::set ( const T &  val)
inlineprotectedinherited

Definition at line 152 of file cmat.h.

Referenced by TNT::Matrix< BIAS::BIAS::Vector< int > >::operator=().

virtual void BIAS::CoordinateTransform3D::Set ( const Quaternion< double > &  Q,
const Vector3< double > &  C,
const double &  scale = 1.0 
)
inlinevirtualinherited

Define local coordinate frame from within the world frame.

Parameters
[in]QSpecifies the orientation of the local frame in the world frame base: Q*(global base vecor)*Q_conj = local base vector
[in]CSpecifies the position of the origin of the local frame in the world coordinate frame: global base origin + C_ = local base origin
[in]scaleSpecifies the isotropic scale of base vector length to get local base vector length: ||global base vector||*scale = ||local base vector||
Examples:
ExampleXB3Rectification.cpp.

Definition at line 152 of file CoordinateTransform3D.hh.

Referenced by BIAS::CoordinateTransform3D::ConcatenateLocalTransform(), and Set().

template<class T>
TNT::Matrix< T >::set ( value  )
inherited
void BIAS::Matrix< double >::Set ( const int  row,
const int  col,
const Matrix< double > &  data 
)
inherited

Copies the contents of data into this at the position indicated by row and col.

The size of *this must be big enought to carry data

Author
woelk 05/2008 (c) www.vision-n.de
void BIAS::Matrix< double >::Set ( const int  row,
const int  col,
const Vector< double > &  data 
)
inherited

Copies the contents of data into this at the position indicated by row and col.

The size of *this must be big enought to carry data. Data i interpreted as column vector

Author
woelk 05/2008 (c) www.vision-n.de
void BIAS::Pose::SetC ( const Vector3< POSE_TYPE > &  C,
const Matrix3x3< POSE_TYPE > &  cov 
)

Set translation (resp.

origin) from Euclidean vector, and set its uncertainty from 3x3 covariance matrix.

Definition at line 90 of file Pose.cpp.

References BIAS::CoordinateTransform3D::SetC().

Referenced by BIAS::PMDImageProc::PoseFromMeta().

void BIAS::Pose::SetC ( const Vector3< POSE_TYPE > &  C)

Set translation (resp.

origin) from Euclidean vector.

Attention
Resets covariance matrix to zero!

Definition at line 83 of file Pose.cpp.

References BIAS::CoordinateTransform3D::SetC().

void BIAS::CoordinateTransform3D::SetC ( const Vector3< double > &  C)
inlineinherited

Set origin of local coordinate system in global coordinates.

See Also
CoordinateTransform3D::Set()

Definition at line 139 of file CoordinateTransform3D.hh.

Referenced by SetC().

void BIAS::Matrix< double >::SetCol ( const int  row,
const Vector< double > &  data 
)
inherited

set a col of matrix from vector

Author
woelk 08/2004
int BIAS::Pose::SetCovariance ( const Matrix< POSE_TYPE > &  c)

Set covariance matrix explicitely from 7x7 matrix Cov([C Q]).

Definition at line 157 of file Pose.cpp.

References BIAS::Matrix< T >::GetCols(), and BIAS::Matrix< T >::GetRows().

int BIAS::Pose::SetCovEuclidean ( Matrix< POSE_TYPE >  Cov)

Set covariance matrix explicitely from an Euclidean covariance matrix, i.e.

a 6x6 matrix Cov([C alpha beta gamma]) where alpha, beta, gamma are rotation angles.

Attention
This method is not implemented yet!

Definition at line 123 of file Pose.cpp.

References BIAS::Matrix< T >::GetCols(), and BIAS::Matrix< T >::GetRows().

void CoordinateTransform3D::SetFromMatrix3x4 ( const Matrix3x4< double > &  M)
inherited

Set 3x4 matrix which transforms points in global coordinate system to Euclidean points in local coordinate system.

Attention
Use only for matrices that can not be decomposed properly, otherwise use Set method!

Definition at line 63 of file CoordinateTransform3D.cpp.

References BIAS::SVD::Invert(), and BIAS::Matrix< T >::Set().

void BIAS::Matrix4x4< double >::SetIdentity ( )
inlineinherited

set the elements of this matrix to the identity matrix

(posisbly overriding the inherited method)

Author
, Jan Woetzel
Date
04/17/2002 untested
Examples:
ExampleOperators.cpp.

Definition at line 260 of file Matrix4x4.hh.

void BIAS::Pose::SetQ ( const Quaternion< POSE_TYPE > &  Q,
const Matrix4x4< POSE_TYPE > &  cov 
)

Set rotation (resp.

orientation) from unit quaternion, and set its uncertainty from 4x4 covariance matrix.

Definition at line 103 of file Pose.cpp.

References BIAS::CoordinateTransform3D::SetQ().

Referenced by BIAS::PMDImageProc::PoseFromMeta().

void BIAS::Pose::SetQ ( const Quaternion< POSE_TYPE > &  Q)

Set rotation (resp.

orientation) from unit quaternion.

Attention
Resets covariance matrix to zero!

Definition at line 76 of file Pose.cpp.

References BIAS::CoordinateTransform3D::SetQ().

void BIAS::CoordinateTransform3D::SetQ ( const Quaternion< double > &  Q)
inlineinherited

Set orientation of local coordinate system from unit quaternion.

See Also
CoordinateTransform3D::Set()

Definition at line 131 of file CoordinateTransform3D.hh.

Referenced by SetQ().

void BIAS::Pose::SetR ( const RMatrixBase R)
inline

Get rotation (resp.

orientation) as rotation matrix.

Definition at line 125 of file Pose.hh.

References BIAS::RMatrixBase::GetQuaternion().

void BIAS::Matrix< double >::SetRow ( const int  row,
const Vector< double > &  data 
)
inherited

set a row of matrix from vector

Author
woelk 08/2004
virtual void BIAS::Pose::SetScale ( const double &  scale)
inlineprotectedvirtual

Scale can not be set for poses but is fixed as 1.

Attention
Calling this method will result in a program abort!

Reimplemented from BIAS::CoordinateTransform3D.

Definition at line 264 of file Pose.hh.

void BIAS::Matrix< double >::SetSubMatrix ( const size_t  startRowInThis,
const size_t  startColInThis,
const Matrix< double > &  submatrix,
const size_t  startRowInSub,
const size_t  startColInSub,
const size_t  numRows,
const size_t  numCols 
)
inherited

sets a submatrix in this.

Start index in this is [startRowInThis][startColInThis] end index is [startRowInThis+numRows-1][startColInThis+numCols-1]. Entries copyed from submatrix beginning at [startRowInSub][startColInSub] and stop at [startRowInSub+numRows-1][startColInSub+numCols-1]

Author
apetersen 12/2010
void BIAS::Matrix< double >::SetSubMatrix ( const size_t  startRowInThis,
const size_t  startColInThis,
const Matrix3x3< double > &  submatrix 
)
inherited

sets a 3x3 submatrix in this.

Start index in this is [startRowInThis][startColInThis] end index is [startRowInThis+2][startColInThis+2].

Author
apetersen 12/2010
void BIAS::Matrix< double >::SetSubMatrix ( const size_t  startRowInThis,
const size_t  startColInThis,
const Vector3< double > &  subvector 
)
inherited

sets a 3x1 submatrix in this.

Start index in this is [startRowInThis][startColInThis] end index is [startRowInThis+2][startColInThis].

Author
apetersen 12/2010
void BIAS::Matrix< double >::SetTranspose ( const int  row,
const int  col,
const Vector< double > &  data 
)
inherited

Copies the contents of data into this at the position indicated by row and col.

The size of *this must be big enought to carry data. Data is interpreted as row vector.

Author
woelk 05/2008 (c) www.vision-n.de
void BIAS::Matrix< double >::SetZero ( )
inlineinherited

Sets all values to zero.

Author
Ingo Thomsen, JW
Date
04/11/2002 tested

Referenced by BIAS::HomgPoint3DCov::SetEuclidean().

template<class T>
Subscript TNT::Matrix< T >::size ( ) const
inlineinherited
void BIAS::Matrix< double >::Sub ( const double &  scalar,
Matrix< double > &  dest 
) const
inlineinherited

substraction function, storing data destination matrix

Author
Ingo Thomsen tested
void BIAS::Matrix< double >::SubIP ( const Matrix< double > &  arg)
inlineinherited

Subtracts arg from this
this -= arg.

Author
grest, 2004
void BIAS::Matrix< double >::SubIP ( const double &  scalar)
inlineinherited

in place subtraction function

Author
Ingo Thomsen tested

Definition at line 437 of file Matrix.hh.

void BIAS::Matrix< double >::SwapRows ( const int  i,
const int  r 
)
inherited

swaps two rows

Author
woelk 05/2008 www.vision-n.de
void CoordinateTransform3D::Talk ( ) const
inherited

Prints this transformation with more intuitive rotation representation.

Examples:
ExampleCalcRelativeTransform.cpp.

Definition at line 170 of file CoordinateTransform3D.cpp.

References BIAS::RMatrixBase::GetRotationAxisAngle(), and BIAS::RMatrixBase::SetFromQuaternion().

double BIAS::Matrix< double >::Trace ( ) const
inlineinherited
Author
koeser
void BIAS::Pose::TransformToNewGlobalBy ( const CoordinateTransform3D trsf)

Transforms the position and orientation stored in this pose into another global coordinate system, i.e.

: trsf * this = new local coordinate system.

Parameters
[in]trsfCoordinate transformation describing the global coordinate system for the current global coordinate system.

Definition at line 320 of file Pose.cpp.

References BIAS::CoordinateTransform3D::ConcatenateLocalTransform(), BIAS::CoordinateTransform3D::GetC(), BIAS::CoordinateTransform3D::GetLocalToGlobalTransform(), BIAS::CoordinateTransform3D::GetQ(), and BIAS::PoseParametrizationCovariance::Transform().

Matrix4x4 BIAS::Matrix4x4< double >::Transpose ( ) const
inlineinherited

Definition at line 315 of file Matrix4x4.hh.

void BIAS::Matrix4x4< double >::TransposeIP ( )
inlineinherited

tranpose this matrix "in place"

example: 0 1 2 3 –> 0 4 8 12 4 5 6 7 –> 1 5 9 13 8 9 10 11 –> 2 6 10 14 12 13 14 15 –> 3 7 11 15

Author
Jan-Friso Evers-Senne untested (07/08/2002)

Definition at line 302 of file Matrix4x4.hh.

void CoordinateTransform3D::UpdateMatrix_ ( )
protectedvirtualinherited

Computes the 4x4 transformation matrix from the currently set unit quaternion Q_ and translation vector C_.

Definition at line 37 of file CoordinateTransform3D.cpp.

References BIAS::RMatrixBase::SetFromQuaternion(), and BIAS::Matrix3x3< T >::Transpose().

void BIAS::Matrix< double >::Vec ( Vector< double > &  dest) const
inherited

vec-operator returns the elements of the matrix columwise as vector

vec-operator returns the elements of the matrix columnwise as vector

int BIAS::Matrix< double >::WriteMatlab ( std::ostream &  ostr,
const std::string &  name 
) const
inherited

Write the matrix in Matlab format to the given stream.

Parameters
nameIs the name of the Matlab variable
Author
streckel 08/2006
Returns
negativev if error
xmlNodePtr XMLBase::XMLAdd ( const xmlNodePtr  Node,
XMLIO XMLObject 
) const
inherited

call this to add the class to a node of a given xml tree

Attention
interface changed 3/2008: return value now nodeptr of added node!

Definition at line 26 of file XMLBase.cpp.

References BIAS::XMLIO::addAttribute(), and BIAS::XMLIO::addChildNode().

int BIAS::Pose::XMLGetClassName ( std::string &  TopLevelTag,
double &  Version 
) const
virtual

Specialization of XML block name function.

Implements BIAS::XMLBase.

Definition at line 242 of file Pose.cpp.

int BIAS::Pose::XMLIn ( const xmlNodePtr  Node,
BIAS::XMLIO XMLObject 
)
virtual

Specialization of XML read function.

Implements BIAS::XMLBase.

Definition at line 287 of file Pose.cpp.

References BIAS::XMLIO::getAttributeByName(), and BIAS::XMLIO::getAttributeValueString().

int BIAS::Pose::XMLOut ( const xmlNodePtr  Node,
BIAS::XMLIO XMLObject 
) const
virtual

Specialization of XML write function.

Implements BIAS::XMLBase.

Definition at line 250 of file Pose.cpp.

References BIAS::XMLIO::addChildNode(), and BIAS::XMLIO::addContent().

int XMLBase::XMLRead ( const std::string &  Filename)
inherited
int XMLBase::XMLReadFromString ( const std::string &  str)
inherited

reconstruct xml tree from string

Author
evers
Examples:
ExampleProjection.cpp.

Definition at line 111 of file XMLBase.cpp.

References BIAS::XMLIO::clear(), BIAS::XMLIO::getAttributeValueDouble(), BIAS::XMLIO::getNodeName(), and BIAS::XMLIO::ReadFromString().

Referenced by BIAS::IOUtils::GetProjection().

int XMLBase::XMLWrite ( const std::string &  Filename,
int  CompressionLevel = 0,
bool  AutoAddCompressionSuffix = true,
std::string  encoding = "UTF-8" 
) const
inherited
int XMLBase::XMLWriteToString ( std::string &  str,
std::string  encoding = "UTF-8" 
) const
inherited

serialize xml tree to string

Author
evers
Examples:
ExampleProjection.cpp.

Definition at line 61 of file XMLBase.cpp.

References BIAS::XMLIO::addAttribute(), BIAS::XMLIO::clear(), BIAS::XMLIO::create(), BIAS::XMLIO::SetEncoding(), and BIAS::XMLIO::WriteToString().

Friends And Related Function Documentation

template<class T >
Matrix< T > operator* ( const Matrix< T > &  A,
const Matrix< T > &  B 
)
related

Definition at line 842 of file cmat.h.

References TNT::matmult().

template<class T >
Vector< T > operator* ( const Matrix< T > &  A,
const Vector< T > &  x 
)
related

Definition at line 915 of file cmat.h.

References TNT::matmult().

template<class T >
Matrix< T > operator+ ( const Matrix< T > &  A,
const Matrix< T > &  B 
)
related

Definition at line 730 of file cmat.h.

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

template<class T >
Matrix< T > operator- ( const Matrix< T > &  A,
const Matrix< T > &  B 
)
related

Definition at line 752 of file cmat.h.

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

std::ostream& operator<< ( std::ostream &  os,
const Pose p 
)
friend

Write pose transformation to stream.

See Also
Pose::Save()

Definition at line 288 of file Pose.hh.

template<class T>
std::ostream & operator<< ( std::ostream &  s,
const Matrix< char > &  A 
)
related
Author
Jan Woetzel

Definition at line 663 of file cmat.h.

template<class T>
std::ostream & operator<< ( std::ostream &  s,
const Matrix< unsigned char > &  A 
)
related
Author
Jan Woetzel

Definition at line 670 of file cmat.h.

template<class T >
std::ostream & operator<< ( std::ostream &  s,
const Matrix< T > &  A 
)
related
Author
Jan Woetzel

Definition at line 695 of file cmat.h.

std::istream& operator>> ( std::istream &  is,
Pose p 
)
friend

Read pose transformation from stream.

See Also
Pose::Load()

Definition at line 303 of file Pose.hh.

template<class T>
std::istream & operator>> ( std::istream &  s,
Matrix< unsigned char > &  A 
)
related
Author
Jan Woetzel

Definition at line 703 of file cmat.h.

References TNT::Matrix< T >::Read().

template<class T>
std::istream & operator>> ( std::istream &  s,
Matrix< char > &  A 
)
related
Author
Jan Woetzel

Definition at line 711 of file cmat.h.

References TNT::Matrix< T >::Read().

template<class T >
std::istream & operator>> ( std::istream &  s,
Matrix< T > &  A 
)
related
Author
Jan Woetzel

Definition at line 719 of file cmat.h.

References TNT::Matrix< T >::Read().

Member Data Documentation

Vector3<double> BIAS::CoordinateTransform3D::C_
protectedinherited

Specifies the translation from local to global coordinate frame.

Definition at line 355 of file CoordinateTransform3D.hh.

Referenced by BIAS::CoordinateTransform3D::ConcatenateLocalTransform(), BIAS::operator<<(), BIAS::CoordinateTransform3D::operator=(), and BIAS::operator>>().

Matrix<POSE_TYPE> BIAS::Pose::Cov_
protected

7x7 covariance matrix for the 7-vector representation of this pose transformation (first C, then Q!)

Definition at line 282 of file Pose.hh.

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

Matrix4x4<double> BIAS::CoordinateTransform3D::invTransform_
protectedinherited

Specifies the homogeneous matrix representation of the transformation from local to global coordinate frame.

Attention
This transformation is considered as "inverse" since the transformation from global to local is considered as the reference transformation direction!

Definition at line 366 of file CoordinateTransform3D.hh.

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

template<class T>
Subscript TNT::Matrix< T >::m_
protectedinherited
template<class T>
Subscript TNT::Matrix< T >::mn_
protectedinherited
template<class T>
Subscript TNT::Matrix< T >::n_
protectedinherited
Quaternion<double> BIAS::CoordinateTransform3D::Q_
protectedinherited

Specifies the rotation from local to global coordinate frame.

Definition at line 352 of file CoordinateTransform3D.hh.

Referenced by BIAS::CoordinateTransform3D::ConcatenateLocalTransform(), BIAS::operator<<(), BIAS::CoordinateTransform3D::operator=(), and BIAS::operator>>().

template<class T>
T** TNT::Matrix< T >::row_
protectedinherited
template<class T>
T** TNT::Matrix< T >::rowm1_
protectedinherited
double BIAS::CoordinateTransform3D::scale_
protectedinherited

Specifies isometric scaling from local to global coordinate frame.

Definition at line 358 of file CoordinateTransform3D.hh.

Referenced by BIAS::CoordinateTransform3D::ConcatenateLocalTransform(), BIAS::operator<<(), BIAS::CoordinateTransform3D::operator=(), and BIAS::operator>>().

template<class T>
T* TNT::Matrix< T >::v_
protectedinherited
template<class T>
T* TNT::Matrix< T >::vm1_
protectedinherited

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