ANIMA  4.0
Classes | Namespaces | Functions
animaBaseTensorTools.h File Reference
#include <itkMatrix.h>
#include <vnl/vnl_matrix.h>
#include <vnl/vnl_diag_matrix.h>
#include <itkVariableLengthVector.h>
#include <itkMatrixOffsetTransformBase.h>
#include <itkSymmetricEigenAnalysis.h>
#include "animaBaseTensorTools.hxx"
+ Include dependency graph for animaBaseTensorTools.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  anima::LogEuclideanTensorCalculator< TScalarType >
 

Namespaces

 anima
 

Functions

template<typename RealType , typename MatrixType >
void anima::ExtractPPDRotationFromJacobianMatrix (vnl_matrix< RealType > &jacobianMatrix, vnl_matrix< RealType > &rotationMatrix, MatrixType &eigenVectors)
 
template<typename RealType >
void anima::ExtractRotationFromJacobianMatrix (vnl_matrix< RealType > &jacobianMatrix, vnl_matrix< RealType > &rotationMatrix, vnl_matrix< RealType > &tmpMat)
 
template<class T1 , class T2 >
void anima::GetTensorFromVectorRepresentation (const itk::VariableLengthVector< T1 > &vector, vnl_matrix< T2 > &tensor, unsigned int tensDim=0, bool scale=false)
 
template<class T1 , class T2 >
void anima::GetVectorRepresentation (const vnl_matrix< T1 > &tensor, itk::VariableLengthVector< T2 > &vector, unsigned int vecDim=0, bool scale=false)
 
template<class T1 >
double anima::ovlScore (vnl_diag_matrix< T1 > &eigsX, vnl_matrix< T1 > &eigVecsX, vnl_diag_matrix< T1 > &eigsY, vnl_matrix< T1 > &eigVecsY)
 
template<class T >
void anima::ProjectOnTensorSpace (const vnl_matrix< T > &matrix, vnl_matrix< T > &tensor)
 
template<class T1 , class T2 >
void anima::RecomposeTensor (vnl_diag_matrix< T1 > &eigs, vnl_matrix< T1 > &eigVecs, vnl_matrix< T2 > &resMatrix)
 Recompose tensor from values extracted using SymmetricEigenAnalysis (vnl_symmetric_eigensystem transposes all this) More...
 
template<class T1 , class T2 , class T3 >
void anima::RotateSymmetricMatrix (T1 &tensor, T2 &rotationMatrix, T3 &rotated_tensor, unsigned int tensorDim)
 Rotates a symmetric matrix by performing R^T D R where R is a rotation matrix and D the symmetric matrix. More...
 
template<class T1 , class T2 >
void anima::RotateSymmetricMatrix (vnl_matrix< T1 > &tensor, vnl_matrix< T2 > &rotationMatrix, vnl_matrix< T2 > &rotated_tensor)
 
template<class T1 , class T2 , unsigned int NDim>
void anima::RotateSymmetricMatrix (itk::Matrix< T1, NDim, NDim > &tensor, itk::Matrix< T2, NDim, NDim > &rotationMatrix, itk::Matrix< T2, NDim, NDim > &rotated_tensor)