ITK  5.0.0
Insight Segmentation and Registration Toolkit
Functions
itk::detail Namespace Reference

Functions

template<typename TValueType , unsigned int NRows, unsigned int NCols>
const TValueType * GetPointerToMatrixData (const vnl_matrix_fixed< TValueType, NRows, NCols > &inputMatrix)
 
template<typename TValueType >
const TValueType * GetPointerToMatrixData (const vnl_matrix< TValueType > &inputMatrix)
 
template<typename TValueType , unsigned int NRows, unsigned int NCols>
const TValueType * GetPointerToMatrixData (const itk::Matrix< TValueType, NRows, NCols > &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

template<typename TValueType , unsigned int NRows, unsigned int NCols>
const TValueType* itk::detail::GetPointerToMatrixData ( const vnl_matrix_fixed< TValueType, NRows, NCols > &  inputMatrix)
template<typename TValueType >
const TValueType* itk::detail::GetPointerToMatrixData ( const vnl_matrix< TValueType > &  inputMatrix)

Definition at line 42 of file itkSymmetricEigenAnalysis.h.

template<typename TValueType , unsigned int NRows, unsigned int NCols>
const TValueType* itk::detail::GetPointerToMatrixData ( const itk::Matrix< TValueType, NRows, NCols > &  inputMatrix)
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 98 of file itkSymmetricEigenAnalysis.h.

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

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 69 of file itkSymmetricEigenAnalysis.h.

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().