Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::DiffusionTensor3D< TComponent > Class Template Reference
[Image Representation Objects]

#include <itkDiffusionTensor3D.h>

Inheritance diagram for itk::DiffusionTensor3D< TComponent >:

Inheritance graph
[legend]
Collaboration diagram for itk::DiffusionTensor3D< TComponent >:

Collaboration graph
[legend]
List of all members.

Detailed Description

template<typename TComponent>
class itk::DiffusionTensor3D< TComponent >

Represent a diffusion tensor as used in DTI images.

This class implements a 3D symmetric tensor as it is used for representing diffusion of water molecules in Diffusion Tensor Images.

This class derive from the SymmetricSecondRankTensor and from it inherit most of the Tensor related behavior. At this level we add the methods that are specific to 3D and that are closely related to the concept of diffusion.

Author:
Jeffrey Duda from School of Engineering at University of Pennsylvania

Torsten Rohlfing from SRI International Neuroscience Program.

This class was mostly based on files that Jeffrey Duda, Torsten Rohlfing and Martin Styner contributed to the ITK users list during a discussion on support for DiffusionTensorImages. A discussion on the design of this class can be found in the WIKI pages of NAMIC:

http://www.na-mic.org/Wiki/index.php/NAMIC_Wiki:DTI:ITK-DiffusionTensorPixelType

Note:
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149. Information on the National Centers for Biomedical Computing can be obtained from http://nihroadmap.nih.gov/bioinformatics.

Contributions by Torsten Rohlfing were funded by the following NIH grants

Alcohol, HIV and the Brain, NIAAA AA12999, PI: A. Pfefferbaum

Normal Aging of Brain Structure and Function NIA AG 17919, PI: E.V. Sullivan.

References
E. R. Melhem, S. Mori, G. Mukundan, M. A. Kraut, M. G. Pomper, and P. C. M. van Zijl, "Diffusion tensor MR imaging of the brain and white matter tractography," Am. J. Roentgenol., vol. 178, pp. 3-16, 2002.
See also:
SymmetricSecondRankTensor
TensorObjects Geometry

Definition at line 79 of file itkDiffusionTensor3D.h.

Public Types

typedef Superclass::AccumulateValueType AccumulateValueType
typedef FixedArray< TComponent,
itkGetStaticConstMacro(InternalDimension) 
BaseArray )
typedef Superclass::ComponentArrayType ComponentArrayType
typedef Superclass::ComponentType ComponentType
typedef Superclass::EigenValuesArrayType EigenValuesArrayType
typedef Superclass::EigenVectorsMatrixType EigenVectorsMatrixType
typedef Matrix< TComponent,
NDimension, NDimension > 
MatrixType
typedef Superclass::RealValueType RealValueType
typedef DiffusionTensor3D Self
typedef SymmetricSecondRankTensor<
TComponent, 3 > 
Superclass
typedef SymmetricEigenAnalysis<
MatrixType, EigenValuesArrayType,
EigenVectorsMatrixType
SymmetricEigenAnalysisType
typedef Superclass::ValueType ValueType

Public Member Functions

void ComputeEigenAnalysis (EigenValuesArrayType &eigenValues, EigenVectorsMatrixType &eigenVectors) const
void ComputeEigenValues (EigenValuesArrayType &eigenValues) const
 DiffusionTensor3D (const ComponentArrayType r)
 DiffusionTensor3D (const ComponentType &r)
 DiffusionTensor3D (const Superclass &r)
Constructor with initialization * DiffusionTensor3D (const Self &r)
 DiffusionTensor3D ()
RealValueType GetFractionalAnisotropy () const
RealValueType GetInnerScalarProduct () const
ComponentType GetNthComponent (int c) const
RealValueType GetRelativeAnisotropy () const
AccumulateValueType GetTrace () const
 itkStaticConstMacro (InternalDimension, unsigned int, NDimension *(NDimension+1)/2)
