ITK
6.0.0
Insight Toolkit
|
#include <itkSymmetricEigenAnalysis.h>
Definition at line 758 of file itkSymmetricEigenAnalysis.h.
Public Types | |
using | EigenMatrixType = TEigenMatrix |
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) |
Private Member Functions | |
template<typename QMatrix > | |
auto | ComputeEigenValuesAndVectorsWithEigenLibraryImpl (const QMatrix &A, TVector &EigenValues, TEigenMatrix &EigenVectors, bool) const -> decltype(GetPointerToMatrixData(A), 1U) |
template<typename QMatrix > | |
auto | ComputeEigenValuesAndVectorsWithEigenLibraryImpl (const QMatrix &A, TVector &EigenValues, TEigenMatrix &EigenVectors, long) const -> decltype(1U) |
template<typename QMatrix > | |
auto | ComputeEigenValuesWithEigenLibraryImpl (const QMatrix &A, TVector &EigenValues, bool) const -> decltype(GetPointerToMatrixData(A), 1U) |
template<typename QMatrix > | |
auto | ComputeEigenValuesWithEigenLibraryImpl (const QMatrix &A, TVector &EigenValues, long) const -> decltype(1U) |
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 | |
EigenValueOrderEnum | m_OrderEigenValues { EigenValueOrderEnum::OrderByValue } |
using itk::SymmetricEigenAnalysisFixedDimension< VDimension, TMatrix, TVector, TEigenMatrix >::EigenMatrixType = TEigenMatrix |
Definition at line 774 of file itkSymmetricEigenAnalysis.h.
using itk::SymmetricEigenAnalysisFixedDimension< VDimension, TMatrix, TVector, TEigenMatrix >::MatrixType = TMatrix |
Definition at line 773 of file itkSymmetricEigenAnalysis.h.
using itk::SymmetricEigenAnalysisFixedDimension< VDimension, TMatrix, TVector, TEigenMatrix >::VectorType = TVector |
Definition at line 775 of file itkSymmetricEigenAnalysis.h.
|
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 791 of file itkSymmetricEigenAnalysis.h.
Referenced by itk::Functor::SymmetricEigenAnalysisFixedDimensionFunction< TMatrixDimension, TInput, TOutput >::operator()().
|
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 817 of file itkSymmetricEigenAnalysis.h.
|
inlineprivate |
Definition at line 907 of file itkSymmetricEigenAnalysis.h.
References itk::detail::GetPointerToMatrixData(), itk::SymmetricEigenAnalysisEnums::OrderByMagnitude, itk::detail::permuteColumnsWithSortIndices(), and itk::detail::sortEigenValuesByMagnitude().
|
inlineprivate |
Definition at line 964 of file itkSymmetricEigenAnalysis.h.
References itk::SymmetricEigenAnalysisEnums::OrderByMagnitude, itk::detail::permuteColumnsWithSortIndices(), and itk::detail::sortEigenValuesByMagnitude().
|
inlineprivate |
Definition at line 1065 of file itkSymmetricEigenAnalysis.h.
References itk::detail::GetPointerToMatrixData(), itk::SymmetricEigenAnalysisEnums::OrderByMagnitude, and itk::detail::sortEigenValuesByMagnitude().
|
inlineprivate |
Definition at line 1026 of file itkSymmetricEigenAnalysis.h.
References itk::SymmetricEigenAnalysisEnums::OrderByMagnitude, and itk::detail::sortEigenValuesByMagnitude().
|
inlineconstexpr |
Definition at line 862 of file itkSymmetricEigenAnalysis.h.
Referenced by itk::Functor::SymmetricEigenAnalysisFixedDimensionFunction< TMatrixDimension, TInput, TOutput >::GetDimension(), and itk::operator<<().
|
inlineprivate |
Definition at line 885 of file itkSymmetricEigenAnalysis.h.
|
inlineprivate |
Definition at line 891 of file itkSymmetricEigenAnalysis.h.
|
inlineconstexpr |
Definition at line 857 of file itkSymmetricEigenAnalysis.h.
Referenced by itk::operator<<().
|
inline |
Definition at line 852 of file itkSymmetricEigenAnalysis.h.
References itk::SymmetricEigenAnalysisEnums::OrderByMagnitude.
Referenced by itk::operator<<().
|
inline |
Definition at line 835 of file itkSymmetricEigenAnalysis.h.
References itk::SymmetricEigenAnalysisEnums::OrderByValue.
Referenced by itk::operator<<().
|
inlineconstexpr |
Definition at line 867 of file itkSymmetricEigenAnalysis.h.
Referenced by itk::operator<<().
|
inline |
Definition at line 840 of file itkSymmetricEigenAnalysis.h.
References itk::SymmetricEigenAnalysisEnums::DoNotOrder, and itk::SymmetricEigenAnalysisEnums::OrderByMagnitude.
Referenced by itk::Functor::SymmetricEigenAnalysisFixedDimensionFunction< TMatrixDimension, TInput, TOutput >::OrderEigenValuesBy().
|
inline |
Definition at line 823 of file itkSymmetricEigenAnalysis.h.
References itk::SymmetricEigenAnalysisEnums::DoNotOrder, and itk::SymmetricEigenAnalysisEnums::OrderByValue.
Referenced by itk::Functor::SymmetricEigenAnalysisFixedDimensionFunction< TMatrixDimension, TInput, TOutput >::OrderEigenValuesBy().
|
private |
Definition at line 873 of file itkSymmetricEigenAnalysis.h.