DMRITool  v0.1.1-139-g860d86b4
Diffusion MRI Tool
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | List of all members
itk::SHCoefficientsRotation< T > Class Template Reference

#include <itkSHCoefficientsRotation.h>

+ Inheritance diagram for itk::SHCoefficientsRotation< T >:
+ Collaboration diagram for itk::SHCoefficientsRotation< T >:

Detailed Description

template<class T = double>
class itk::SHCoefficientsRotation< T >

rotate SH coefficient vector by a given rotation matrix.

Reference: "Efficient and accurate rotation of finite spherical harmonics expansions", Journal of Computational Physics 231 (2012) 243–250

Author
Jian Cheng (JC), jian..nosp@m.chen.nosp@m.g.198.nosp@m.3@gm.nosp@m.ail.c.nosp@m.om

Definition at line 35 of file itkSHCoefficientsRotation.h.

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef utl_shared_ptr< MatrixTypeMatrixPointer
 
typedef utl::NDArray< double, 2 > MatrixType
 
typedef SmartPointer< SelfPointer
 
typedef T PreciseType
 
typedef SHCoefficientsRotation Self
 
typedef Object Superclass
 
typedef utl::NDArray< double, 1 > VectorType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
VectorType GetRotatedSHCoefficients (const VectorType &shInput, const MatrixType &rotationMatrix) const
 
void Initialize ()
 
 itkSetGetMacro (TessOrder, int)
 
 itkSetGetMacro (MaxRank, int)
 

Static Public Member Functions

static Pointer GetInstance ()
 
static Pointer New ()
 

Protected Member Functions

LightObject::Pointer InternalClone () const ITK_OVERRIDE
 
template<>
SHCoefficientsRotation< double >::Pointer m_Instance
 
void PrintSelf (std::ostream &os, Indent indent) const ITK_OVERRIDE
 
 SHCoefficientsRotation ()
 
virtual ~SHCoefficientsRotation ()
 

Protected Attributes

MatrixPointer m_Grad
 
int m_MaxRank
 
utl_shared_ptr< std::vector< MatrixType > > m_SHMatrixInverse
 
int m_TessOrder
 

Static Protected Attributes

static Pointer m_Instance
 

Private Member Functions

void operator= (const Self &)
 
 SHCoefficientsRotation (const Self &)
 

Member Typedef Documentation

template<class T = double>
typedef SmartPointer<const Self> itk::SHCoefficientsRotation< T >::ConstPointer

Definition at line 43 of file itkSHCoefficientsRotation.h.

template<class T = double>
typedef utl_shared_ptr<MatrixType> itk::SHCoefficientsRotation< T >::MatrixPointer

Definition at line 55 of file itkSHCoefficientsRotation.h.

template<class T = double>
typedef utl::NDArray<double,2> itk::SHCoefficientsRotation< T >::MatrixType

Definition at line 54 of file itkSHCoefficientsRotation.h.

template<class T = double>
typedef SmartPointer<Self> itk::SHCoefficientsRotation< T >::Pointer

Definition at line 42 of file itkSHCoefficientsRotation.h.

template<class T = double>
typedef T itk::SHCoefficientsRotation< T >::PreciseType

Definition at line 49 of file itkSHCoefficientsRotation.h.

template<class T = double>
typedef SHCoefficientsRotation itk::SHCoefficientsRotation< T >::Self

Standard class typedefs.

Definition at line 40 of file itkSHCoefficientsRotation.h.

template<class T = double>
typedef Object itk::SHCoefficientsRotation< T >::Superclass

Definition at line 41 of file itkSHCoefficientsRotation.h.

template<class T = double>
typedef utl::NDArray<double,1> itk::SHCoefficientsRotation< T >::VectorType

Definition at line 53 of file itkSHCoefficientsRotation.h.

Constructor & Destructor Documentation

template<class T = double>
itk::SHCoefficientsRotation< T >::SHCoefficientsRotation ( )
inlineprotected

Definition at line 120 of file itkSHCoefficientsRotation.h.

