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

#include <Base/Math/Tensor3D3x3x3.hh>

+ Inheritance diagram for BIAS::Tensor3D3x3x3< T >:
+ Collaboration diagram for BIAS::Tensor3D3x3x3< T >:

Public Member Functions

void Destroy ()
 frees internal data More...
 
T * GetData ()
 
const T * GetData () const
 
T *** GetDataArray ()
 
int GetDim1 () const
 
int GetDim2 () const
 
int GetDim3 () const
 
GetLength () const
 
void GetMatrices (Matrix3x3< T > &T1, Matrix3x3< T > &T2, Matrix3x3< T > &T3) const
 
void LeftContravariantContraction1 (Vector3< T > &v, Matrix3x3< T > &res)
 computes the contraction of index 1 from left with contravariant vector , i.e. More...
 
Matrix3x3< T > LeftContravariantContraction1 (Vector3< T > &v)
 
void LeftContravariantContraction2 (Vector3< T > &v, Matrix3x3< T > &res)
 
Matrix3x3< T > LeftContravariantContraction2 (Vector3< T > &v)
 
void LeftContravariantContraction3 (Vector3< T > &v, Matrix3x3< T > &res)
 
Matrix3x3< T > LeftContravariantContraction3 (Vector3< T > &v)
 
void NewSize (const int i, const int j, const int k, const T &def=(T) 0.0)
 
void newsize (const int i, const int j, const int k, const T &def=(T) 0.0)
 
T & operator() (unsigned int i, unsigned int j, unsigned int k)
 direct data access through () operator: T_i^{jk} More...
 
Tensor3D3x3x3< T > & operator= (const Tensor3D3x3x3< T > &t)
 
bool operator== (const Tensor3D< T > &t)
 checks if all tensor entries are equal (up-to-scale-equality is not checked) More...
 
void postmultiply1 (const BIAS::Matrix3x3< T > &M, Tensor3D3x3x3< T > &result) const
 Compute S_{ijk} = T_{pjk} M_{pi}. More...
 
void postmultiply2 (const BIAS::Matrix3x3< T > &M, Tensor3D3x3x3< T > &result) const
 Compute S_{ijk} = T_{ipk} M_{pj}. More...
 
void postmultiply3 (const BIAS::Matrix3x3< T > &M, Tensor3D3x3x3< T > &result) const
 Compute S_{ijk} = T_{ijp} M_{pk}. More...
 
void premultiply1 (const BIAS::Matrix3x3< T > &M, Tensor3D3x3x3< T > &result) const
 compute S_{ijk} = M_{ip} T_{pjk} More...
 
void premultiply2 (const BIAS::Matrix3x3< T > &M, Tensor3D3x3x3< T > &result) const
 compute S_{ijk} = M_{jp} T_{ipk} More...
 
void premultiply3 (const BIAS::Matrix3x3< T > &M, Tensor3D3x3x3< T > &result) const
 compute S_{ijk} = M_{kp} T_{ijp} More...
 
void Scale (T factor)
 
void SetFromMatrices (const Matrix3x3< T > &T1, const Matrix3x3< T > &T2, const Matrix3x3< T > &T3)
 implementation More...
 
void SetFromVector (const BIAS::Vector< T > &v)
 set the tensor by the rows of the vector. More...
 
void SetZero ()
 set all elements to zero More...
 
 Tensor3D3x3x3 ()
 
BIAS::Vector< T > ToVector ()
 
virtual ~Tensor3D3x3x3 ()
 

Protected Attributes

T * _Data
 
T *** _DataArray
 
int _Dim1
 
int _Dim2
 
int _Dim3
 
int _Size
 

Detailed Description

template<class T = double>
class BIAS::Tensor3D3x3x3< T >

Author
Felix Woelk

Definition at line 40 of file Tensor3D3x3x3.hh.

Constructor & Destructor Documentation

template<class T >
Tensor3D3x3x3::Tensor3D3x3x3 ( )

Definition at line 36 of file Tensor3D3x3x3.cpp.

template<class T >
Tensor3D3x3x3::~Tensor3D3x3x3 ( )
virtual

Definition at line 41 of file Tensor3D3x3x3.cpp.

Member Function Documentation

template<class T >
void Tensor3D::Destroy ( )
inherited

