Basic Image AlgorithmS Library
2.8.0
|
#include <Base/Geometry/TrifocalTensorBase.hh>
Public Member Functions | |
void | CheckPointCorr (HomgPoint2D &p1, HomgPoint2D &p2, HomgPoint2D &p3, Matrix3x3< double > &res) |
void | Compose (RMatrixBase &R1, RMatrixBase &R2, RMatrixBase &R3, Vector3< double > &C1, Vector3< double > &C2, Vector3< double > &C3) |
composition for "normalized" (with K^-1) image points More... | |
void | Compose (RMatrixBase &R1, RMatrixBase &R2, RMatrixBase &R3, HomgPoint3D &C1, HomgPoint3D &C2, HomgPoint3D &C3) |
void | Compose (RMatrixBase &R2, RMatrixBase &R3, Vector3< double > &C2, Vector3< double > &C3) |
composition for R1=I and C1=0 More... | |
void | Compose (RMatrixBase &R2, RMatrixBase &R3, HomgPoint3D &C2, HomgPoint3D &C3) |
void | Destroy () |
frees internal data More... | |
void | Dump () |
TRIFOCALTENSOR_TYPE * | GetData () |
const TRIFOCALTENSOR_TYPE * | GetData () const |
TRIFOCALTENSOR_TYPE *** | GetDataArray () |
int | GetDim1 () const |
int | GetDim2 () const |
int | GetDim3 () const |
TRIFOCALTENSOR_TYPE | GetLength () const |
void | GetMatrices (Matrix3x3< TRIFOCALTENSOR_TYPE > &T1, Matrix3x3< TRIFOCALTENSOR_TYPE > &T2, Matrix3x3< TRIFOCALTENSOR_TYPE > &T3) const |
void | LeftContravariantContraction1 (Vector3< TRIFOCALTENSOR_TYPE > &v, Matrix3x3< TRIFOCALTENSOR_TYPE > &res) |
computes the contraction of index 1 from left with contravariant vector , i.e. More... | |
Matrix3x3< TRIFOCALTENSOR_TYPE > | LeftContravariantContraction1 (Vector3< TRIFOCALTENSOR_TYPE > &v) |
void | LeftContravariantContraction2 (Vector3< TRIFOCALTENSOR_TYPE > &v, Matrix3x3< TRIFOCALTENSOR_TYPE > &res) |
Matrix3x3< TRIFOCALTENSOR_TYPE > | LeftContravariantContraction2 (Vector3< TRIFOCALTENSOR_TYPE > &v) |
void | LeftContravariantContraction3 (Vector3< TRIFOCALTENSOR_TYPE > &v, Matrix3x3< TRIFOCALTENSOR_TYPE > &res) |
Matrix3x3< TRIFOCALTENSOR_TYPE > | LeftContravariantContraction3 (Vector3< TRIFOCALTENSOR_TYPE > &v) |
void | NewSize (const int i, const int j, const int k, const TRIFOCALTENSOR_TYPE &def=(TRIFOCALTENSOR_TYPE) 0.0) |
void | newsize (const int i, const int j, const int k, const TRIFOCALTENSOR_TYPE &def=(TRIFOCALTENSOR_TYPE) 0.0) |
TRIFOCALTENSOR_TYPE & | operator() (unsigned int i, unsigned int j, unsigned int k) |
direct data access through () operator: T_i^{jk} More... | |
TrifocalTensorBase & | operator= (const TrifocalTensorBase &t) |
bool | operator== (const Tensor3D< TRIFOCALTENSOR_TYPE > &t) |
checks if all tensor entries are equal (up-to-scale-equality is not checked) More... | |
void | postmultiply1 (const BIAS::Matrix3x3< TRIFOCALTENSOR_TYPE > &M, Tensor3D3x3x3< TRIFOCALTENSOR_TYPE > &result) const |
Compute S_{ijk} = T_{pjk} M_{pi}. More... | |
void | postmultiply2 (const BIAS::Matrix3x3< TRIFOCALTENSOR_TYPE > &M, Tensor3D3x3x3< TRIFOCALTENSOR_TYPE > &result) const |
Compute S_{ijk} = T_{ipk} M_{pj}. More... | |
void | postmultiply3 (const BIAS::Matrix3x3< TRIFOCALTENSOR_TYPE > &M, Tensor3D3x3x3< TRIFOCALTENSOR_TYPE > &result) const |
Compute S_{ijk} = T_{ijp} M_{pk}. More... | |
void | premultiply1 (const BIAS::Matrix3x3< TRIFOCALTENSOR_TYPE > &M, Tensor3D3x3x3< TRIFOCALTENSOR_TYPE > &result) const |
compute S_{ijk} = M_{ip} T_{pjk} More... | |
void | premultiply2 (const BIAS::Matrix3x3< TRIFOCALTENSOR_TYPE > &M, Tensor3D3x3x3< TRIFOCALTENSOR_TYPE > &result) const |
compute S_{ijk} = M_{jp} T_{ipk} More... | |
void | premultiply3 (const BIAS::Matrix3x3< TRIFOCALTENSOR_TYPE > &M, Tensor3D3x3x3< TRIFOCALTENSOR_TYPE > &result) const |
compute S_{ijk} = M_{kp} T_{ijp} More... | |
void | Scale (TRIFOCALTENSOR_TYPEfactor) |
void | SetFromMatrices (const Matrix3x3< TRIFOCALTENSOR_TYPE > &T1, const Matrix3x3< TRIFOCALTENSOR_TYPE > &T2, const Matrix3x3< TRIFOCALTENSOR_TYPE > &T3) |
void | SetFromVector (const BIAS::Vector< TRIFOCALTENSOR_TYPE > &v) |
set the tensor by the rows of the vector. More... | |
void | SetZero () |
set all elements to zero More... | |
BIAS::Vector< TRIFOCALTENSOR_TYPE > | ToVector () |
TrifocalTensorBase () | |
TrifocalTensorBase (const TrifocalTensorBase &t) | |
~TrifocalTensorBase () | |
Protected Attributes | |
TRIFOCALTENSOR_TYPE * | _Data |
TRIFOCALTENSOR_TYPE *** | _DataArray |
int | _Dim1 |
int | _Dim2 |
int | _Dim3 |
int | _Size |
Definition at line 41 of file TrifocalTensorBase.hh.
TrifocalTensorBase::TrifocalTensorBase | ( | ) |
Definition at line 31 of file TrifocalTensorBase.cpp.
TrifocalTensorBase::TrifocalTensorBase | ( | const TrifocalTensorBase & | t | ) |
Definition at line 35 of file TrifocalTensorBase.cpp.
TrifocalTensorBase::~TrifocalTensorBase | ( | ) |
Definition at line 39 of file TrifocalTensorBase.cpp.
void TrifocalTensorBase::CheckPointCorr | ( | HomgPoint2D & | p1, |
HomgPoint2D & | p2, | ||
HomgPoint2D & | p3, | ||
Matrix3x3< double > & | res | ||
) |
Definition at line 124 of file TrifocalTensorBase.cpp.
References BIAS::Tensor3D3x3x3< TRIFOCALTENSOR_TYPE >::LeftContravariantContraction1(), BIAS::Matrix3x3< T >::Mult(), BIAS::Vector3< T >::Normalize(), and BIAS::Matrix3x3< T >::SetAsCrossProductMatrix().
void TrifocalTensorBase::Compose | ( | RMatrixBase & | R1, |
RMatrixBase & | R2, | ||
RMatrixBase & | R3, | ||
Vector3< double > & | C1, | ||
Vector3< double > & | C2, | ||
Vector3< double > & | C3 | ||
) |
composition for "normalized" (with K^-1) image points
Definition at line 54 of file TrifocalTensorBase.cpp.
References BIAS::Matrix3x3< T >::Mult(), and BIAS::Matrix3x3< T >::Transpose().
Referenced by Compose().
void TrifocalTensorBase::Compose | ( | RMatrixBase & | R1, |
RMatrixBase & | R2, | ||
RMatrixBase & | R3, | ||
HomgPoint3D & | C1, | ||
HomgPoint3D & | C2, | ||
HomgPoint3D & | C3 | ||
) |
Definition at line 70 of file TrifocalTensorBase.cpp.
References Compose(), and BIAS::HomgPoint3D::GetEuclidean().
void TrifocalTensorBase::Compose | ( | RMatrixBase & | R2, |
RMatrixBase & | R3, | ||
Vector3< double > & | C2, | ||
Vector3< double > & | C3 | ||
) |
composition for R1=I and C1=0
Definition at line 80 of file TrifocalTensorBase.cpp.
References BIAS::Matrix3x3< T >::GetRow(), BIAS::Matrix3x3< T >::Mult(), BIAS::Vector3< T >::OuterProduct(), BIAS::Tensor3D3x3x3< TRIFOCALTENSOR_TYPE >::SetFromMatrices(), and BIAS::Matrix3x3< T >::Transpose().
void TrifocalTensorBase::Compose | ( | RMatrixBase & | R2, |
RMatrixBase & | R3, | ||
HomgPoint3D & | C2, | ||
HomgPoint3D & | C3 | ||
) |
Definition at line 114 of file TrifocalTensorBase.cpp.
References Compose(), and BIAS::HomgPoint3D::GetEuclidean().
|
inherited |
frees internal data
void TrifocalTensorBase::Dump | ( | ) |
Definition at line 43 of file TrifocalTensorBase.cpp.
References BIAS::Tensor3D3x3x3< TRIFOCALTENSOR_TYPE >::GetMatrices().
|
inlineinherited |
Definition at line 72 of file Tensor3D.hh.
|
inlineinherited |
Definition at line 78 of file Tensor3D.hh.
|
inlineinherited |
Definition at line 75 of file Tensor3D.hh.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inlineinherited |
Referenced by Dump().
|
inlineinherited |
computes the contraction of index 1 from left with contravariant vector , i.e.
res[k][j] = sum_i v[i] * (*this)[k][j]
Referenced by CheckPointCorr().
|
inlineinherited |
Definition at line 60 of file Tensor3D3x3x3.hh.
|
inlineinherited |
|
inlineinherited |
Definition at line 67 of file Tensor3D3x3x3.hh.
|
inlineinherited |
|
inlineinherited |
Definition at line 74 of file Tensor3D3x3x3.hh.
|
inherited |
|
inherited |
|
inlineinherited |
direct data access through () operator: T_i^{jk}
Definition at line 96 of file Tensor3D.hh.
TrifocalTensorBase & TrifocalTensorBase::operator= | ( | const TrifocalTensorBase & | t | ) |
Definition at line 150 of file TrifocalTensorBase.cpp.
References BIAS::Tensor3D3x3x3< T >::operator=().
|
inherited |
checks if all tensor entries are equal (up-to-scale-equality is not checked)
|
inherited |
Compute S_{ijk} = T_{pjk} M_{pi}.
|
inherited |
Compute S_{ijk} = T_{ipk} M_{pj}.
|
inherited |
Compute S_{ijk} = T_{ijp} M_{pk}.
|
inherited |
compute S_{ijk} = M_{ip} T_{pjk}
|
inherited |
compute S_{ijk} = M_{jp} T_{ipk}
|
inherited |
compute S_{ijk} = M_{kp} T_{ijp}
|
inherited |
|
inlineinherited |
implementation
Referenced by Compose().
|
inherited |
set the tensor by the rows of the vector.
Vector size must be at least Dim1*Dim2*Dim3!
|
inherited |
set all elements to zero
|
inherited |
|
protectedinherited |
Definition at line 107 of file Tensor3D.hh.
|
protectedinherited |
Definition at line 111 of file Tensor3D.hh.
|
protectedinherited |
Definition at line 112 of file Tensor3D.hh.
|
protectedinherited |
Definition at line 112 of file Tensor3D.hh.
|
protectedinherited |
Definition at line 112 of file Tensor3D.hh.
|
protectedinherited |
Definition at line 112 of file Tensor3D.hh.