ITK
6.0.0
Insight Toolkit
|
#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 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.
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:
https://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.
Public Member Functions | |
DiffusionTensor3D ()=default | |
template<typename TCoordinateB > | |
DiffusionTensor3D (const DiffusionTensor3D< TCoordinateB > &pa) | |
RealValueType | GetFractionalAnisotropy () const |
RealValueType | GetInnerScalarProduct () const |
RealValueType | GetRelativeAnisotropy () const |
AccumulateValueType | GetTrace () const |
Self & | operator= (const ComponentArrayType r) |
Self & | operator= (const ComponentType &r) |
Self & | operator= (const Superclass &r) |
DiffusionTensor3D (const Superclass &r) | |
DiffusionTensor3D (const ComponentType &r) | |
DiffusionTensor3D (const ComponentArrayType r) | |
template<typename TCoordinateB > | |
Self & | operator= (const DiffusionTensor3D< TCoordinateB > &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 |
ValueType & | operator() (unsigned int row, unsigned int col) |
const ValueType & | operator() (unsigned int row, unsigned int col) const |
Self | operator* (const RealValueType &r) const |
const Self & | operator*= (const RealValueType &r) |
Self | operator+ (const Self &r) const |
const Self & | operator+= (const Self &r) |
Self | operator- (const Self &r) const |
const Self & | operator-= (const Self &r) |
Self | operator/ (const RealValueType &r) const |
const Self & | operator/= (const RealValueType &r) |
Self & | operator= (const ComponentArrayType r) |
Self & | operator= (const ComponentType &r) |
MatrixType | PostMultiply (const MatrixType &m) const |
MatrixType | PreMultiply (const MatrixType &m) const |
void | SetIdentity () |
void | SetNthComponent (int c, const ComponentType &v) |
SymmetricSecondRankTensor (const ComponentArrayType r) | |
SymmetricSecondRankTensor (const ComponentType &r) | |
SymmetricSecondRankTensor (const SymmetricSecondRankTensor< TCoordinateB, VDimension > &pa) | |
SymmetricSecondRankTensor ()=default | |
Self & | operator= (const SymmetricSecondRankTensor< TCoordinateB, VDimension > &pa) |
Self | Rotate (const Matrix< TMatrixValueType, VDimension, VDimension > &m) const |
Self | Rotate (const vnl_matrix_fixed< TMatrixValueType, VDimension, VDimension > &m) const |
Self | Rotate (const vnl_matrix< TMatrixValueType > &m) const |
Public Member Functions inherited from itk::FixedArray< TComponent, VDimension *(VDimension+1)/2 > | |
Iterator | Begin () |
ConstIterator | Begin () const |
constexpr const_iterator | begin () const noexcept |
constexpr iterator | begin () noexcept |
constexpr const_iterator | cbegin () const noexcept |
constexpr const_iterator | cend () const noexcept |
const_reverse_iterator | crbegin () const |
const_reverse_iterator | crend () const |
ValueType * | data () |
const ValueType * | data () const |
Iterator | End () |
ConstIterator | End () const |
constexpr const_iterator | end () const noexcept |
constexpr iterator | end () noexcept |
void | Fill (const ValueType &) |
FixedArray ()=default | |
FixedArray (const FixedArray< TFixedArrayValueType, VLength > &r) | |
FixedArray (const std::array< ValueType, VLength > &stdArray) | |
FixedArray (const TScalarValue *r) | |
ValueType * | GetDataPointer () |
const ValueType * | GetDataPointer () const |
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION (FixedArray) | |
itkLegacyMacro (ReverseIterator rBegin();) itkLegacyMacro(ConstReverseIterator rBegin() const | |
itkLegacyMacro (ReverseIterator rEnd();) itkLegacyMacro(ConstReverseIterator rEnd() const | |
FixedArray & | operator= (const FixedArray< TFixedArrayValueType, VLength > &r) |
FixedArray & | operator= (const ValueType r[VLength]) |
bool | operator== (const FixedArray &r) const |
reverse_iterator | rbegin () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rend () |
const_reverse_iterator | rend () const |
SizeType | Size () const |
constexpr SizeType | size () const |
void | swap (FixedArray &other) noexcept |
FixedArray (const ValueType r[VLength]) | |
FixedArray (const ValueType &) | |
ITK_GCC_PRAGMA_PUSH constexpr ITK_GCC_SUPPRESS_Warray_bounds reference | operator[] (unsigned int index) |
constexpr const_reference | operator[] (unsigned int index) const |
ITK_GCC_PRAGMA_POP void | SetElement (unsigned int index, const_reference value) |
const_reference | GetElement (unsigned int 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, VDimension *(VDimension+1)/2 > | |
static constexpr FixedArray | Filled (const ValueType &value) |
Static Public Attributes inherited from itk::SymmetricSecondRankTensor< TComponent, 3 > | |
static constexpr unsigned int | Dimension |
static constexpr unsigned int | InternalDimension |
Static Public Attributes inherited from itk::FixedArray< TComponent, VDimension *(VDimension+1)/2 > | |
static constexpr unsigned int | Dimension |
static constexpr unsigned int | Length |
using itk::DiffusionTensor3D< TComponent >::Self = DiffusionTensor3D |
Standard class type aliases.
Definition at line 83 of file itkDiffusionTensor3D.h.
using itk::DiffusionTensor3D< TComponent >::Superclass = SymmetricSecondRankTensor<TComponent, 3> |
Definition at line 84 of file itkDiffusionTensor3D.h.
|
default |
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.
|
inline |
Constructor to enable casting...
Definition at line 108 of file itkDiffusionTensor3D.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.
RealValueType itk::DiffusionTensor3D< TComponent >::GetRelativeAnisotropy | ( | ) | const |
Get the value of Relative Anisotropy from the Tensor.
AccumulateValueType itk::DiffusionTensor3D< TComponent >::GetTrace | ( | ) | const |
Get the trace value.
Note that the indices are related to the fact that we store only the upper-right triangle of the matrix. Like
| 0 1 2 | | X 3 4 | | X X 5 |
The trace is therefore the sum of the components M[0], M[3] and M[5].
Self& itk::DiffusionTensor3D< TComponent >::operator= | ( | const ComponentArrayType | r | ) |
Self& itk::DiffusionTensor3D< TComponent >::operator= | ( | const ComponentType & | r | ) |
|
inline |
Templated Pass-through assignment for the Array base class.
Definition at line 125 of file itkDiffusionTensor3D.h.
References itk::SymmetricSecondRankTensor< TComponent, VDimension >::operator=().
Self& itk::DiffusionTensor3D< TComponent >::operator= | ( | const Superclass & | r | ) |
Pass-through assignment operator for the Array base class.