Represent a diffusion tensor as used in DTI images. More...
#include <itkDiffusionTensor3D.h>
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.
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
Alcohol, HIV and the Brain, NIAAA AA12999, PI: A. Pfefferbaum
Normal Aging of Brain Structure and Function NIA AG 17919, PI: E.V. Sullivan.
Definition at line 79 of file itkDiffusionTensor3D.h.
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.
typedef ValueType itk::FixedArray< TComponent , VLength >::CArray[VLength] [inherited] |
A type representing the C-array version of this FixedArray.
Definition at line 77 of file itkFixedArray.h.
typedef Superclass::ComponentArrayType itk::DiffusionTensor3D< TComponent >::ComponentArrayType |
Reimplemented from itk::SymmetricSecondRankTensor< TComponent, 3 >.
Definition at line 92 of file itkDiffusionTensor3D.h.
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.
typedef const ValueType* itk::FixedArray< TComponent , VLength >::const_pointer [inherited] |
A const pointer to the ValueType.
Definition at line 129 of file itkFixedArray.h.
typedef const ValueType& itk::FixedArray< TComponent , VLength >::const_reference [inherited] |
A const reference to the ValueType.
Definition at line 135 of file itkFixedArray.h.
typedef const ValueType* itk::FixedArray< TComponent , VLength >::ConstIterator [inherited] |
A const iterator through the array.
Definition at line 83 of file itkFixedArray.h.
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.
typedef Superclass::EigenVectorsMatrixType itk::DiffusionTensor3D< TComponent >::EigenVectorsMatrixType |
Reimplemented from itk::SymmetricSecondRankTensor< TComponent, 3 >.
Definition at line 98 of file itkDiffusionTensor3D.h.
typedef ValueType* itk::FixedArray< TComponent , VLength >::Iterator [inherited] |
An iterator through the array.
Definition at line 80 of file itkFixedArray.h.
typedef Matrix<TComponent, NDimension, NDimension> itk::SymmetricSecondRankTensor< TComponent, NDimension >::MatrixType [inherited] |
Matrix of eigen-vectors.
Definition at line 95 of file itkSymmetricSecondRankTensor.h.
typedef ValueType* itk::FixedArray< TComponent , VLength >::pointer [inherited] |
A pointer to the ValueType.
Definition at line 126 of file itkFixedArray.h.
typedef Superclass::RealValueType itk::DiffusionTensor3D< TComponent >::RealValueType |
Reimplemented from itk::SymmetricSecondRankTensor< TComponent, 3 >.
Definition at line 95 of file itkDiffusionTensor3D.h.
typedef ValueType& itk::FixedArray< TComponent , VLength >::reference [inherited] |
A reference to the ValueType.
Definition at line 132 of file itkFixedArray.h.
typedef DiffusionTensor3D itk::DiffusionTensor3D< TComponent >::Self |
Standard class typedefs.
Reimplemented from itk::SymmetricSecondRankTensor< TComponent, 3 >.
Definition at line 83 of file itkDiffusionTensor3D.h.
typedef unsigned int itk::FixedArray< TComponent , VLength >::SizeType [inherited] |
Definition at line 137 of file itkFixedArray.h.
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.
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.
itk::DiffusionTensor3D< TComponent >::DiffusionTensor3D | ( | ) |
Default Constructor.
itk::DiffusionTensor3D< TComponent >::DiffusionTensor3D | ( | const Superclass & | r | ) |
Constructor with initialization.
itk::DiffusionTensor3D< TComponent >::DiffusionTensor3D | ( | const ComponentType & | r | ) |
Constructor with initialization.
itk::DiffusionTensor3D< TComponent >::DiffusionTensor3D | ( | const ComponentArrayType | r | ) |
Constructor with initialization.
itk::DiffusionTensor3D< TComponent >::DiffusionTensor3D | ( | const DiffusionTensor3D< TCoordRepB > & | pa | ) | [inline] |
Constructor to enable casting...
Definition at line 111 of file itkDiffusionTensor3D.h.
Iterator itk::FixedArray< TComponent , VLength >::Begin | ( | void | ) | [inherited] |
Get various iterators to the array.
Referenced by itk::DTITubeSpatialObjectPoint< TPointDimension >::SetTensorMatrix().
ConstIterator itk::FixedArray< TComponent , VLength >::Begin | ( | void | ) | const [inherited] |
Get various iterators to the array.
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.
Iterator itk::FixedArray< TComponent , VLength >::End | ( | void | ) | [inherited] |
Get various iterators to the array.
Referenced by itk::DTITubeSpatialObjectPoint< TPointDimension >::SetTensorMatrix().
ConstIterator itk::FixedArray< TComponent , VLength >::End | ( | void | ) | const [inherited] |
Get various iterators to the array.
void itk::FixedArray< TComponent , VLength >::Fill | ( | const ValueType & | ) | [inherited] |
Get various iterators to the array.
Referenced by itk::SymmetricSecondRankTensor< TComponent, 3 >::SymmetricSecondRankTensor().
static FixedArray itk::FixedArray< TComponent , VLength >::Filled | ( | const ValueType & | ) | [static, inherited] |
ValueType* itk::FixedArray< TComponent , VLength >::GetDataPointer | ( | ) | [inline, inherited] |
Return a pointer to the data.
Definition at line 222 of file itkFixedArray.h.
const ValueType* itk::FixedArray< TComponent , VLength >::GetDataPointer | ( | ) | const [inline, inherited] |
Return a pointer to the data.
Definition at line 223 of file itkFixedArray.h.
const_reference itk::FixedArray< TComponent , VLength >::GetElement | ( | unsigned short | index | ) | const [inline, inherited] |
Set/Get element methods are more convenient in wrapping languages
Definition at line 218 of file itkFixedArray.h.
RealValueType itk::DiffusionTensor3D< TComponent >::GetFractionalAnisotropy | ( | ) | const |
Get the value of Fractional Anisotropy from the Tensor.
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 157 of file itkSymmetricSecondRankTensor.h.
References itk::FixedArray< TComponent, NDimension *(NDimension+1)/2 >::operator[]().
static unsigned int itk::SymmetricSecondRankTensor< TComponent, NDimension >::GetNumberOfComponents | ( | void | ) | [inline, static, inherited] |
Return the number of components.
Definition at line 151 of file itkSymmetricSecondRankTensor.h.
References itk::SymmetricSecondRankTensor< TComponent, NDimension >::InternalDimension, and itkGetStaticConstMacro.
RealValueType itk::DiffusionTensor3D< TComponent >::GetRelativeAnisotropy | ( | ) | const |
Get the value of Relative Anisotropy from the Tensor.
AccumulateValueType itk::DiffusionTensor3D< TComponent >::GetTrace | ( | ) | const |
Get Trace value
Reimplemented from itk::SymmetricSecondRankTensor< TComponent, 3 >.
bool itk::FixedArray< TComponent , VLength >::operator!= | ( | const FixedArray< TComponent, NDimension *(NDimension+1)/2 > & | r | ) | const [inline, inherited] |
Operators == and != are used to compare whether two arrays are equal. Note that arrays are equal when the number of components (size) is the same, and each component value is equal.
Definition at line 194 of file itkFixedArray.h.
const ValueType& itk::SymmetricSecondRankTensor< TComponent, NDimension >::operator() | ( | unsigned int | row, | |
unsigned int | col | |||
) | const [inherited] |
Matrix notation, in const and non-const forms.
ValueType& itk::SymmetricSecondRankTensor< TComponent, NDimension >::operator() | ( | unsigned int | row, | |
unsigned int | col | |||
) | [inherited] |
Matrix notation, in const and non-const forms.
Self itk::SymmetricSecondRankTensor< TComponent, NDimension >::operator* | ( | const RealValueType & | scalar | ) | const [inherited] |
Arithmetic operations between tensors and scalars
const Self& itk::SymmetricSecondRankTensor< TComponent, NDimension >::operator*= | ( | const RealValueType & | scalar | ) | [inherited] |
Arithmetic operations between tensors and scalars
Self itk::SymmetricSecondRankTensor< TComponent, NDimension >::operator+ | ( | const Self & | vec | ) | const [inherited] |
Aritmetic operations between pixels. Return a new SymmetricSecondRankTensor.
const Self& itk::SymmetricSecondRankTensor< TComponent, NDimension >::operator+= | ( | const Self & | vec | ) | [inherited] |
Aritmetic operations between pixels. Return a new SymmetricSecondRankTensor.
Self itk::SymmetricSecondRankTensor< TComponent, NDimension >::operator- | ( | const Self & | vec | ) | const [inherited] |
Aritmetic operations between pixels. Return a new SymmetricSecondRankTensor.
const Self& itk::SymmetricSecondRankTensor< TComponent, NDimension >::operator-= | ( | const Self & | vec | ) | [inherited] |
Aritmetic operations between pixels. Return a new SymmetricSecondRankTensor.
Self itk::SymmetricSecondRankTensor< TComponent, NDimension >::operator/ | ( | const RealValueType & | scalar | ) | const [inherited] |
Arithmetic operations between tensors and scalars
const Self& itk::SymmetricSecondRankTensor< TComponent, NDimension >::operator/= | ( | const RealValueType & | scalar | ) | [inherited] |
Arithmetic operations between tensors and scalars
Self& itk::DiffusionTensor3D< TComponent >::operator= | ( | const DiffusionTensor3D< TCoordRepB > & | pa | ) | [inline] |
Templated Pass-through assignment for the Array base class.
Definition at line 122 of file itkDiffusionTensor3D.h.
References itk::DiffusionTensor3D< TComponent >::operator=().
Self& itk::DiffusionTensor3D< TComponent >::operator= | ( | const Superclass & | r | ) |
Pass-through assignment operator for the Array base class.
Referenced by itk::DiffusionTensor3D< TComponent >::operator=().
Self& itk::DiffusionTensor3D< TComponent >::operator= | ( | const ComponentType & | r | ) |
Pass-through assignment operator for the Array base class.
Self& itk::DiffusionTensor3D< TComponent >::operator= | ( | const ComponentArrayType | r | ) |
Pass-through assignment operator for the Array base class.
bool itk::FixedArray< TComponent , VLength >::operator== | ( | const FixedArray< TComponent, NDimension *(NDimension+1)/2 > & | r | ) | const [inherited] |
Operators == and != are used to compare whether two arrays are equal. Note that arrays are equal when the number of components (size) is the same, and each component value is equal.
reference itk::FixedArray< TComponent , VLength >::operator[] | ( | unsigned short | index | ) | [inline, inherited] |
Allow the FixedArray to be indexed normally. No bounds checking is done. The separate versions are a work-around for an integer conversion bug in Visual C++.
Definition at line 203 of file itkFixedArray.h.
reference itk::FixedArray< TComponent , VLength >::operator[] | ( | long | index | ) | [inline, inherited] |
Allow the FixedArray to be indexed normally. No bounds checking is done. The separate versions are a work-around for an integer conversion bug in Visual C++.
Definition at line 209 of file itkFixedArray.h.
const_reference itk::FixedArray< TComponent , VLength >::operator[] | ( | int | index | ) | const [inline, inherited] |
Allow the FixedArray to be indexed normally. No bounds checking is done. The separate versions are a work-around for an integer conversion bug in Visual C++.
Definition at line 206 of file itkFixedArray.h.
const_reference itk::FixedArray< TComponent , VLength >::operator[] | ( | unsigned int | index | ) | const [inline, inherited] |
Allow the FixedArray to be indexed normally. No bounds checking is done. The separate versions are a work-around for an integer conversion bug in Visual C++.
Definition at line 208 of file itkFixedArray.h.
const_reference itk::FixedArray< TComponent , VLength >::operator[] | ( | long | index | ) | const [inline, inherited] |
Allow the FixedArray to be indexed normally. No bounds checking is done. The separate versions are a work-around for an integer conversion bug in Visual C++.
Definition at line 210 of file itkFixedArray.h.
const_reference itk::FixedArray< TComponent , VLength >::operator[] | ( | unsigned short | index | ) | const [inline, inherited] |
Allow the FixedArray to be indexed normally. No bounds checking is done. The separate versions are a work-around for an integer conversion bug in Visual C++.
Definition at line 204 of file itkFixedArray.h.
reference itk::FixedArray< TComponent , VLength >::operator[] | ( | int | index | ) | [inline, inherited] |
Allow the FixedArray to be indexed normally. No bounds checking is done. The separate versions are a work-around for an integer conversion bug in Visual C++.
Definition at line 205 of file itkFixedArray.h.
const_reference itk::FixedArray< TComponent , VLength >::operator[] | ( | short | index | ) | const [inline, inherited] |
Allow the FixedArray to be indexed normally. No bounds checking is done. The separate versions are a work-around for an integer conversion bug in Visual C++.
Definition at line 202 of file itkFixedArray.h.
const_reference itk::FixedArray< TComponent , VLength >::operator[] | ( | unsigned long | index | ) | const [inline, inherited] |
Allow the FixedArray to be indexed normally. No bounds checking is done. The separate versions are a work-around for an integer conversion bug in Visual C++.
Definition at line 212 of file itkFixedArray.h.
reference itk::FixedArray< TComponent , VLength >::operator[] | ( | short | index | ) | [inline, inherited] |
Allow the FixedArray to be indexed normally. No bounds checking is done. The separate versions are a work-around for an integer conversion bug in Visual C++.
Definition at line 201 of file itkFixedArray.h.
Referenced by itk::SymmetricSecondRankTensor< TComponent, 3 >::GetNthComponent(), and itk::SymmetricSecondRankTensor< TComponent, 3 >::SetNthComponent().
reference itk::FixedArray< TComponent , VLength >::operator[] | ( | unsigned long | index | ) | [inline, inherited] |
Allow the FixedArray to be indexed normally. No bounds checking is done. The separate versions are a work-around for an integer conversion bug in Visual C++.
Definition at line 211 of file itkFixedArray.h.
reference itk::FixedArray< TComponent , VLength >::operator[] | ( | unsigned int | index | ) | [inline, inherited] |
Allow the FixedArray to be indexed normally. No bounds checking is done. The separate versions are a work-around for an integer conversion bug in Visual C++.
Definition at line 207 of file itkFixedArray.h.
Self itk::SymmetricSecondRankTensor< TComponent, NDimension >::PostMultiply | ( | const MatrixType & | m | ) | const [inherited] |
Post-Multiply by a Matrix as ResultingTensor = ThisTensor * Matrix.
Self itk::SymmetricSecondRankTensor< TComponent, NDimension >::PreMultiply | ( | const MatrixType & | m | ) | const [inherited] |
Pre-Multiply by a Matrix as ResultingTensor = Matrix * ThisTensor.
ReverseIterator itk::FixedArray< TComponent , VLength >::rBegin | ( | ) | [inherited] |
Get various iterators to the array.
ConstReverseIterator itk::FixedArray< TComponent , VLength >::rBegin | ( | ) | const [inherited] |
Get various iterators to the array.
ReverseIterator itk::FixedArray< TComponent , VLength >::rEnd | ( | ) | [inherited] |
Get various iterators to the array.
ConstReverseIterator itk::FixedArray< TComponent , VLength >::rEnd | ( | ) | const [inherited] |
Get various iterators to the array.
void itk::FixedArray< TComponent , VLength >::SetElement | ( | unsigned short | index, | |
const_reference | value | |||
) | [inline, inherited] |
Set/Get element methods are more convenient in wrapping languages
Definition at line 216 of file itkFixedArray.h.
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 161 of file itkSymmetricSecondRankTensor.h.
References itk::FixedArray< TComponent, NDimension *(NDimension+1)/2 >::operator[]().
SizeType itk::FixedArray< TComponent , VLength >::Size | ( | void | ) | const [inherited] |
Get various iterators to the array.
const unsigned int itk::SymmetricSecondRankTensor< TComponent, NDimension >::Dimension [static, inherited] |
Dimension of the vector space.
Reimplemented from itk::FixedArray< TComponent, NDimension *(NDimension+1)/2 >.
Definition at line 83 of file itkSymmetricSecondRankTensor.h.
const unsigned int itk::SymmetricSecondRankTensor< TComponent, NDimension >::InternalDimension [static, inherited] |
Dimension of the vector space.
Definition at line 84 of file itkSymmetricSecondRankTensor.h.
const unsigned int itk::FixedArray< TComponent , VLength >::Length [static, inherited] |
Length constant
Definition at line 68 of file itkFixedArray.h.