Homogeneous 3x3 transformation matrix. More...
#include <cmtkMatrix3x3.h>
Public Types | |
typedef Matrix3x3< T > | Self |
This class. | |
Public Member Functions | |
Matrix3x3 () | |
Default constructor: make identity matrix. | |
Matrix3x3 (const Self &other) | |
Copy constructor. | |
Matrix3x3 (const T *const values) | |
Array constructor. | |
template<class T2 > | |
Matrix3x3 (const T2(&matrix)[3][3]) | |
2D array constructor. | |
Self & | Set (const T *const values) |
Set from array of entries. | |
Self & | Fill (const T value) |
Set to constant value. | |
Self & | Invert2x2 () |
Inversion operator (in place). | |
Self & | Invert3x3 () |
Inversion operator (in place) as a 3D non-homogeneous matrix. | |
Self | GetTranspose () const |
Transpose operator. | |
T * | operator[] (const size_t i) |
Index operator. | |
const T * | operator[] (const size_t i) const |
Constant index operator. | |
Self & | Compose (const Types::Coordinate params[8]) |
Compose from canonical parameters. | |
bool | Decompose (Types::Coordinate params[8], const Types::Coordinate *center=NULL) const |
Decompose into affine parameters. | |
Self & | operator*= (const Self &other) |
In-place multiplication operator. | |
Self & | operator*= (const T scalar) |
In-place scalar multiplication operator. | |
const Self | operator* (const Self &other) const |
Multiplication operator. | |
Self & | operator= (const Self &other) |
Assignment operator. | |
template<class T2 > | |
void | Multiply (const FixedVector< 2, T2 > &u, FixedVector< 2, T2 > &v) const |
template<class T2 > | |
void | Multiply (const FixedVector< 3, T2 > &u, FixedVector< 3, T2 > &v) const |
Multiply with actual 3d vector. | |
template<class T2 > | |
void | Multiply (FixedVector< 2, T2 > &v) const |
Multiply in place with 3d vector (will implicitly be made homogeneous). | |
template<class T2 > | |
void | Multiply (FixedVector< 3, T2 > &v) const |
Multiply in place with actual 3d vector. | |
T | Determinant () const |
Get determinant. | |
T | FrobeniusNorm () const |
Get Frobenius norm. | |
void | ComputeEigenvalues (T(&lambda)[3]) const |
Compute eigenvalues. | |
Private Attributes | |
T | Matrix [3][3] |
The actual matrix. |
Homogeneous 3x3 transformation matrix.
Definition at line 52 of file cmtkMatrix3x3.h.
typedef Matrix3x3<T> cmtk::Matrix3x3< T >::Self |
This class.
Definition at line 56 of file cmtkMatrix3x3.h.
cmtk::Matrix3x3< T >::Matrix3x3 | ( | const T *const | values ) | [inline] |
Array constructor.
If a NULL parameter is given, an uninitialized matrix is generated. This is intended behaviour.
Definition at line 72 of file cmtkMatrix3x3.h.
cmtk::Matrix3x3< T >::Matrix3x3 | ( | const T2(&) | matrix[3][3] ) | [inline] |
2D array constructor.
Definition at line 79 of file cmtkMatrix3x3.h.
T cmtk::Matrix3x3< T >::Determinant | ( | ) | const [inline] |
Get determinant.
Definition at line 170 of file cmtkMatrix3x3.h.
Referenced by cmtk::DeformationField::GetJacobianDeterminant(), and cmtk::UniformVolume::GetPrincipalAxes().
void cmtk::Matrix3x3< T >::Multiply | ( | FixedVector< 2, T2 > & | v ) | const [inline] |
Multiply in place with 3d vector (will implicitly be made homogeneous).
Definition at line 156 of file cmtkMatrix3x3.h.
void cmtk::Matrix3x3< T >::Multiply | ( | FixedVector< 3, T2 > & | v ) | const [inline] |
Multiply in place with actual 3d vector.
Definition at line 163 of file cmtkMatrix3x3.h.
void cmtk::Matrix3x3< T >::Multiply | ( | const FixedVector< 3, T2 > & | u, |
FixedVector< 3, T2 > & | v | ||
) | const [inline] |
Multiply with actual 3d vector.
Definition at line 149 of file cmtkMatrix3x3.h.
void cmtk::Matrix3x3< T >::Multiply | ( | const FixedVector< 2, T2 > & | u, |
FixedVector< 2, T2 > & | v | ||
) | const [inline] |
Definition at line 137 of file cmtkMatrix3x3.h.
Referenced by cmtk::MakeInitialAffineTransformation::AlignPrincipalAxes(), and cmtk::ScalarImage::InterpolateFrom().
const T* cmtk::Matrix3x3< T >::operator[] | ( | const size_t | i ) | const [inline] |
Constant index operator.
Definition at line 108 of file cmtkMatrix3x3.h.
T* cmtk::Matrix3x3< T >::operator[] | ( | const size_t | i ) | [inline] |
Index operator.
Definition at line 102 of file cmtkMatrix3x3.h.
T cmtk::Matrix3x3< T >::Matrix[3][3] [private] |
The actual matrix.
Definition at line 188 of file cmtkMatrix3x3.h.
Referenced by cmtk::Matrix3x3< T >::Matrix3x3(), and cmtk::Matrix3x3< T >::operator=().