NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
itk::EulerAffineTransformMatrixAndItsVariations< TScalarType > Class Template Reference

Class to apply the affine transformation matrix to a 3D image. More...

Inheritance diagram for itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >:
Inheritance graph
[legend]
Collaboration diagram for itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >:
Collaboration graph
[legend]

Public Types

typedef
EulerAffineTransformMatrixAndItsVariations 
Self
 
typedef Object Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef itk::Size< 3 > VolumeSizeType
 
typedef
itk::EulerAffineTransform
< double, 3, 3 > 
EulerAffineTransformType
 
typedef
EulerAffineTransformType::Pointer 
EulerAffineTransformPointerType
 
typedef
EulerAffineTransformType::ParametersType 
EulerAffineTransformParametersType
 
typedef vnl_sparse_matrix
< TScalarType > 
SparseMatrixType
 
typedef vnl_matrix< TScalarType > FullMatrixType
 
typedef vnl_vector< TScalarType > VectorType
 
typedef
EulerAffineTransformMatrixAndItsVariations 
Self
 
typedef Object Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef itk::Size< 3 > VolumeSizeType
 
typedef
itk::EulerAffineTransform
< double, 3, 3 > 
EulerAffineTransformType
 
typedef
EulerAffineTransformType::Pointer 
EulerAffineTransformPointerType
 
typedef
EulerAffineTransformType::ParametersType 
EulerAffineTransformParametersType
 
typedef vnl_sparse_matrix
< TScalarType > 
SparseMatrixType
 
typedef vnl_matrix< TScalarType > FullMatrixType
 
typedef vnl_vector< TScalarType > VectorType
 

Public Member Functions

virtual const char * GetClassName () const
 
virtual void SetAffineTransform (EulerAffineTransformType *_arg)
 
virtual EulerAffineTransformTypeGetAffineTransform ()
 
void SetVolumeSize (const VolumeSizeType &r)
 Set the volume size. More...
 
void GetAffineTransformationSparseMatrix (SparseMatrixType &R, VolumeSizeType &inSize, EulerAffineTransformParametersType &parameters)
 Calculate and return the affine transformation matrix. More...
 
void GetAffineTransformationSparseMatrixT (SparseMatrixType &R, SparseMatrixType &RTrans, VolumeSizeType &inSize)
 Calculate and return the transpose of the affine transformation matrix. More...
 
void CalculteMatrixVectorMultiplication (SparseMatrixType &R, VectorType const &inputImageVector, VectorType &outputImageVector)
 Calculate and return the multiplication of the affine transformation matrix and image vector. More...
 
void SetFDMDifference (const double &diffVal)
 Set the Finite Difference Method (FDM) difference value. More...
 
void CalculteMatrixVectorGradient (VolumeSizeType &inSize, VectorType const &inputImageVector, VectorType &outputGradVector, EulerAffineTransformParametersType &parameters, unsigned int paraNum)
 Calculate and return the gradient vector of the affine transformation matrix per each parameter (using FDM) More...
 
void CalculteMatrixVectorGradient (FullMatrixType &jacobianMatrix, VolumeSizeType &inSize, EulerAffineTransformParametersType &parameters)
 Calculate and return the gradient vector of the affine transformation matrix per each parameter (overloaded using Jacobian) More...
 
virtual const char * GetClassName () const
 
virtual void SetAffineTransform (EulerAffineTransformType *_arg)
 
virtual EulerAffineTransformTypeGetAffineTransform ()
 
void SetVolumeSize (const VolumeSizeType &r)
 Set the volume size. More...
 
void GetAffineTransformationSparseMatrix (SparseMatrixType &R, VolumeSizeType &inSize, EulerAffineTransformParametersType &parameters)
 Calculate and return the affine transformation matrix. More...
 
void GetAffineTransformationSparseMatrixT (SparseMatrixType &R, SparseMatrixType &RTrans, VolumeSizeType &inSize)
 Calculate and return the transpose of the affine transformation matrix. More...
 
void CalculteMatrixVectorMultiplication (SparseMatrixType &R, VectorType const &inputImageVector, VectorType &outputImageVector)
 Calculate and return the multiplication of the affine transformation matrix and image vector. More...
 
void CalculteMatrixVectorGradient (VolumeSizeType &inSize, VectorType const &inputImageVector, VectorType &outputGradVector, EulerAffineTransformParametersType &parameters, unsigned int paraNum)
 Calculate and return the gradient vector of the affine transformation matrix per each parameter (using FDM) More...
 
void CalculteMatrixVectorGradient (FullMatrixType &jacobianMatrix, VolumeSizeType &inSize, EulerAffineTransformParametersType &parameters)
 Calculate and return the gradient vector of the affine transformation matrix per each parameter (overloaded using Jacobian) More...
 

