Public Member Functions | Protected Attributes | Static Private Member Functions

cmtk::EigenSystemSymmetricMatrix3x3< TFloat > Class Template Reference
[cmtkBase Library]

Compute the eigenvectors and eigenvalues of a symmetric 3x3 matrix. More...

#include <cmtkEigenSystemSymmetricMatrix3x3.h>

List of all members.

Public Member Functions

 EigenSystemSymmetricMatrix3x3 (const Matrix3x3< TFloat > &matrix, const bool sortAbsolute=true)
 Constructor: compute eigensystem of given matrix.
const FixedVector< 3, TFloat > GetNthEigenvector (const size_t n) const
 Get n-th eigenvector.
TFloat GetNthEigenvalue (const size_t n) const
 Get n-th eigenvalue.

Protected Attributes

TFloat m_Eigenvectors [3][3]
 Eigenvector matrix.
TFloat m_Eigenvalues [3]
 Eigenvalues vector.

Static Private Member Functions

static TFloat hypot2 (const TFloat &x, const TFloat &y)
 Helper function that computes the Euclidean length of (x,y).
static void tred2 (TFloat V[3][3], TFloat d[3], TFloat e[3])
 Symmetric Householder reduction to tridiagonal form.
static void tql2 (TFloat V[3][3], TFloat d[3], TFloat e[3], const bool sortAbsolute=true)

Detailed Description

template<class TFloat>
class cmtk::EigenSystemSymmetricMatrix3x3< TFloat >

Compute the eigenvectors and eigenvalues of a symmetric 3x3 matrix.

(Eigen decomposition code for symmetric 3x3 matrices, copied from the public domain Java Matrix library JAMA by Connelly Barnes. ) Eigenvectors and eigenvalues are returned in sorted order, by ascending absolute values of the eigenvalues.

Definition at line 53 of file cmtkEigenSystemSymmetricMatrix3x3.h.


Member Function Documentation

template<class TFloat>
TFloat cmtk::EigenSystemSymmetricMatrix3x3< TFloat >::GetNthEigenvalue ( const size_t  n ) const [inline]

Get n-th eigenvalue.

Definition at line 67 of file cmtkEigenSystemSymmetricMatrix3x3.h.

Referenced by cmtk::ImageOperationMedialSkeleton::Apply().

template<class TFloat>
const FixedVector<3,TFloat> cmtk::EigenSystemSymmetricMatrix3x3< TFloat >::GetNthEigenvector ( const size_t  n ) const [inline]

Member Data Documentation

template<class TFloat>
TFloat cmtk::EigenSystemSymmetricMatrix3x3< TFloat >::m_Eigenvalues[3] [protected]

Eigenvalues vector.

Definition at line 77 of file cmtkEigenSystemSymmetricMatrix3x3.h.

template<class TFloat>
TFloat cmtk::EigenSystemSymmetricMatrix3x3< TFloat >::m_Eigenvectors[3][3] [protected]

Eigenvector matrix.

Definition at line 74 of file cmtkEigenSystemSymmetricMatrix3x3.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines