ITK  4.9.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | List of all members

#include <itkDiffusionTensor3D.h>

+ Inheritance diagram for itk::DiffusionTensor3D< TComponent >:
+ Collaboration diagram for itk::DiffusionTensor3D< TComponent >:

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 derives from the SymmetricSecondRankTensor, inheriting 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://commonfund.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

Definition at line 79 of file itkDiffusionTensor3D.h.

Public Types

typedef
Superclass::AccumulateValueType 
AccumulateValueType
 
typedef
Superclass::ComponentArrayType 
ComponentArrayType
 
typedef Superclass::ComponentType ComponentType
 
typedef
Superclass::EigenValuesArrayType 
EigenValuesArrayType
 
typedef
Superclass::EigenVectorsMatrixType 
EigenVectorsMatrixType
 
typedef Superclass::RealValueType RealValueType
 
typedef DiffusionTensor3D Self
 
typedef
SymmetricSecondRankTensor
< TComponent, 3 > 
Superclass
 
typedef Superclass::ValueType ValueType
 
- Public Types inherited from itk::SymmetricSecondRankTensor< TComponent, 3 >
typedef NumericTraits
< ValueType >::RealType 
AccumulateValueType
 
typedef FixedArray< TComponent,
itkGetStaticConstMacro(InternalDimension) > 
BaseArray
 
typedef ComponentType ComponentArrayType [itkGetStaticConstMacro(InternalDimension)]
 
typedef TComponent ComponentType
 
typedef FixedArray< TComponent,
NDimension > 
EigenValuesArrayType
 
typedef Matrix< TComponent,
NDimension, NDimension > 
EigenVectorsMatrixType
 
typedef Matrix< TComponent,
NDimension, NDimension > 
MatrixType
 
typedef NumericTraits
< ValueType >::RealType 
RealValueType
 
typedef SymmetricSecondRankTensor Self
 
typedef FixedArray< TComponent,
NDimension *(NDimension+1)/2 > 
Superclass
 
typedef SymmetricEigenAnalysis
< MatrixType,
EigenValuesArrayType,
EigenVectorsMatrixType
SymmetricEigenAnalysisType
 
typedef Superclass::ValueType ValueType
 
- Public Types inherited from itk::FixedArray< TComponent, NDimension *(NDimension+1)/2 >
typedef ValueType CArray [VLength]
 
typedef const ValueTypeconst_pointer
 
typedef const ValueTypeconst_reference
 
typedef const ValueTypeConstIterator
 
typedef ValueTypeIterator
 
typedef ValueTypepointer
 
typedef ValueTypereference
 
typedef unsigned int SizeType
 
typedef TComponent ValueType
 

Public Member Functions

 DiffusionTensor3D ()
 
template<typename TCoordRepB >
 DiffusionTensor3D (const DiffusionTensor3D< TCoordRepB > &pa)
 
RealValueType GetFractionalAnisotropy () const
 
RealValueType GetInnerScalarProduct () const
 
RealValueType GetRelativeAnisotropy () const
 
AccumulateValueType GetTrace () const
 
Selfoperator= (const Superclass &r)
 
Selfoperator= (const ComponentType &r)
 
Selfoperator= (const ComponentArrayType r)
 
 DiffusionTensor3D (const Superclass &r)
 
 DiffusionTensor3D (const ComponentType &r)
 
 DiffusionTensor3D (const ComponentArrayType r)
 
template<typename TCoordRepB >
Selfoperator= (const DiffusionTensor3D< TCoordRepB > &pa)
 
- Public Member Functions inherited from itk::SymmetricSecondRankTensor< TComponent, 3 >
void ComputeEigenAnalysis (EigenValuesArrayType &eigenValues, EigenVectorsMatrixType &eigenVectors) const
 
void ComputeEigenValues (EigenValuesArrayType &eigenValues) const
 
ComponentType GetNthComponent (int c) const
 
AccumulateValueType GetTrace () const
 
ValueTypeoperator() (unsigned int row, unsigned int col)
 
const ValueTypeoperator() (unsigned int row, unsigned int col) const
 
Self operator* (const RealValueType &scalar) const
 
const Selfoperator*= (const RealValueType &scalar)
 
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 ComponentType &r)
 
Selfoperator= (const ComponentArrayType r)
 
MatrixType PostMultiply (const MatrixType &m) const
 
MatrixType PreMultiply (const MatrixType &m) const
 
void SetIdentity ()
 
void SetNthComponent (int c, const ComponentType &v)
 
 SymmetricSecondRankTensor ()
 
 SymmetricSecondRankTensor (const ComponentType &r)
 
 SymmetricSecondRankTensor (const SymmetricSecondRankTensor< TCoordRepB, NDimension > &pa)
 
 SymmetricSecondRankTensor (const ComponentArrayType r)
 
Selfoperator= (const SymmetricSecondRankTensor< TCoordRepB, NDimension > &pa)
 
Self Rotate (const Matrix< TMatrixValueType, NDimension, NDimension > &m) const
 
Self Rotate (const vnl_matrix_fixed< TMatrixValueType, NDimension, NDimension > &m) const
 
Self Rotate (const vnl_matrix< TMatrixValueType > &m) const
 
- Public Member Functions inherited from itk::FixedArray< TComponent, NDimension *(NDimension+1)/2 >
Iterator Begin ()
 
ConstIterator Begin () const
 
Iterator End ()
 
ConstIterator End () const
 
void Fill (const ValueType &)
 
 FixedArray (const TScalarValue *r)
 
ValueTypeGetDataPointer ()
 
const ValueTypeGetDataPointer () const
 
bool operator!= (const FixedArray &r) const
 
FixedArrayoperator= (const ValueType r[VLength])
 
bool operator== (const FixedArray &r) const
 
ReverseIterator rBegin ()
 
ConstReverseIterator rBegin () const
 
ReverseIterator rEnd ()
 
ConstReverseIterator rEnd () const
 
SizeType Size () const
 
 FixedArray ()
 
 FixedArray (const ValueType r[VLength])
 
 FixedArray (const ValueType &r)
 
 FixedArray (const FixedArray< TFixedArrayValueType, VLength > &r)
 
FixedArrayoperator= (const FixedArray< TFixedArrayValueType, VLength > &r)
 
reference operator[] (short index)
 
const_reference operator[] (short index) const
 
reference operator[] (unsigned short index)
 
const_reference operator[] (unsigned short index) const
 
reference operator[] (int index)
 
const_reference operator[] (int index) const
 
reference operator[] (unsigned int index)
 
const_reference operator[] (unsigned int index) const
 
reference operator[] (long index)
 
const_reference operator[] (long index) const
 
reference operator[] (unsigned long index)
 
const_reference operator[] (unsigned long index) const
 
reference operator[] (long long index)
 
const_reference operator[] (long long index) const
 
reference operator[] (unsigned long long index)
 
const_reference operator[] (unsigned long long index) const
 
void SetElement (unsigned short index, const_reference value)
 
const_reference GetElement (unsigned short index) const
 

Additional Inherited Members

- Static Public Member Functions inherited from itk::SymmetricSecondRankTensor< TComponent, 3 >
static unsigned int GetNumberOfComponents ()
 
- Static Public Member Functions inherited from itk::FixedArray< TComponent, NDimension *(NDimension+1)/2 >
static FixedArray Filled (const ValueType &)
 
- Static Public Attributes inherited from itk::SymmetricSecondRankTensor< TComponent, 3 >
static const unsigned int Dimension
 
static const unsigned int InternalDimension
 
- Static Public Attributes inherited from itk::FixedArray< TComponent, NDimension *(NDimension+1)/2 >
static const unsigned int Dimension
 
static const unsigned int Length
 

Member Typedef Documentation

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

Definition at line 94 of file itkDiffusionTensor3D.h.

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

Definition at line 92 of file itkDiffusionTensor3D.h.

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

Definition at line 88 of file itkDiffusionTensor3D.h.

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

Definition at line 97 of file itkDiffusionTensor3D.h.

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

Definition at line 98 of file itkDiffusionTensor3D.h.

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

Definition at line 95 of file itkDiffusionTensor3D.h.

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

Standard class typedefs.

Definition at line 83 of file itkDiffusionTensor3D.h.

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

Definition at line 84 of file itkDiffusionTensor3D.h.

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

Propagating some typedef from the superclass

Definition at line 87 of file itkDiffusionTensor3D.h.

Constructor & Destructor Documentation

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

Default Constructor.

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

Constructor with initialization.

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

Constructor with initialization.

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

Constructor with initialization.

template<typename TComponent>
template<typename TCoordRepB >
itk::DiffusionTensor3D< TComponent >::DiffusionTensor3D ( const DiffusionTensor3D< TCoordRepB > &  pa)
inline

Constructor to enable casting...

Definition at line 111 of file itkDiffusionTensor3D.h.

Member Function Documentation

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.

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

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

Pass-through assignment operator for the Array base class.

template<typename TComponent>
Self& itk::DiffusionTensor3D< TComponent >::operator= ( const ComponentType r)
template<typename TComponent>
Self& itk::DiffusionTensor3D< TComponent >::operator= ( const ComponentArrayType  r)
template<typename TComponent>
template<typename TCoordRepB >
Self& itk::DiffusionTensor3D< TComponent >::operator= ( const DiffusionTensor3D< TCoordRepB > &  pa)
inline

Templated Pass-through assignment for the Array base class.

Definition at line 123 of file itkDiffusionTensor3D.h.

References itk::SymmetricSecondRankTensor< TComponent, NDimension >::operator=().


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