Static Public Member Functions

static Pointer New ()
 
static Pointer New ()
 

Protected Member Functions

 EulerAffineTransformMatrixAndItsVariations ()
 
virtual ~EulerAffineTransformMatrixAndItsVariations (void)
 
void PrintSelf (std::ostream &os, Indent indent) const
 
 EulerAffineTransformMatrixAndItsVariations ()
 
virtual ~EulerAffineTransformMatrixAndItsVariations (void)
 
void PrintSelf (std::ostream &os, Indent indent) const
 

Protected Attributes

VolumeSizeType m_VolumeSize
 A pointer to the 3D volume size. More...
 
unsigned long int m_input3DImageTotalSize
 
double m_FDMDiffValue
 FDM difference value. More...
 
bool m_FlagInitialised
 Flag indicating whether the object has been initialised. More...
 
FullMatrixType m_affineCoreMatrix
 
VectorType m_inputCoordinateVector
 
VectorType m_outputCoordinateVector
 
EulerAffineTransformType::Pointer m_AffineTransform
 
EulerAffineTransformType::JacobianType m_JacobianArray
 
FullMatrixType m_affineCoreMatrixInverse
 

Detailed Description

template<class TScalarType = double>
class itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >

Class to apply the affine transformation matrix to a 3D image.

Member Typedef Documentation

template<class TScalarType = double>
typedef SmartPointer<const Self> itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::ConstPointer
template<class TScalarType = double>
typedef SmartPointer<const Self> itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::ConstPointer
template<class TScalarType = double>
typedef itk::EulerAffineTransform<double, 3, 3> itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::EulerAffineTransformType
template<class TScalarType = double>
typedef itk::EulerAffineTransform<double, 3, 3> itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::EulerAffineTransformType
template<class TScalarType = double>
typedef vnl_matrix<TScalarType> itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::FullMatrixType
template<class TScalarType = double>
typedef vnl_matrix<TScalarType> itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::FullMatrixType
template<class TScalarType = double>
typedef SmartPointer<Self> itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::Pointer
template<class TScalarType = double>
typedef SmartPointer<Self> itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::Pointer
template<class TScalarType = double>
typedef EulerAffineTransformMatrixAndItsVariations itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::Self

Standard class typedefs.

template<class TScalarType = double>
typedef EulerAffineTransformMatrixAndItsVariations itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::Self

Standard class typedefs.

template<class TScalarType = double>
typedef vnl_sparse_matrix<TScalarType> itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::SparseMatrixType

Create a sparse matrix to store the affine transformation matrix coefficients

template<class TScalarType = double>
typedef vnl_sparse_matrix<TScalarType> itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::SparseMatrixType

Create a sparse matrix to store the affine transformation matrix coefficients

template<class TScalarType = double>
typedef Object itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::Superclass
template<class TScalarType = double>
typedef Object itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::Superclass
template<class TScalarType = double>
typedef vnl_vector<TScalarType> itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::VectorType
template<class TScalarType = double>
typedef vnl_vector<TScalarType> itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::VectorType
template<class TScalarType = double>
typedef itk::Size<3> itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::VolumeSizeType

Some convenient typedefs.

template<class TScalarType = double>
typedef itk::Size<3> itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::VolumeSizeType

Some convenient typedefs.

Constructor & Destructor Documentation

template<class TScalarType = double>
itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::EulerAffineTransformMatrixAndItsVariations ( )
protected
template<class TScalarType = double>
virtual itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::~EulerAffineTransformMatrixAndItsVariations ( void  )
inlineprotectedvirtual
template<class TScalarType = double>
itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::EulerAffineTransformMatrixAndItsVariations ( )
protected
template<class TScalarType = double>
virtual itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::~EulerAffineTransformMatrixAndItsVariations ( void  )
inlineprotectedvirtual

Member Function Documentation

template<class TScalarType = double>
void itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::CalculteMatrixVectorGradient ( VolumeSizeType inSize,
VectorType const &  inputImageVector,
VectorType outputGradVector,
EulerAffineTransformParametersType parameters,
unsigned int  paraNum 
)

Calculate and return the gradient vector of the affine transformation matrix per each parameter (using FDM)

template<class TScalarType = double>
void itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::CalculteMatrixVectorGradient ( FullMatrixType jacobianMatrix,
VolumeSizeType inSize,
EulerAffineTransformParametersType parameters 
)

Calculate and return the gradient vector of the affine transformation matrix per each parameter (overloaded using Jacobian)

