MeVisLabToolboxReference
IDTICalculator Class Reference

class IDTICalculator More...

#include <IDTICalculator.h>

Inheritance diagram for IDTICalculator:
DTICalculator< DIM >

List of all members.

Public Types

enum  ErrorCodes { noErr = MLMISCMATH_NAMESPACE::noErr, matrixInvertErr = MLMISCMATH_NAMESPACE::matrixInvertErr, matrixDiagErr = MLMISCMATH_NAMESPACE::matrixDiagErr, negEVErr = MLMISCMATH_NAMESPACE::negEVErr }
 Error codes. More...
typedef
MLMISCMATH_NAMESPACE::Math_Error_Type 
Error_Type

Public Member Functions

virtual ~IDTICalculator ()
virtual MLuint32 getDimension () const =0
virtual Error_Type setGradients (const double **aGradients, const MLuint32 lNrOfGradients)=0
 Initialization with gradients aGradients is an array containing all components of the gradients aGradient[i][j]: gradient i, component j i < lNrOfGradients, j < DIM.
virtual double getTensorError (const double *pLNNorm, const MLuint32 lNrOfGradients)=0
virtual MLuint32 getNrOfGradients () const =0
virtual const double * calcDiffusionTensor (const double *pLNNorm)=0
 Calculates the diffusion tensor for logarithm of the diffusion weighted normalized voxel in pLNNorm.
virtual Error_Type eigenAnaly ()=0
 Eigenanalysis of the symmentric diffusion tensor.
virtual Error_Type eigenAnaly (double regularizationParam)=0
 Eigenanalysis of the symmentric diffusion tensor with indication of negative eigenvalues.
virtual const double * getEigenvalues () const =0
 Returns the eigenvalues in descending order.
virtual const double * getEigenvectors () const =0
 Returns the eigenvectors corresponding to the eigenvalues.
virtual void DeleteDTICalculator ()=0
 Destroys this instance of the DTICalculator.

Static Public Member Functions

template<typename DATATYPE >
static void calcLNNorm (double *pLNNorm, const DATATYPE *const *pInPtr, const MLuint32 lNrDWImages, const double *bValueArray=NULL, const int bValue=1000)
 Calculates the logarithm of the diffusion weighted normalized voxels.
static double normalizeDiffusionStrength (double dDiffStrength, double dDiffusionNorm, double dDiffThreshold)
 Normalizes the diffusion strength to the diffusion norm dDiffusionNorm.

Detailed Description

class IDTICalculator

Definition at line 38 of file IDTICalculator.h.


Member Typedef Documentation

typedef MLMISCMATH_NAMESPACE::Math_Error_Type IDTICalculator::Error_Type

Definition at line 43 of file IDTICalculator.h.


Member Enumeration Documentation

Error codes.

Enumerator:
noErr 
matrixInvertErr 
matrixDiagErr 
negEVErr 

Definition at line 48 of file IDTICalculator.h.


Constructor & Destructor Documentation

virtual IDTICalculator::~IDTICalculator ( ) [inline, virtual]

Definition at line 43 of file IDTICalculator.h.


Member Function Documentation

virtual const double* IDTICalculator::calcDiffusionTensor ( const double *  pLNNorm) [pure virtual]

Calculates the diffusion tensor for logarithm of the diffusion weighted normalized voxel in pLNNorm.

Implemented in DTICalculator< DIM >.

template<typename DATATYPE >
static void IDTICalculator::calcLNNorm ( double *  pLNNorm,
const DATATYPE *const *  pInPtr,
const MLuint32  lNrDWImages,
const double *  bValueArray = NULL,
const int  bValue = 1000 
) [inline, static]

Calculates the logarithm of the diffusion weighted normalized voxels.

input : pInPtr : Pointer to voxel data (dimension hast to be lNrDWImages). output: pLNNorm : Pointer to the logarithm of the diffusion weighted normalized voxels (dimension has to be lNrDWImages-1).

Definition at line 75 of file IDTICalculator.h.

References DIFFUSION_CONST.

virtual void IDTICalculator::DeleteDTICalculator ( ) [pure virtual]

Destroys this instance of the DTICalculator.

Implemented in DTICalculator< DIM >.

virtual Error_Type IDTICalculator::eigenAnaly ( double  regularizationParam) [pure virtual]

Eigenanalysis of the symmentric diffusion tensor with indication of negative eigenvalues.

Implemented in DTICalculator< DIM >.

virtual Error_Type IDTICalculator::eigenAnaly ( ) [pure virtual]

Eigenanalysis of the symmentric diffusion tensor.

Implemented in DTICalculator< DIM >.

virtual MLuint32 IDTICalculator::getDimension ( ) const [pure virtual]

Implemented in DTICalculator< DIM >.

virtual const double* IDTICalculator::getEigenvalues ( ) const [pure virtual]

Returns the eigenvalues in descending order.

Implemented in DTICalculator< DIM >.

virtual const double* IDTICalculator::getEigenvectors ( ) const [pure virtual]

Returns the eigenvectors corresponding to the eigenvalues.

The i-th eigenvector is located at returnPointer+i*DTI_DIM+j (j=0, ... , sDim-1)

Implemented in DTICalculator< DIM >.

virtual MLuint32 IDTICalculator::getNrOfGradients ( ) const [pure virtual]

Implemented in DTICalculator< DIM >.

virtual double IDTICalculator::getTensorError ( const double *  pLNNorm,
const MLuint32  lNrOfGradients 
) [pure virtual]

Implemented in DTICalculator< DIM >.

static double IDTICalculator::normalizeDiffusionStrength ( double  dDiffStrength,
double  dDiffusionNorm,
double  dDiffThreshold 
) [inline, static]

Normalizes the diffusion strength to the diffusion norm dDiffusionNorm.

The normalized diffusion strength is gated by dDiffThreshold.

Definition at line 128 of file IDTICalculator.h.

virtual Error_Type IDTICalculator::setGradients ( const double **  aGradients,
const MLuint32  lNrOfGradients 
) [pure virtual]

Initialization with gradients aGradients is an array containing all components of the gradients aGradient[i][j]: gradient i, component j i < lNrOfGradients, j < DIM.

Implemented in DTICalculator< DIM >.


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