ITK
5.0.0
Insight Segmentation and Registration Toolkit
|
#include <itkSymmetricEigenAnalysis.h>
Definition at line 689 of file itkSymmetricEigenAnalysis.h.
Public Types | |
using | EigenMatrixType = TEigenMatrix |
enum | EigenValueOrderType { OrderByValue = 1, OrderByMagnitude, DoNotOrder } |
using | MatrixType = TMatrix |
using | VectorType = TVector |
Public Member Functions | |
unsigned int | ComputeEigenValues (const TMatrix &A, TVector &EigenValues) const |
unsigned int | ComputeEigenValuesAndVectors (const TMatrix &A, TVector &EigenValues, TEigenMatrix &EigenVectors) const |
constexpr unsigned int | GetDimension () const |
constexpr unsigned int | GetOrder () const |
bool | GetOrderEigenMagnitudes () const |
bool | GetOrderEigenValues () const |
constexpr bool | GetUseEigenLibrary () const |
void | SetOrderEigenMagnitudes (const bool b) |
void | SetOrderEigenValues (const bool b) |
SymmetricEigenAnalysisFixedDimension () | |
~SymmetricEigenAnalysisFixedDimension ()=default | |
Private Member Functions | |
template<typename QMatrix > | |
auto | ComputeEigenValuesAndVectorsWithEigenLibraryImpl (const QMatrix &A, TVector &EigenValues, TEigenMatrix &EigenVectors, bool) const -> decltype(GetPointerToMatrixData(A), static_cast< unsigned int >(1)) |
template<typename QMatrix > | |
auto | ComputeEigenValuesAndVectorsWithEigenLibraryImpl (const QMatrix &A, TVector &EigenValues, TEigenMatrix &EigenVectors, long) const -> decltype(static_cast< unsigned int >(1)) |
template<typename QMatrix > | |
auto | ComputeEigenValuesWithEigenLibraryImpl (const QMatrix &A, TVector &EigenValues, long) const -> decltype(static_cast< unsigned int >(1)) |
template<typename QMatrix > | |
auto | ComputeEigenValuesWithEigenLibraryImpl (const QMatrix &A, TVector &EigenValues, bool) const -> decltype(GetPointerToMatrixData(A), static_cast< unsigned int >(1)) |
template<typename QMatrix = TMatrix> | |
auto | GetMatrixValueType (bool) const -> typename QMatrix::element_type |
template<typename QMatrix = TMatrix> | |
auto | GetMatrixValueType (bool) const -> typename QMatrix::ValueType |
Private Attributes | |
EigenValueOrderType | m_OrderEigenValues |
using itk::SymmetricEigenAnalysisFixedDimension< VDimension, TMatrix, TVector, TEigenMatrix >::EigenMatrixType = TEigenMatrix |
Definition at line 704 of file itkSymmetricEigenAnalysis.h.
using itk::SymmetricEigenAnalysisFixedDimension< VDimension, TMatrix, TVector, TEigenMatrix >::MatrixType = TMatrix |
Definition at line 703 of file itkSymmetricEigenAnalysis.h.
using itk::SymmetricEigenAnalysisFixedDimension< VDimension, TMatrix, TVector, TEigenMatrix >::VectorType = TVector |
Definition at line 705 of file itkSymmetricEigenAnalysis.h.
enum itk::SymmetricEigenAnalysisFixedDimension::EigenValueOrderType |
Enumerator | |
---|---|
OrderByValue | |
OrderByMagnitude | |
DoNotOrder |
Definition at line 692 of file itkSymmetricEigenAnalysis.h.
|
inline |
Definition at line 700 of file itkSymmetricEigenAnalysis.h.
|
default |
|
inline |
Compute Eigen values of A A is any type that overloads the [][] operator and contains the symmetric matrix. In practice only the upper triangle of the matrix will be accessed. (Both itk::Matrix and vnl_matrix overload [][] operator.)
'EigenValues' is any type that overloads the [] operator and will contain the eigen values.
No size checking is performed. A is expected to be a square matrix of size VDimension. 'EigenValues' is expected to be of length VDimension. The matrix is not checked to see if it is symmetric.
Definition at line 720 of file itkSymmetricEigenAnalysis.h.
|
inline |
Compute Eigen values and vectors of A A is any type that overloads the [][] operator and contains the symmetric matrix. In practice only the upper triangle of the matrix will be accessed. (Both itk::Matrix and vnl_matrix overload [][] operator.)
'EigenValues' is any type that overloads the [] operator and will contain the eigen values.
'EigenVectors' is any type that provides access to its elements with the [][] operator. It is expected be of size VDimension * VDimension.
No size checking is performed. A is expected to be a square matrix of size VDimension. 'EigenValues' is expected to be of length VDimension. The matrix is not checked to see if it is symmetric.
Each row of the matrix 'EigenVectors' represents an eigen vector. (unlike MATLAB where the columns of the [EigenVectors, EigenValues] = eig(A) contains the eigenvectors).
Definition at line 748 of file itkSymmetricEigenAnalysis.h.
|
inlineprivate |
Definition at line 807 of file itkSymmetricEigenAnalysis.h.
|
inlineprivate |
Definition at line 865 of file itkSymmetricEigenAnalysis.h.
|
inlineprivate |
Definition at line 928 of file itkSymmetricEigenAnalysis.h.
|
inlineprivate |
Definition at line 970 of file itkSymmetricEigenAnalysis.h.
|
inline |
Definition at line 770 of file itkSymmetricEigenAnalysis.h.
|
inlineprivate |
Definition at line 785 of file itkSymmetricEigenAnalysis.h.
|
inlineprivate |
Definition at line 791 of file itkSymmetricEigenAnalysis.h.
|
inline |
Definition at line 769 of file itkSymmetricEigenAnalysis.h.
|
inline |
Definition at line 768 of file itkSymmetricEigenAnalysis.h.
|
inline |
Definition at line 762 of file itkSymmetricEigenAnalysis.h.
|
inline |
Definition at line 771 of file itkSymmetricEigenAnalysis.h.
|
inline |
Definition at line 763 of file itkSymmetricEigenAnalysis.h.
|
inline |
Definition at line 757 of file itkSymmetricEigenAnalysis.h.
|
private |
Definition at line 774 of file itkSymmetricEigenAnalysis.h.