ANIMA  4.0
animaMatrixOperations.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <itkMatrix.h>
4 
5 namespace anima
6 {
7 
8 template <class VectorType> itk::Matrix <double,3,3> GetRotationMatrixFromVectors(const VectorType &first_direction, const VectorType &second_direction, const unsigned int dimension);
9 template <class ScalarType> itk::Matrix <double,3,3> GetRotationMatrixFromVectors(const itk::Point<ScalarType> &first_direction, const itk::Point<ScalarType> &second_direction);
10 template <class ScalarType, unsigned int NDimension> itk::Matrix <double,3,3> GetRotationMatrixFromVectors(const itk::Vector<ScalarType,NDimension> &first_direction, const itk::Vector<ScalarType,NDimension> &second_direction);
11 template <class ScalarType, unsigned int NDimension> itk::Matrix <double,3,3> GetRotationMatrixFromVectors(const vnl_vector_fixed<ScalarType,NDimension> &first_direction, const vnl_vector_fixed<ScalarType,NDimension> &second_direction);
12 
15 template <class ScalarType, class VectorType> void LowerTriangularSolver(vnl_matrix <ScalarType> &matrix, VectorType &rhs, VectorType &result, unsigned int rank = 0);
16 
19 template <class ScalarType, class VectorType> void UpperTriangularSolver(const vnl_matrix <ScalarType> &matrix, const VectorType &rhs, VectorType &result, unsigned int rank = 0);
20 
21 } // end of namespace anima
22 
void LowerTriangularSolver(vnl_matrix< ScalarType > &matrix, VectorType &rhs, VectorType &result, unsigned int rank=0)
itk::Matrix< double, 3, 3 > GetRotationMatrixFromVectors(const VectorType &first_direction, const VectorType &second_direction, const unsigned int dimension)
void UpperTriangularSolver(const vnl_matrix< ScalarType > &matrix, const VectorType &rhs, VectorType &result, unsigned int rank=0)