#include <itkDiffusionTensor3D.h>
Inheritance diagram for itk::DiffusionTensor3D< TComponent >:
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
Contributions by Torsten Rohlfing were funded by the following NIH grants
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< TValueType, 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< TValueType, VLength >::const_pointer [inherited] |
A const pointer to the ValueType.
Definition at line 123 of file itkFixedArray.h.
typedef const ValueType& itk::FixedArray< TValueType, VLength >::const_reference [inherited] |
A const reference to the ValueType.
Definition at line 129 of file itkFixedArray.h.
typedef const ValueType* itk::FixedArray< TValueType, VLength >::ConstIterator [inherited] |
A const iterator through the array.
Reimplemented in itk::ContinuousIndex< TCoordRep, VIndexDimension >, itk::Point< TCoordRep, NPointDimension >, itk::QuadEdgeMeshPoint< TCoordRep, VPointDimension, TQuadEdge >, itk::Point< TCoordRep, VIndexDimension >, and itk::Point< TCoordRep, VPointDimension >.
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< TValueType, VLength >::Iterator [inherited] |
An iterator through the array.
Reimplemented in itk::ContinuousIndex< TCoordRep, VIndexDimension >, itk::Point< TCoordRep, NPointDimension >, itk::QuadEdgeMeshPoint< TCoordRep, VPointDimension, TQuadEdge >, itk::Point< TCoordRep, VIndexDimension >, and itk::Point< TCoordRep, VPointDimension >.
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< TValueType, VLength >::pointer [inherited] |
A pointer to the ValueType.
Definition at line 120 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< TValueType, VLength >::reference [inherited] |
A reference to the ValueType.
Definition at line 126 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< TValueType, VLength >::SizeType [inherited] |
Definition at line 131 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 Self & | r | ) |
Constructor with initialization.
itk::DiffusionTensor3D< TComponent >::DiffusionTensor3D | ( | const Superclass & | r | ) |
itk::DiffusionTensor3D< TComponent >::DiffusionTensor3D | ( | const ComponentType & | r | ) |
itk::DiffusionTensor3D< TComponent >::DiffusionTensor3D | ( | const ComponentArrayType | r | ) |
itk::DiffusionTensor3D< TComponent >::DiffusionTensor3D | ( | const ComponentArrayType | r | ) |
itk::DiffusionTensor3D< TComponent >::DiffusionTensor3D | ( | const ComponentType & | r | ) |
itk::DiffusionTensor3D< TComponent >::DiffusionTensor3D | ( | const Superclass & | r | ) |
itk::DiffusionTensor3D< TComponent >::DiffusionTensor3D | ( | const Self & | r | ) |
Constructor with initialization.
ConstIterator itk::FixedArray< TValueType, VLength >::Begin | ( | ) | const [inherited] |
Iterator itk::FixedArray< TValueType, VLength >::Begin | ( | ) | [inherited] |
Get various iterators to the array.
Referenced by itk::FixedArray< unsigned char, 3 >::FixedArray(), itk::FixedArray< unsigned char, 3 >::operator=(), and itk::DTITubeSpatialObjectPoint< TPointDimension >::SetTensorMatrix().
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.
ConstIterator itk::FixedArray< TValueType, VLength >::End | ( | ) | const [inherited] |
Iterator itk::FixedArray< TValueType, VLength >::End | ( | ) | [inherited] |
void itk::FixedArray< TValueType, VLength >::Fill | ( | const ValueType & | ) | [inherited] |
Referenced by itk::MeasurementVectorTraits::SetLength().
static FixedArray itk::FixedArray< TValueType, VLength >::Filled | ( | const ValueType & | ) | [static, inherited] |
const ValueType* itk::FixedArray< TValueType, VLength >::GetDataPointer | ( | ) | const [inline, inherited] |
Definition at line 201 of file itkFixedArray.h.
ValueType* itk::FixedArray< TValueType, VLength >::GetDataPointer | ( | ) | [inline, inherited] |
Return a pointer to the data.
Definition at line 200 of file itkFixedArray.h.
Referenced by itk::Accessor::VectorToRGBPixelAccessor< T >::Get(), itk::Accessor::RGBToVectorPixelAccessor< T >::Get(), and itk::MetaArrayWriter::SetInput().
const_reference itk::FixedArray< TValueType, VLength >::GetElement | ( | unsigned short | index | ) | const [inline, inherited] |
Definition at line 196 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 146 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 140 of file itkSymmetricSecondRankTensor.h.
References 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 >.
itk::FixedArray< TValueType, VLength >::itkStaticConstMacro | ( | Dimension | , | |
unsigned | int, | |||
VLength | ||||
) | [inherited] |
Dimension constant
itk::FixedArray< TValueType, VLength >::itkStaticConstMacro | ( | Length | , | |
unsigned | int, | |||
VLength | ||||
) | [inherited] |
Length constant
itk::SymmetricSecondRankTensor< TComponent , NDimension >::itkStaticConstMacro | ( | InternalDimension | , | |
unsigned | int, | |||
NDimension *(NDimension+1)/ | 2 | |||
) | [inherited] |
itk::SymmetricSecondRankTensor< TComponent , NDimension >::itkStaticConstMacro | ( | Dimension | , | |
unsigned | int, | |||
NDimension | ||||
) | [inherited] |
Dimension of the vector space.
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
bool itk::FixedArray< TValueType, VLength >::operator!= | ( | const FixedArray< TValueType, VLength > & | r | ) | const [inline, inherited] |
Definition at line 172 of file itkFixedArray.h.
const ValueType& itk::SymmetricSecondRankTensor< TComponent , NDimension >::operator() | ( | unsigned int | row, | |
unsigned int | col | |||
) | const [inherited] |
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 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 ComponentArrayType | r | ) |
Self& itk::DiffusionTensor3D< TComponent >::operator= | ( | const ComponentType & | r | ) |
Self& itk::DiffusionTensor3D< TComponent >::operator= | ( | const Superclass & | r | ) |
Self& itk::DiffusionTensor3D< TComponent >::operator= | ( | const Self & | r | ) |
Pass-through assignment operator for the Array base class.
bool itk::FixedArray< TValueType, VLength >::operator== | ( | const FixedArray< TValueType, VLength > & | 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.
Referenced by itk::FixedArray< unsigned char, 3 >::operator!=().
const_reference itk::FixedArray< TValueType, VLength >::operator[] | ( | unsigned long | index | ) | const [inline, inherited] |
Definition at line 190 of file itkFixedArray.h.
reference itk::FixedArray< TValueType, VLength >::operator[] | ( | unsigned long | index | ) | [inline, inherited] |
Definition at line 189 of file itkFixedArray.h.
const_reference itk::FixedArray< TValueType, VLength >::operator[] | ( | long | index | ) | const [inline, inherited] |
Definition at line 188 of file itkFixedArray.h.
reference itk::FixedArray< TValueType, VLength >::operator[] | ( | long | index | ) | [inline, inherited] |
Definition at line 187 of file itkFixedArray.h.
const_reference itk::FixedArray< TValueType, VLength >::operator[] | ( | unsigned int | index | ) | const [inline, inherited] |
Definition at line 186 of file itkFixedArray.h.
reference itk::FixedArray< TValueType, VLength >::operator[] | ( | unsigned int | index | ) | [inline, inherited] |
Definition at line 185 of file itkFixedArray.h.
const_reference itk::FixedArray< TValueType, VLength >::operator[] | ( | int | index | ) | const [inline, inherited] |
Definition at line 184 of file itkFixedArray.h.
reference itk::FixedArray< TValueType, VLength >::operator[] | ( | int | index | ) | [inline, inherited] |
Definition at line 183 of file itkFixedArray.h.
const_reference itk::FixedArray< TValueType, VLength >::operator[] | ( | unsigned short | index | ) | const [inline, inherited] |
Definition at line 182 of file itkFixedArray.h.
reference itk::FixedArray< TValueType, VLength >::operator[] | ( | unsigned short | index | ) | [inline, inherited] |
Definition at line 181 of file itkFixedArray.h.
const_reference itk::FixedArray< TValueType, VLength >::operator[] | ( | short | index | ) | const [inline, inherited] |
Definition at line 180 of file itkFixedArray.h.
reference itk::FixedArray< TValueType, 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 179 of file itkFixedArray.h.
Self itk::SymmetricSecondRankTensor< TComponent , NDimension >::PostMultiply | ( | const MatrixType & | m | ) | const [inherited] |
Self itk::SymmetricSecondRankTensor< TComponent , NDimension >::PreMultiply | ( | const MatrixType & | m | ) | const [inherited] |
ConstReverseIterator itk::FixedArray< TValueType, VLength >::rBegin | ( | ) | const [inherited] |
ReverseIterator itk::FixedArray< TValueType, VLength >::rBegin | ( | ) | [inherited] |
ConstReverseIterator itk::FixedArray< TValueType, VLength >::rEnd | ( | ) | const [inherited] |
ReverseIterator itk::FixedArray< TValueType, VLength >::rEnd | ( | ) | [inherited] |
void itk::FixedArray< TValueType, VLength >::SetElement | ( | unsigned short | index, | |
const_reference | value | |||
) | [inline, inherited] |
Set/Get element methods are more convenient in wrapping languages
Definition at line 194 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 150 of file itkSymmetricSecondRankTensor.h.
References itk::FixedArray< TComponent, NDimension *(NDimension+1)/2 >::operator[]().
SizeType itk::FixedArray< TValueType, VLength >::Size | ( | ) | const [inherited] |