Compute the eigenvectors and eigenvalues of a symmetric 3x3 matrix. More...
#include <cmtkEigenSystemSymmetricMatrix3x3.h>
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) |
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.
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().
const FixedVector<3,TFloat> cmtk::EigenSystemSymmetricMatrix3x3< TFloat >::GetNthEigenvector | ( | const size_t | n ) | const [inline] |
Get n-th eigenvector.
Definition at line 61 of file cmtkEigenSystemSymmetricMatrix3x3.h.
Referenced by cmtk::ImageOperationMedialSkeleton::Apply(), and cmtk::UniformVolume::GetPrincipalAxes().
TFloat cmtk::EigenSystemSymmetricMatrix3x3< TFloat >::m_Eigenvalues[3] [protected] |
Eigenvalues vector.
Definition at line 77 of file cmtkEigenSystemSymmetricMatrix3x3.h.
TFloat cmtk::EigenSystemSymmetricMatrix3x3< TFloat >::m_Eigenvectors[3][3] [protected] |
Eigenvector matrix.
Definition at line 74 of file cmtkEigenSystemSymmetricMatrix3x3.h.