Dimension of the vector space * itkStaticConstMacro (Dimension, unsigned int, NDimension)
Arithmetic operations between
tensors and scalars *Self 
operator * (const RealValueType &scalar) const
const Selfoperator *= (const RealValueType &scalar)
Pass through assignment operator for the Array base class.*/Self &operator= (const Self &r)
const ValueTypeoperator() (unsigned int row, unsigned int col) const
Matrix in const and non const
forms *ValueType
operator() (unsigned int row, unsigned int col)
Aritmetic operations between
pixels Return a new SymmetricSecondRankTensor
*Self 
operator+ (const Self &vec) const
const Selfoperator+= (const Self &vec)
Self operator- (const Self &vec) const
const Selfoperator-= (const Self &vec)
Self operator/ (const RealValueType &scalar) const
const Selfoperator/= (const RealValueType &scalar)
Selfoperator= (const ComponentArrayType r)
Selfoperator= (const ComponentType &r)
Selfoperator= (const Superclass &r)
void SetIdentity ()
void SetNthComponent (int c, const ComponentType &v)
 SymmetricSecondRankTensor (const ComponentArrayType r)
Pass through constructor for
the Array base class
SymmetricSecondRankTensor (const Self &r)
 SymmetricSecondRankTensor (const ComponentType &r)
 SymmetricSecondRankTensor ()

Static Public Member Functions

static unsigned int GetNumberOfComponents ()

Public Attributes

Matrix notation


Member Typedef Documentation

template<typename TComponent>
typedef Superclass::AccumulateValueType itk::DiffusionTensor3D< TComponent >::AccumulateValueType
 

Reimplemented from itk::SymmetricSecondRankTensor< TComponent, 3 >.

Definition at line 94 of file itkDiffusionTensor3D.h.

typedef FixedArray<TComponent , itkGetStaticConstMacro(InternalDimension) itk::SymmetricSecondRankTensor< TComponent , NDimension >::BaseArray) [inherited]
 

Convenience typedefs.

Definition at line 89 of file itkSymmetricSecondRankTensor.h.

template<typename TComponent>
typedef Superclass::ComponentArrayType itk::DiffusionTensor3D< TComponent >::ComponentArrayType
 

Reimplemented from itk::SymmetricSecondRankTensor< TComponent, 3 >.

Definition at line 92 of file itkDiffusionTensor3D.h.

template<typename TComponent>
typedef Superclass::ComponentType itk::DiffusionTensor3D< TComponent >::ComponentType
 

Define the component type.

Reimplemented from itk::SymmetricSecondRankTensor< TComponent, 3 >.

Definition at line 88 of file itkDiffusionTensor3D.h.

template<typename TComponent>
typedef Superclass::EigenValuesArrayType itk::DiffusionTensor3D< TComponent >::EigenValuesArrayType
 

Array of eigen-values.

Reimplemented from itk::SymmetricSecondRankTensor< TComponent, 3 >.

Definition at line 97 of file itkDiffusionTensor3D.h.

template<typename TComponent>
typedef Superclass::EigenVectorsMatrixType itk::DiffusionTensor3D< TComponent >::EigenVectorsMatrixType
 

Reimplemented from itk::SymmetricSecondRankTensor< TComponent, 3 >.

Definition at line 98 of file itkDiffusionTensor3D.h.

typedef Matrix<TComponent , NDimension, NDimension> itk::SymmetricSecondRankTensor< TComponent , NDimension >::MatrixType [inherited]
 

Matrix of eigen-vectors.

Definition at line 95 of file itkSymmetricSecondRankTensor.h.

template<typename TComponent>
typedef Superclass::RealValueType itk::DiffusionTensor3D< TComponent >::RealValueType
 

Reimplemented from itk::SymmetricSecondRankTensor< TComponent, 3 >.

Definition at line 95 of file itkDiffusionTensor3D.h.

template<typename TComponent>
typedef DiffusionTensor3D itk::DiffusionTensor3D< TComponent >::Self
 

Standard class typedefs.

Reimplemented from itk::SymmetricSecondRankTensor< TComponent, 3 >.

Definition at line 83 of file itkDiffusionTensor3D.h.

template<typename TComponent>
typedef SymmetricSecondRankTensor<TComponent, 3> itk::DiffusionTensor3D< TComponent >::Superclass
 

Reimplemented from itk::SymmetricSecondRankTensor< TComponent, 3 >.

Definition at line 84 of file itkDiffusionTensor3D.h.

typedef SymmetricEigenAnalysis< MatrixType, EigenValuesArrayType, EigenVectorsMatrixType > itk::SymmetricSecondRankTensor< TComponent , NDimension >::SymmetricEigenAnalysisType [inherited]
 

Definition at line 105 of file itkSymmetricSecondRankTensor.h.

template<typename TComponent>
typedef Superclass::ValueType itk::DiffusionTensor3D< TComponent >::ValueType
 

Propagating some typedef from the superclass

Reimplemented from itk::SymmetricSecondRankTensor< TComponent, 3 >.

Definition at line 87 of file itkDiffusionTensor3D.h.


Constructor & Destructor Documentation

template<typename TComponent>
itk::DiffusionTensor3D< TComponent >::DiffusionTensor3D  ) 
 

Default Constructor.

template<typename TComponent>
Constructor with initialization* itk::DiffusionTensor3D< TComponent >::DiffusionTensor3D const Self r  ) 
 

template<typename TComponent>
itk::DiffusionTensor3D< TComponent >::DiffusionTensor3D const Superclass r  ) 
 

template<typename TComponent>
itk::DiffusionTensor3D< TComponent >::DiffusionTensor3D const ComponentType r  ) 
 

template<typename TComponent>
itk::DiffusionTensor3D< TComponent >::DiffusionTensor3D const ComponentArrayType  r  ) 
 


Member Function Documentation

void itk::SymmetricSecondRankTensor< TComponent , NDimension >::ComputeEigenAnalysis EigenValuesArrayType eigenValues,
EigenVectorsMatrixType eigenVectors
const [inherited]
 

Return an array containing EigenValues, and a matrix containing Eigen vectors.

void itk::SymmetricSecondRankTensor< TComponent , NDimension >::ComputeEigenValues EigenValuesArrayType eigenValues  )  const [inherited]
 

Return an array containing EigenValues.

template<typename TComponent>
RealValueType itk::DiffusionTensor3D< TComponent >::GetFractionalAnisotropy  )  const
 

Get the value of Fractional Anisotropy from the Tensor.

template<typename TComponent>
RealValueType itk::DiffusionTensor3D< TComponent >::GetInnerScalarProduct  )  const
 

Get the Inner Scalar Product from the Tensor.

ComponentType itk::SymmetricSecondRankTensor< TComponent , NDimension >::GetNthComponent int  c  )  const [inline, inherited]
 

Return the value for the Nth component.

Definition at line 146 of file itkSymmetricSecondRankTensor.h.

static unsigned int itk::SymmetricSecondRankTensor< TComponent , NDimension >::GetNumberOfComponents  )  [inline, static, inherited]
 

Return the number of components.

Definition at line 140 of file itkSymmetricSecondRankTensor.h.

References itkGetStaticConstMacro.

template<typename TComponent>
RealValueType itk::DiffusionTensor3D< TComponent >::GetRelativeAnisotropy  )  const
 

Get the value of Relative Anisotropy from the Tensor.

template<typename TComponent>
AccumulateValueType itk::DiffusionTensor3D< TComponent >::GetTrace  )  const
 

Get Trace value

Reimplemented from itk::SymmetricSecondRankTensor< TComponent, 3 >.

itk::SymmetricSecondRankTensor< TComponent , NDimension >::itkStaticConstMacro InternalDimension  ,
unsigned  int,
NDimension *(NDimension+1)/  2
[inherited]
 

Dimension of the vector space* itk::SymmetricSecondRankTensor< TComponent , NDimension >::itkStaticConstMacro Dimension  ,
unsigned  int,
NDimension 
[inherited]
 