frees internal data

Definition at line 90 of file Tensor3D.cpp.

template<class T = double>
T* BIAS::Tensor3D< T >::GetData ( )
inlineinherited

Definition at line 72 of file Tensor3D.hh.

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

template<class T = double>
const T* BIAS::Tensor3D< T >::GetData ( ) const
inlineinherited

Definition at line 78 of file Tensor3D.hh.

template<class T = double>
T*** BIAS::Tensor3D< T >::GetDataArray ( )
inlineinherited

Definition at line 75 of file Tensor3D.hh.

template<class T >
int Tensor3D::GetDim1 ( ) const
inherited
template<class T >
int Tensor3D::GetDim2 ( ) const
inherited
template<class T >
int Tensor3D::GetDim3 ( ) const
inherited
template<class T >
T Tensor3D::GetLength ( ) const
inherited

Definition at line 185 of file Tensor3D.cpp.

template<class T>
void BIAS::Tensor3D3x3x3< T >::GetMatrices ( Matrix3x3< T > &  T1,
Matrix3x3< T > &  T2,
Matrix3x3< T > &  T3 
) const
inline

Definition at line 140 of file Tensor3D3x3x3.hh.

References BIAS::Matrix3x3< T >::GetData().

template<class T>
void BIAS::Tensor3D3x3x3< T >::LeftContravariantContraction1 ( Vector3< T > &  v,
Matrix3x3< T > &  res 
)
inline

computes the contraction of index 1 from left with contravariant vector , i.e.

res[k][j] = sum_i v[i] * (*this)[k][j]

Author
woelk 07/2004

Definition at line 150 of file Tensor3D3x3x3.hh.

template<class T = double>
Matrix3x3<T> BIAS::Tensor3D3x3x3< T >::LeftContravariantContraction1 ( Vector3< T > &  v)
inline

Definition at line 60 of file Tensor3D3x3x3.hh.

template<class T>
void BIAS::Tensor3D3x3x3< T >::LeftContravariantContraction2 ( Vector3< T > &  v,
Matrix3x3< T > &  res 
)
inline

Definition at line 168 of file Tensor3D3x3x3.hh.

References BIAS::Matrix3x3< T >::SetZero().

template<class T = double>
Matrix3x3<T> BIAS::Tensor3D3x3x3< T >::LeftContravariantContraction2 ( Vector3< T > &  v)
inline

Definition at line 67 of file Tensor3D3x3x3.hh.

template<class T>
void BIAS::Tensor3D3x3x3< T >::LeftContravariantContraction3 ( Vector3< T > &  v,
Matrix3x3< T > &  res 
)
inline

Definition at line 179 of file Tensor3D3x3x3.hh.

References BIAS::Matrix3x3< T >::SetZero().

template<class T = double>
Matrix3x3<T> BIAS::Tensor3D3x3x3< T >::LeftContravariantContraction3 ( Vector3< T > &  v)
inline

Definition at line 74 of file Tensor3D3x3x3.hh.

template<class T>
void Tensor3D3x3x3::NewSize ( const int  i,
const int  j,
const int  k,
const T &  def = (T)0.0 
)

Definition at line 47 of file Tensor3D3x3x3.cpp.

template<class T>
void Tensor3D3x3x3::newsize ( const int  i,
const int  j,
const int  k,
const T &  def = (T)0.0 
)

Definition at line 56 of file Tensor3D3x3x3.cpp.

template<class T = double>
T& BIAS::Tensor3D< T >::operator() ( unsigned int  i,
unsigned int  j,
unsigned int  k 
)
inlineinherited

direct data access through () operator: T_i^{jk}

Author
mdunda 07 2004

Definition at line 96 of file Tensor3D.hh.

template<class T = double>
Tensor3D3x3x3<T>& BIAS::Tensor3D3x3x3< T >::operator= ( const Tensor3D3x3x3< T > &  t)
inline

Definition at line 117 of file Tensor3D3x3x3.hh.

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

template<class T>
bool Tensor3D::operator== ( const Tensor3D< T > &  t)
inherited

checks if all tensor entries are equal (up-to-scale-equality is not checked)

Author
mdunda 07 2004

Definition at line 138 of file Tensor3D.cpp.