template<class T = double>
virtual itk::SHCoefficientsRotation< T >::~SHCoefficientsRotation ( )
inlineprotectedvirtual

Definition at line 127 of file itkSHCoefficientsRotation.h.

template<class T = double>
itk::SHCoefficientsRotation< T >::SHCoefficientsRotation ( const Self )
private

Member Function Documentation

template<class T = double>
virtual::itk::LightObject::Pointer itk::SHCoefficientsRotation< T >::CreateAnother ( void  ) const
template<class T = double>
static Pointer itk::SHCoefficientsRotation< T >::GetInstance ( )
inlinestatic

Definition at line 111 of file itkSHCoefficientsRotation.h.

template<class T = double>
virtual const char* itk::SHCoefficientsRotation< T >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods)

template<class T = double>
VectorType itk::SHCoefficientsRotation< T >::GetRotatedSHCoefficients ( const VectorType shInput,
const MatrixType rotationMatrix 
) const
inline

GetRotatedSHCoefficient rotate SH coefficient vector by a given rotation matrix.

Parameters
shInputinput SH coefficients
rotationMatrixrotation matrix
Author
Jian Cheng

Reference: "Efficient and accurate rotation of finite spherical harmonics expansions", Journal of Computational Physics 231 (2012) 243–250

use itk::SHCoefficientsRotation for multi-thread programming

Definition at line 90 of file itkSHCoefficientsRotation.h.

References CARTESIAN_TO_SPHERICAL, utl::ComputeSHMatrix(), utl::DimToRankSH(), utl::GetRange(), utl::RankToDimSH(), utl::NDArrayBase< T, Dim >::Size(), and utlSAException.

+ Here is the call graph for this function:

template<class T = double>
void itk::SHCoefficientsRotation< T >::Initialize ( )
inline
template<class T = double>
LightObject::Pointer itk::SHCoefficientsRotation< T >::InternalClone ( ) const
inlineprotected

Definition at line 141 of file itkSHCoefficientsRotation.h.

template<class T = double>
itk::SHCoefficientsRotation< T >::itkSetGetMacro ( TessOrder  ,
int   
)
template<class T = double>
itk::SHCoefficientsRotation< T >::itkSetGetMacro ( MaxRank  ,
int   
)
template<>
SHCoefficientsRotation< double >::Pointer itk::SHCoefficientsRotation< double >::m_Instance ( )
protected

Definition at line 173 of file itkSHCoefficientsRotation.h.

template<class T = double>
static Pointer itk::SHCoefficientsRotation< T >::New ( )
static

Method for creation through the object factory.

Referenced by itk::Functor::RotateSHCoefficients< TInput, TOutput >::RotateSHCoefficients().

+ Here is the caller graph for this function:

template<class T = double>
void itk::SHCoefficientsRotation< T >::operator= ( const Self )
private
template<class T = double>
void itk::SHCoefficientsRotation< T >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
inlineprotected

Definition at line 129 of file itkSHCoefficientsRotation.h.

References utl::PrintUtlMatrix(), PrintVar, and PrintVar2.

+ Here is the call graph for this function:

Member Data Documentation

template<class T = double>
MatrixPointer itk::SHCoefficientsRotation< T >::m_Grad
protected

Definition at line 158 of file itkSHCoefficientsRotation.h.

template<class T = double>
Pointer itk::SHCoefficientsRotation< T >::m_Instance
staticprotected

Definition at line 156 of file itkSHCoefficientsRotation.h.

template<class T = double>
int itk::SHCoefficientsRotation< T >::m_MaxRank
protected

maximal rank

Definition at line 162 of file itkSHCoefficientsRotation.h.

template<class T = double>
utl_shared_ptr<std::vector<MatrixType> > itk::SHCoefficientsRotation< T >::m_SHMatrixInverse
protected

Definition at line 159 of file itkSHCoefficientsRotation.h.

template<class T = double>
int itk::SHCoefficientsRotation< T >::m_TessOrder
protected

tessellation order

Definition at line 164 of file itkSHCoefficientsRotation.h.


The documentation for this class was generated from the following file: