ITK  5.4.0
Insight Toolkit
Functions
itk::detail Namespace Reference

Functions

template<typename TValueType , unsigned int VRows, unsigned int VColumns>
const TValueType * GetPointerToMatrixData (const itk::Matrix< TValueType, VRows, VColumns > &inputMatrix)
 
template<typename TValueType >
const TValueType * GetPointerToMatrixData (const vnl_matrix< TValueType > &inputMatrix)
 
template<typename TValueType , unsigned int VRows, unsigned int VColumns>
const TValueType * GetPointerToMatrixData (const vnl_matrix_fixed< TValueType, VRows, VColumns > &inputMatrix)
 
template<typename TArray >
std::vector< int > sortEigenValuesByMagnitude (TArray &eigenValues, const unsigned int numberOfElements)
 
template<typename QMatrix >
void permuteColumnsWithSortIndices (QMatrix &eigenVectors, const std::vector< int > &indicesSortPermutations)
 

Function Documentation

◆ GetPointerToMatrixData() [1/3]

template<typename TValueType , unsigned int VRows, unsigned int VColumns>
const TValueType* itk::detail::GetPointerToMatrixData ( const itk::Matrix< TValueType, VRows, VColumns > &  inputMatrix)

◆ GetPointerToMatrixData() [2/3]

template<typename TValueType >
const TValueType* itk::detail::GetPointerToMatrixData ( const vnl_matrix< TValueType > &  inputMatrix)

Definition at line 44 of file itkSymmetricEigenAnalysis.h.

◆ GetPointerToMatrixData() [3/3]

template<typename TValueType , unsigned int VRows, unsigned int VColumns>
const TValueType* itk::detail::GetPointerToMatrixData ( const vnl_matrix_fixed< TValueType, VRows, VColumns > &  inputMatrix)

Definition at line 38 of file itkSymmetricEigenAnalysis.h.

◆ permuteColumnsWithSortIndices()

template<typename QMatrix >
void itk::detail::permuteColumnsWithSortIndices ( QMatrix &  eigenVectors,
const std::vector< int > &  indicesSortPermutations 
)

Permute a eigenVectors matrix according to the permutation indices computed from the output of a sort function like

See also
detail::sortEigenValuesByMagnitude
Template Parameters
QMatrixa Eigen3 matrix
Parameters
eigenVectorsstored in columns
indicesSortPermutationscontainer with the permutations from the output of a sort function.

Definition at line 102 of file itkSymmetricEigenAnalysis.h.

Referenced by itk::SymmetricEigenAnalysis< TInputImage::PixelType, TOutputImage::PixelType >::ComputeEigenValuesAndVectorsWithEigenLibraryImpl(), and itk::SymmetricEigenAnalysisFixedDimension< TMatrixDimension, TInput, TOutput >::ComputeEigenValuesAndVectorsWithEigenLibraryImpl().

◆ sortEigenValuesByMagnitude()

template<typename TArray >
std::vector<int> itk::detail::sortEigenValuesByMagnitude ( TArray &  eigenValues,
const unsigned int  numberOfElements 
)

Sort input to be ordered by magnitude, and returns container with the permutations required for the sorting.

For example, if input eigenValues = {10, 0, 40}, the output would be: {2,0,1} and the eigenValues would be modified in-place: {40, 10, 0}.

The permutations indices is used to order the matrix of eigenVectors.

See also
permuteEigenVectorsWithSortPermutations
Template Parameters
TArrayarray type with operator []
Parameters
eigenValuesinput array, requires operator []
numberOfElementssize of array
Returns
the permutations needed to sort the input array

Definition at line 73 of file itkSymmetricEigenAnalysis.h.

References itk::Math::abs().

Referenced by itk::SymmetricEigenAnalysis< TInputImage::PixelType, TOutputImage::PixelType >::ComputeEigenValuesAndVectorsWithEigenLibraryImpl(), itk::SymmetricEigenAnalysisFixedDimension< TMatrixDimension, TInput, TOutput >::ComputeEigenValuesAndVectorsWithEigenLibraryImpl(), itk::SymmetricEigenAnalysis< TInputImage::PixelType, TOutputImage::PixelType >::ComputeEigenValuesWithEigenLibraryImpl(), and itk::SymmetricEigenAnalysisFixedDimension< TMatrixDimension, TInput, TOutput >::ComputeEigenValuesWithEigenLibraryImpl().