References BIAS::Tensor3D< T >::GetData(), BIAS::Tensor3D< T >::GetDim1(), BIAS::Tensor3D< T >::GetDim2(), and BIAS::Tensor3D< T >::GetDim3().

template<class T>
void Tensor3D3x3x3::postmultiply1 ( const BIAS::Matrix3x3< T > &  M,
Tensor3D3x3x3< T > &  result 
) const

Compute S_{ijk} = T_{pjk} M_{pi}.

Author
mdunda

Definition at line 66 of file Tensor3D3x3x3.cpp.

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

template<class T>
void Tensor3D3x3x3::postmultiply2 ( const BIAS::Matrix3x3< T > &  M,
Tensor3D3x3x3< T > &  result 
) const

Compute S_{ijk} = T_{ipk} M_{pj}.

Author
mdunda

Definition at line 82 of file Tensor3D3x3x3.cpp.

template<class T>
void Tensor3D3x3x3::postmultiply3 ( const BIAS::Matrix3x3< T > &  M,
Tensor3D3x3x3< T > &  result 
) const

Compute S_{ijk} = T_{ijp} M_{pk}.

Author
mdunda

Definition at line 98 of file Tensor3D3x3x3.cpp.

template<class T>
void Tensor3D3x3x3::premultiply1 ( const BIAS::Matrix3x3< T > &  M,
Tensor3D3x3x3< T > &  result 
) const

compute S_{ijk} = M_{ip} T_{pjk}

Author
mdunda

Definition at line 114 of file Tensor3D3x3x3.cpp.

template<class T>
void Tensor3D3x3x3::premultiply2 ( const BIAS::Matrix3x3< T > &  M,
Tensor3D3x3x3< T > &  result 
) const

compute S_{ijk} = M_{jp} T_{ipk}

Author
mdunda

Definition at line 130 of file Tensor3D3x3x3.cpp.

template<class T>
void Tensor3D3x3x3::premultiply3 ( const BIAS::Matrix3x3< T > &  M,
Tensor3D3x3x3< T > &  result 
) const

compute S_{ijk} = M_{kp} T_{ijp}

Author
mdunda

Definition at line 146 of file Tensor3D3x3x3.cpp.

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

template<class T>
void Tensor3D::Scale ( factor)
inherited

Definition at line 177 of file Tensor3D.cpp.

template<class T>
void BIAS::Tensor3D3x3x3< T >::SetFromMatrices ( const Matrix3x3< T > &  T1,
const Matrix3x3< T > &  T2,
const Matrix3x3< T > &  T3 
)
inline

implementation

Definition at line 129 of file Tensor3D3x3x3.hh.

References BIAS::Matrix3x3< T >::GetData().

template<class T>
void Tensor3D::SetFromVector ( const BIAS::Vector< T > &  v)
inherited

set the tensor by the rows of the vector.

Vector size must be at least Dim1*Dim2*Dim3!

Author
mdunda

Definition at line 165 of file Tensor3D.cpp.

References BIAS::Vector< T >::Size().

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

template<class T >
void Tensor3D::SetZero ( )
inherited

set all elements to zero

Definition at line 124 of file Tensor3D.cpp.

template<class T >
Vector< T > Tensor3D::ToVector ( )
inherited
Returns
all tensor elements in a vector
Author
mdunda

Definition at line 150 of file Tensor3D.cpp.

Member Data Documentation

template<class T = double>
T* BIAS::Tensor3D< T >::_Data
protectedinherited

Definition at line 107 of file Tensor3D.hh.

template<class T = double>
T*** BIAS::Tensor3D< T >::_DataArray
protectedinherited

Definition at line 111 of file Tensor3D.hh.

template<class T = double>
int BIAS::Tensor3D< T >::_Dim1
protectedinherited

Definition at line 112 of file Tensor3D.hh.

template<class T = double>
int BIAS::Tensor3D< T >::_Dim2
protectedinherited

Definition at line 112 of file Tensor3D.hh.

template<class T = double>
int BIAS::Tensor3D< T >::_Dim3
protectedinherited

Definition at line 112 of file Tensor3D.hh.

template<class T = double>
int BIAS::Tensor3D< T >::_Size
protectedinherited

Definition at line 112 of file Tensor3D.hh.


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