template<class TScalarType = double>
void itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::CalculteMatrixVectorGradient ( VolumeSizeType inSize,
VectorType const &  inputImageVector,
VectorType outputGradVector,
EulerAffineTransformParametersType parameters,
unsigned int  paraNum 
)

Calculate and return the gradient vector of the affine transformation matrix per each parameter (using FDM)

template<class TScalarType = double>
void itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::CalculteMatrixVectorGradient ( FullMatrixType jacobianMatrix,
VolumeSizeType inSize,
EulerAffineTransformParametersType parameters 
)

Calculate and return the gradient vector of the affine transformation matrix per each parameter (overloaded using Jacobian)

template<class TScalarType = double>
void itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::CalculteMatrixVectorMultiplication ( SparseMatrixType R,
VectorType const &  inputImageVector,
VectorType outputImageVector 
)

Calculate and return the multiplication of the affine transformation matrix and image vector.

template<class TScalarType = double>
void itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::CalculteMatrixVectorMultiplication ( SparseMatrixType R,
VectorType const &  inputImageVector,
VectorType outputImageVector 
)

Calculate and return the multiplication of the affine transformation matrix and image vector.

template<class TScalarType = double>
virtual EulerAffineTransformType* itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::GetAffineTransform ( )
virtual

Get the affine transformation

template<class TScalarType = double>
virtual EulerAffineTransformType* itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::GetAffineTransform ( )
virtual

Get the affine transformation

template<class TScalarType = double>
void itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::GetAffineTransformationSparseMatrix ( SparseMatrixType R,
VolumeSizeType inSize,
EulerAffineTransformParametersType parameters 
)

Calculate and return the affine transformation matrix.

template<class TScalarType = double>
void itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::GetAffineTransformationSparseMatrix ( SparseMatrixType R,
VolumeSizeType inSize,
EulerAffineTransformParametersType parameters 
)

Calculate and return the affine transformation matrix.

template<class TScalarType = double>
void itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::GetAffineTransformationSparseMatrixT ( SparseMatrixType R,
SparseMatrixType RTrans,
VolumeSizeType inSize 
)

Calculate and return the transpose of the affine transformation matrix.

template<class TScalarType = double>
void itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::GetAffineTransformationSparseMatrixT ( SparseMatrixType R,
SparseMatrixType RTrans,
VolumeSizeType inSize 
)

Calculate and return the transpose of the affine transformation matrix.

template<class TScalarType = double>
virtual const char* itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

template<class TScalarType = double>
virtual const char* itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

template<class TScalarType = double>
static Pointer itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::New ( )
static

Method for creation through the object factory.

template<class TScalarType = double>
static Pointer itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::New ( )
static

Method for creation through the object factory.

template<class TScalarType = double>
void itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected
template<class TScalarType = double>
void itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected
template<class TScalarType = double>
virtual void itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::SetAffineTransform ( EulerAffineTransformType _arg)
virtual

Set the affine transformation

template<class TScalarType = double>
virtual void itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::SetAffineTransform ( EulerAffineTransformType _arg)
virtual

Set the affine transformation

template<class TScalarType = double>
void itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::SetFDMDifference ( const double &  diffVal)
inline

Set the Finite Difference Method (FDM) difference value.

template<class TScalarType = double>
void itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::SetVolumeSize ( const VolumeSizeType r)
inline

Set the volume size.

template<class TScalarType = double>
void itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::SetVolumeSize ( const VolumeSizeType r)
inline

Set the volume size.

Member Data Documentation

template<class TScalarType = double>
FullMatrixType itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::m_affineCoreMatrix
protected

The affin transform core matrix and its inverse matrix

template<class TScalarType = double>
FullMatrixType itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::m_affineCoreMatrixInverse
protected
template<class TScalarType = double>
EulerAffineTransformType::Pointer itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::m_AffineTransform
protected

The affine transform

template<class TScalarType = double>
double itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::m_FDMDiffValue
protected

FDM difference value.

template<class TScalarType = double>
bool itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::m_FlagInitialised
protected

Flag indicating whether the object has been initialised.

template<class TScalarType = double>
unsigned long int itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::m_input3DImageTotalSize
protected
template<class TScalarType = double>
VectorType itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::m_inputCoordinateVector
protected

The input and output coordinate vectors

template<class TScalarType = double>
EulerAffineTransformType::JacobianType itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::m_JacobianArray
protected
template<class TScalarType = double>
VectorType itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::m_outputCoordinateVector
protected
template<class TScalarType = double>
VolumeSizeType itk::EulerAffineTransformMatrixAndItsVariations< TScalarType >::m_VolumeSize
protected

A pointer to the 3D volume size.


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