Arithmetic operations between tensors and scalars* Self itk::SymmetricSecondRankTensor< TComponent , NDimension >::operator * const RealValueType scalar  )  const [inherited]
 

const Self& itk::SymmetricSecondRankTensor< TComponent , NDimension >::operator *= const RealValueType scalar  )  [inherited]
 

template<typename TComponent>
Pass through assignment itk::DiffusionTensor3D< TComponent >::operator for the Array base class.*/Self &operator= const Self r  ) 
 

Reimplemented from itk::SymmetricSecondRankTensor< TComponent, 3 >.

const ValueType& itk::SymmetricSecondRankTensor< TComponent , NDimension >::operator() unsigned int  row,
unsigned int  col
const [inherited]
 

Matrix in const and non const forms* ValueType& itk::SymmetricSecondRankTensor< TComponent , NDimension >::operator() unsigned int  row,
unsigned int  col
[inherited]
 

Aritmetic operations between pixels Return a new SymmetricSecondRankTensor* Self itk::SymmetricSecondRankTensor< TComponent , NDimension >::operator+ const Self vec  )  const [inherited]
 

const Self& itk::SymmetricSecondRankTensor< TComponent , NDimension >::operator+= const Self vec  )  [inherited]
 

Self itk::SymmetricSecondRankTensor< TComponent , NDimension >::operator- const Self vec  )  const [inherited]
 

const Self& itk::SymmetricSecondRankTensor< TComponent , NDimension >::operator-= const Self vec  )  [inherited]
 

Self itk::SymmetricSecondRankTensor< TComponent , NDimension >::operator/ const RealValueType scalar  )  const [inherited]
 

const Self& itk::SymmetricSecondRankTensor< TComponent , NDimension >::operator/= const RealValueType scalar  )  [inherited]
 

template<typename TComponent>
Self& itk::DiffusionTensor3D< TComponent >::operator= const ComponentArrayType  r  ) 
 

Reimplemented from itk::SymmetricSecondRankTensor< TComponent, 3 >.

template<typename TComponent>
Self& itk::DiffusionTensor3D< TComponent >::operator= const ComponentType r  ) 
 

Reimplemented from itk::SymmetricSecondRankTensor< TComponent, 3 >.

template<typename TComponent>
Self& itk::DiffusionTensor3D< TComponent >::operator= const Superclass r  ) 
 

void itk::SymmetricSecondRankTensor< TComponent , NDimension >::SetIdentity void   )  [inherited]
 

Set the tensor to an identity tensor. This has 1 in its diagonal elements zero elsewhere

void itk::SymmetricSecondRankTensor< TComponent , NDimension >::SetNthComponent int  c,
const ComponentType v
[inline, inherited]
 

Set the Nth component to v.

Definition at line 150 of file itkSymmetricSecondRankTensor.h.

itk::SymmetricSecondRankTensor< TComponent , NDimension >::SymmetricSecondRankTensor const ComponentArrayType  r  )  [inline, inherited]
 

Definition at line 116 of file itkSymmetricSecondRankTensor.h.

Pass through constructor for the Array base class* itk::SymmetricSecondRankTensor< TComponent , NDimension >::SymmetricSecondRankTensor const Self r  )  [inline, inherited]
 

Definition at line 115 of file itkSymmetricSecondRankTensor.h.

itk::SymmetricSecondRankTensor< TComponent , NDimension >::SymmetricSecondRankTensor const ComponentType r  )  [inline, inherited]
 

Definition at line 110 of file itkSymmetricSecondRankTensor.h.

itk::SymmetricSecondRankTensor< TComponent , NDimension >::SymmetricSecondRankTensor  )  [inline, inherited]
 

Default constructor has nothing to do.

Definition at line 108 of file itkSymmetricSecondRankTensor.h.


Member Data Documentation

Matrix itk::SymmetricSecondRankTensor< TComponent , NDimension >::notation [inherited]
 

Definition at line 153 of file itkSymmetricSecondRankTensor.h.


The documentation for this class was generated from the following file:
Generated at Sun Jul 9 19:32:50 2006 for ITK by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2000