Orfeo Toolbox  4.0
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
itk::SymmetricSecondRankTensor< TComponent, NDimension > Class Template Reference

Represent a symmetric tensor of second rank. More...

#include <itkSymmetricSecondRankTensor.h>

+ Inheritance diagram for itk::SymmetricSecondRankTensor< TComponent, NDimension >:
+ Collaboration diagram for itk::SymmetricSecondRankTensor< TComponent, NDimension >:

Public Types

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

Public Member Functions

 SymmetricSecondRankTensor ()
 
 SymmetricSecondRankTensor (const ComponentType &r)
 
template<typename TCoordRepB >
 SymmetricSecondRankTensor (const SymmetricSecondRankTensor< TCoordRepB, NDimension > &pa)
 
 SymmetricSecondRankTensor (const ComponentArrayType r)
 
Iterator Begin ()
 
ConstIterator Begin () const
 
void ComputeEigenAnalysis (EigenValuesArrayType &eigenValues, EigenVectorsMatrixType &eigenVectors) const
 
void ComputeEigenValues (EigenValuesArrayType &eigenValues) const
 
Iterator End ()
 
ConstIterator End () const
 
void Fill (const ValueType &)
 
ValueTypeGetDataPointer ()
 
const ValueTypeGetDataPointer () const
 
const_reference GetElement (unsigned short index) const
 
ComponentType GetNthComponent (int c) const
 
AccumulateValueType GetTrace () const
 
bool operator!= (const FixedArray &r) 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)
 
template<typename TCoordRepB >
Selfoperator= (const SymmetricSecondRankTensor< TCoordRepB, NDimension > &pa)
 
Selfoperator= (const ComponentType &r)
 
Selfoperator= (const ComponentArrayType r)
 
bool operator== (const FixedArray &r) const
 
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
 
MatrixType PostMultiply (const MatrixType &m) const
 
MatrixType PreMultiply (const MatrixType &m) const
 
ReverseIterator rBegin ()
 
ConstReverseIterator rBegin () const
 
ReverseIterator rEnd ()
 
ConstReverseIterator rEnd () const
 
template<typename TMatrixValueType >
Self Rotate (const Matrix< TMatrixValueType, NDimension, NDimension > &m) const
 
template<typename TMatrixValueType >
Self Rotate (const vnl_matrix_fixed< TMatrixValueType, NDimension, NDimension > &m) const
 
template<typename TMatrixValueType >
Self Rotate (const vnl_matrix< TMatrixValueType > &m) const
 
template<typename TMatrixValueType >
SymmetricSecondRankTensor< T,
NDimension > 
Rotate (const Matrix< TMatrixValueType, NDimension, NDimension > &m) const
 
void SetElement (unsigned short index, const_reference value)
 
void SetIdentity ()
 
void SetNthComponent (int c, const ComponentType &v)
 
SizeType Size () const
 

Static Public Member Functions

static FixedArray Filled (const ValueType &)
 
static unsigned int GetNumberOfComponents ()
 

Static Public Attributes

static const unsigned int Dimension = NDimension
 
static const unsigned int InternalDimension = ( NDimension * ( NDimension + 1 ) / 2 )
 
static const unsigned int Length
 

Detailed Description

template<typename TComponent, unsigned int NDimension = 3>
class itk::SymmetricSecondRankTensor< TComponent, NDimension >

Represent a symmetric tensor of second rank.

This class implements a ND symmetric tensor of second rank.

Since SymmetricSecondRankTensor is a subclass of FixedArray, you can access its components as:

typedef itk::SymmetricSecondRankTensor< float > TensorPixelType; TensorPixelType tensor;

tensor[0] = 1.233; tensor[1] = 1.456;

for convenience the indexed access is also available as

tensor(0,0) = 1.233; tensor(2,0) = 1.233;

The Tensor in principle represents a NxN matrix, but given that it is always symmetric the representation can be compacted into a N*(N+1)/2 elements array that derives from the itk::FixedArray<T>

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. The funding for creating this class was largely provided by NAMIC (National Alliance for Medical Image Computing) (http://www.na-mic.org). 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

See Also
DiffusionTensor3D

Definition at line 75 of file itkSymmetricSecondRankTensor.h.

Member Typedef Documentation

template<typename TComponent, unsigned int NDimension = 3>
typedef NumericTraits< ValueType >::RealType itk::SymmetricSecondRankTensor< TComponent, NDimension >::AccumulateValueType

Definition at line 101 of file itkSymmetricSecondRankTensor.h.

template<typename TComponent, unsigned int NDimension = 3>
typedef FixedArray< TComponent, itkGetStaticConstMacro(InternalDimension) > itk::SymmetricSecondRankTensor< TComponent, NDimension >::BaseArray

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 63 of file itkFixedArray.h.

template<typename TComponent, unsigned int NDimension = 3>
typedef ComponentType itk::SymmetricSecondRankTensor< TComponent, NDimension >::ComponentArrayType[itkGetStaticConstMacro(InternalDimension)]

Definition at line 117 of file itkSymmetricSecondRankTensor.h.

template<typename TComponent, unsigned int NDimension = 3>
typedef TComponent itk::SymmetricSecondRankTensor< TComponent, NDimension >::ComponentType

Define the component type.

Definition at line 99 of file itkSymmetricSecondRankTensor.h.

typedef const ValueType* itk::FixedArray< TComponent , VLength >::const_pointer
inherited

A const pointer to the ValueType.

Definition at line 121 of file itkFixedArray.h.

typedef const ValueType& itk::FixedArray< TComponent , VLength >::const_reference
inherited

A const reference to the ValueType.

Definition at line 127 of file itkFixedArray.h.

typedef const ValueType* itk::FixedArray< TComponent , VLength >::ConstIterator
inherited

A const iterator through the array.

Definition at line 69 of file itkFixedArray.h.

template<typename TComponent, unsigned int NDimension = 3>
typedef FixedArray< TComponent, NDimension > itk::SymmetricSecondRankTensor< TComponent, NDimension >::EigenValuesArrayType

Array of eigen-values.

Definition at line 92 of file itkSymmetricSecondRankTensor.h.

template<typename TComponent, unsigned int NDimension = 3>
typedef Matrix< TComponent, NDimension, NDimension > itk::SymmetricSecondRankTensor< TComponent, NDimension >::EigenVectorsMatrixType

Definition at line 96 of file itkSymmetricSecondRankTensor.h.

typedef ValueType* itk::FixedArray< TComponent , VLength >::Iterator
inherited

An iterator through the array.

Definition at line 66 of file itkFixedArray.h.

template<typename TComponent, unsigned int NDimension = 3>
typedef Matrix< TComponent, NDimension, NDimension > itk::SymmetricSecondRankTensor< TComponent, NDimension >::MatrixType

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 118 of file itkFixedArray.h.

template<typename TComponent, unsigned int NDimension = 3>
typedef NumericTraits< ValueType >::RealType itk::SymmetricSecondRankTensor< TComponent, NDimension >::RealValueType

Definition at line 102 of file itkSymmetricSecondRankTensor.h.

typedef ValueType& itk::FixedArray< TComponent , VLength >::reference
inherited

A reference to the ValueType.

Definition at line 124 of file itkFixedArray.h.

template<typename TComponent, unsigned int NDimension = 3>
typedef SymmetricSecondRankTensor itk::SymmetricSecondRankTensor< TComponent, NDimension >::Self

Standard class typedefs.

Definition at line 80 of file itkSymmetricSecondRankTensor.h.

typedef unsigned int itk::FixedArray< TComponent , VLength >::SizeType
inherited

Definition at line 129 of file itkFixedArray.h.

template<typename TComponent, unsigned int NDimension = 3>
typedef FixedArray< TComponent, NDimension *( NDimension + 1 ) / 2 > itk::SymmetricSecondRankTensor< TComponent, NDimension >::Superclass

Definition at line 81 of file itkSymmetricSecondRankTensor.h.

template<typename TComponent, unsigned int NDimension = 3>
typedef SymmetricEigenAnalysis< MatrixType, EigenValuesArrayType, EigenVectorsMatrixType > itk::SymmetricSecondRankTensor< TComponent, NDimension >::SymmetricEigenAnalysisType

Definition at line 105 of file itkSymmetricSecondRankTensor.h.

template<typename TComponent, unsigned int NDimension = 3>
typedef Superclass::ValueType itk::SymmetricSecondRankTensor< TComponent, NDimension >::ValueType

Definition at line 100 of file itkSymmetricSecondRankTensor.h.

Constructor & Destructor Documentation

template<typename TComponent, unsigned int NDimension = 3>
itk::SymmetricSecondRankTensor< TComponent, NDimension >::SymmetricSecondRankTensor ( )
inline

Default constructor has nothing to do.

Definition at line 108 of file itkSymmetricSecondRankTensor.h.

template<typename TComponent, unsigned int NDimension = 3>
itk::SymmetricSecondRankTensor< TComponent, NDimension >::SymmetricSecondRankTensor ( const ComponentType r)
inline

Definition at line 110 of file itkSymmetricSecondRankTensor.h.

template<typename TComponent, unsigned int NDimension = 3>
template<typename TCoordRepB >
itk::SymmetricSecondRankTensor< TComponent, NDimension >::SymmetricSecondRankTensor ( const SymmetricSecondRankTensor< TCoordRepB, NDimension > &  pa)
inline

Constructor to enable casting...

Definition at line 114 of file itkSymmetricSecondRankTensor.h.

template<typename TComponent, unsigned int NDimension = 3>
itk::SymmetricSecondRankTensor< TComponent, NDimension >::SymmetricSecondRankTensor ( const ComponentArrayType  r)
inline

Pass-through constructor for the Array base class.

Definition at line 120 of file itkSymmetricSecondRankTensor.h.

Member Function Documentation

Iterator itk::FixedArray< TComponent , VLength >::Begin ( void  )
inherited

Get various iterators to the array.

Get an Iterator for the beginning of the FixedArray.

Referenced by itk::DTITubeSpatialObjectPoint< TPointDimension >::SetTensorMatrix().

ConstIterator itk::FixedArray< TComponent , VLength >::Begin ( void  ) const
inherited

Get a ConstIterator for the beginning of the FixedArray.

template<typename T , unsigned int NDimension>
void itk::SymmetricSecondRankTensor< T, NDimension >::ComputeEigenAnalysis ( EigenValuesArrayType eigenValues,
EigenVectorsMatrixType eigenVectors 
) const

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

Compute Eigen analysis, it returns an array with eigen values and a Matrix with eigen vectors

Definition at line 296 of file itkSymmetricSecondRankTensor.hxx.

References itk::SymmetricEigenAnalysis< TMatrix, TVector, TEigenMatrix >::ComputeEigenValuesAndVectors().

Referenced by itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::PreservationOfPrincipalDirectionDiffusionTensor3DReorientation().

template<typename T , unsigned int NDimension>
void itk::SymmetricSecondRankTensor< T, NDimension >::ComputeEigenValues ( EigenValuesArrayType eigenValues) const

Return an array containing EigenValues.

Compute Eigen Values

Definition at line 272 of file itkSymmetricSecondRankTensor.hxx.

References itk::SymmetricEigenAnalysis< TMatrix, TVector, TEigenMatrix >::ComputeEigenValues().

Iterator itk::FixedArray< TComponent , VLength >::End ( void  )
inherited

Get an Iterator for the end of the FixedArray.

Referenced by itk::DTITubeSpatialObjectPoint< TPointDimension >::SetTensorMatrix().

ConstIterator itk::FixedArray< TComponent , VLength >::End ( void  ) const
inherited

Get a ConstIterator for the end of the FixedArray.

void itk::FixedArray< TComponent , VLength >::Fill ( const ValueType )
inherited
static FixedArray itk::FixedArray< TComponent , VLength >::Filled ( const ValueType )
staticinherited

Return an FixedArray with all elements assigned to the given value.

ValueType* itk::FixedArray< TComponent , VLength >::GetDataPointer ( )
inlineinherited

Return a pointer to the data.

Definition at line 220 of file itkFixedArray.h.

const ValueType* itk::FixedArray< TComponent , VLength >::GetDataPointer ( ) const
inlineinherited

Definition at line 225 of file itkFixedArray.h.

const_reference itk::FixedArray< TComponent , VLength >::GetElement ( unsigned short  index) const
inlineinherited

Definition at line 217 of file itkFixedArray.h.

template<typename TComponent, unsigned int NDimension = 3>
ComponentType itk::SymmetricSecondRankTensor< TComponent, NDimension >::GetNthComponent ( int  c) const
inline

Return the value for the Nth component.

Definition at line 161 of file itkSymmetricSecondRankTensor.h.

template<typename TComponent, unsigned int NDimension = 3>
static unsigned int itk::SymmetricSecondRankTensor< TComponent, NDimension >::GetNumberOfComponents ( )
inlinestatic

Return the number of components.

Definition at line 155 of file itkSymmetricSecondRankTensor.h.

Referenced by itk::operator>>().

template<typename T , unsigned int NDimension>
SymmetricSecondRankTensor< T, NDimension >::AccumulateValueType itk::SymmetricSecondRankTensor< T, NDimension >::GetTrace ( ) const

Get Trace value

Get the Trace

Definition at line 253 of file itkSymmetricSecondRankTensor.hxx.

bool itk::FixedArray< TComponent , VLength >::operator!= ( const FixedArray< TComponent, NDimension *(NDimension+1)/2 > &  r) const
inlineinherited

Definition at line 191 of file itkFixedArray.h.

template<typename T , unsigned int NDimension>
SymmetricSecondRankTensor< T, NDimension >::ValueType & itk::SymmetricSecondRankTensor< T, NDimension >::operator() ( unsigned int  row,
unsigned int  col 
)

Matrix notation, in const and non-const forms.

Matrix notation access to elements

Definition at line 210 of file itkSymmetricSecondRankTensor.hxx.

template<typename T , unsigned int NDimension>
const SymmetricSecondRankTensor< T, NDimension >::ValueType & itk::SymmetricSecondRankTensor< T, NDimension >::operator() ( unsigned int  row,
unsigned int  col 
) const

Matrix notation access to elements

Definition at line 183 of file itkSymmetricSecondRankTensor.hxx.

template<typename T , unsigned int NDimension>
SymmetricSecondRankTensor< T, NDimension > itk::SymmetricSecondRankTensor< T, NDimension >::operator* ( const RealValueType r) const

Arithmetic operations between tensors and scalars

Performs multiplication with a scalar

Definition at line 149 of file itkSymmetricSecondRankTensor.hxx.

template<typename T , unsigned int NDimension>
const SymmetricSecondRankTensor< T, NDimension > & itk::SymmetricSecondRankTensor< T, NDimension >::operator*= ( const RealValueType r)

Performs multiplication by a scalar, in place

Definition at line 119 of file itkSymmetricSecondRankTensor.hxx.

template<typename T , unsigned int NDimension>
SymmetricSecondRankTensor< T, NDimension > itk::SymmetricSecondRankTensor< T, NDimension >::operator+ ( const Self r) const

Aritmetic operations between pixels. Return a new SymmetricSecondRankTensor.

Returns a temporary copy of a vector

Definition at line 55 of file itkSymmetricSecondRankTensor.hxx.

template<typename T , unsigned int NDimension>
const SymmetricSecondRankTensor< T, NDimension > & itk::SymmetricSecondRankTensor< T, NDimension >::operator+= ( const Self r)

Performs addition in place

Definition at line 89 of file itkSymmetricSecondRankTensor.hxx.

template<typename T , unsigned int NDimension>
SymmetricSecondRankTensor< T, NDimension > itk::SymmetricSecondRankTensor< T, NDimension >::operator- ( const Self r) const

Returns a temporary copy of a vector

Definition at line 72 of file itkSymmetricSecondRankTensor.hxx.

template<typename T , unsigned int NDimension>
const SymmetricSecondRankTensor< T, NDimension > & itk::SymmetricSecondRankTensor< T, NDimension >::operator-= ( const Self r)

Performs subtraction in place

Definition at line 104 of file itkSymmetricSecondRankTensor.hxx.

template<typename T , unsigned int NDimension>
SymmetricSecondRankTensor< T, NDimension > itk::SymmetricSecondRankTensor< T, NDimension >::operator/ ( const RealValueType r) const

Performs division by a scalar

Definition at line 166 of file itkSymmetricSecondRankTensor.hxx.

template<typename T , unsigned int NDimension>
const SymmetricSecondRankTensor< T, NDimension > & itk::SymmetricSecondRankTensor< T, NDimension >::operator/= ( const RealValueType r)

Performs division by a scalar, in place

Definition at line 134 of file itkSymmetricSecondRankTensor.hxx.

template<typename TComponent, unsigned int NDimension = 3>
template<typename TCoordRepB >
Self& itk::SymmetricSecondRankTensor< TComponent, NDimension >::operator= ( const SymmetricSecondRankTensor< TCoordRepB, NDimension > &  pa)
inline

Templated Pass-through assignment for the Array base class.

Definition at line 124 of file itkSymmetricSecondRankTensor.h.

Referenced by itk::DiffusionTensor3D< TComponent >::operator=().

template<typename T , unsigned int NDimension>
SymmetricSecondRankTensor< T, NDimension > & itk::SymmetricSecondRankTensor< T, NDimension >::operator= ( const ComponentType r)

Pass-through assignment operator for the Array base class.

Assignment Operator from a scalar constant

Definition at line 31 of file itkSymmetricSecondRankTensor.hxx.

template<typename T , unsigned int NDimension>
SymmetricSecondRankTensor< T, NDimension > & itk::SymmetricSecondRankTensor< T, NDimension >::operator= ( const ComponentArrayType  r)

Assigment from a plain array

Definition at line 43 of file itkSymmetricSecondRankTensor.hxx.

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.

Operator != compares different types of arrays.

reference itk::FixedArray< TComponent , VLength >::operator[] ( short  index)
inlineinherited

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 197 of file itkFixedArray.h.

Referenced by itk::SymmetricSecondRankTensor< TComponent, 3 >::GetNthComponent(), and itk::SymmetricSecondRankTensor< TComponent, 3 >::SetNthComponent().

const_reference itk::FixedArray< TComponent , VLength >::operator[] ( short  index) const
inlineinherited

Definition at line 198 of file itkFixedArray.h.

reference itk::FixedArray< TComponent , VLength >::operator[] ( unsigned short  index)
inlineinherited

Definition at line 199 of file itkFixedArray.h.

const_reference itk::FixedArray< TComponent , VLength >::operator[] ( unsigned short  index) const
inlineinherited

Definition at line 200 of file itkFixedArray.h.

reference itk::FixedArray< TComponent , VLength >::operator[] ( int  index)
inlineinherited

Definition at line 201 of file itkFixedArray.h.

const_reference itk::FixedArray< TComponent , VLength >::operator[] ( int  index) const
inlineinherited

Definition at line 202 of file itkFixedArray.h.

reference itk::FixedArray< TComponent , VLength >::operator[] ( unsigned int  index)
inlineinherited

Definition at line 203 of file itkFixedArray.h.

const_reference itk::FixedArray< TComponent , VLength >::operator[] ( unsigned int  index) const
inlineinherited

Definition at line 204 of file itkFixedArray.h.

reference itk::FixedArray< TComponent , VLength >::operator[] ( long  index)
inlineinherited

Definition at line 205 of file itkFixedArray.h.

const_reference itk::FixedArray< TComponent , VLength >::operator[] ( long  index) const
inlineinherited

Definition at line 206 of file itkFixedArray.h.

reference itk::FixedArray< TComponent , VLength >::operator[] ( unsigned long  index)
inlineinherited

Definition at line 207 of file itkFixedArray.h.

const_reference itk::FixedArray< TComponent , VLength >::operator[] ( unsigned long  index) const
inlineinherited

Definition at line 208 of file itkFixedArray.h.

reference itk::FixedArray< TComponent , VLength >::operator[] ( long long  index)
inlineinherited

Definition at line 209 of file itkFixedArray.h.

const_reference itk::FixedArray< TComponent , VLength >::operator[] ( long long  index) const
inlineinherited

Definition at line 210 of file itkFixedArray.h.

reference itk::FixedArray< TComponent , VLength >::operator[] ( unsigned long long  index)
inlineinherited

Definition at line 211 of file itkFixedArray.h.

const_reference itk::FixedArray< TComponent , VLength >::operator[] ( unsigned long long  index) const
inlineinherited

Definition at line 212 of file itkFixedArray.h.

template<typename T , unsigned int NDimension>
SymmetricSecondRankTensor< T, NDimension >::MatrixType itk::SymmetricSecondRankTensor< T, NDimension >::PostMultiply ( const MatrixType m) const

Post-Multiply by a Matrix as ResultingMatrix = ThisTensor * Matrix.

Post-multiply the Tensor by a Matrix

Definition at line 389 of file itkSymmetricSecondRankTensor.hxx.

References itk::NumericTraits< T >::ZeroValue().

template<typename T , unsigned int NDimension>
SymmetricSecondRankTensor< T, NDimension >::MatrixType itk::SymmetricSecondRankTensor< T, NDimension >::PreMultiply ( const MatrixType m) const

Pre-Multiply by a Matrix as ResultingMatrix = Matrix * ThisTensor.

Pre-multiply the Tensor by a Matrix

Definition at line 363 of file itkSymmetricSecondRankTensor.hxx.

References itk::NumericTraits< T >::ZeroValue().

ReverseIterator itk::FixedArray< TComponent , VLength >::rBegin ( )
inherited

Get a begin ReverseIterator.

ConstReverseIterator itk::FixedArray< TComponent , VLength >::rBegin ( ) const
inherited

Get a begin ConstReverseIterator.

ReverseIterator itk::FixedArray< TComponent , VLength >::rEnd ( )
inherited

Get an end ReverseIterator.

ConstReverseIterator itk::FixedArray< TComponent , VLength >::rEnd ( ) const
inherited

Get an end ConstReverseIterator.

template<typename TComponent, unsigned int NDimension = 3>
template<typename TMatrixValueType >
Self itk::SymmetricSecondRankTensor< TComponent, NDimension >::Rotate ( const Matrix< TMatrixValueType, NDimension, NDimension > &  m) const

Returns the tensor rotated by the provided matrix. ResultingTensor = Matrix * ThisTensor * Matrix.GetTranspose()

Referenced by itk::SymmetricSecondRankTensor< TComponent, 3 >::Rotate().

template<typename TComponent, unsigned int NDimension = 3>
template<typename TMatrixValueType >
Self itk::SymmetricSecondRankTensor< TComponent, NDimension >::Rotate ( const vnl_matrix_fixed< TMatrixValueType, NDimension, NDimension > &  m) const
inline

Definition at line 192 of file itkSymmetricSecondRankTensor.h.

template<typename TComponent, unsigned int NDimension = 3>
template<typename TMatrixValueType >
Self itk::SymmetricSecondRankTensor< TComponent, NDimension >::Rotate ( const vnl_matrix< TMatrixValueType > &  m) const
inline

Definition at line 197 of file itkSymmetricSecondRankTensor.h.

template<typename TComponent, unsigned int NDimension = 3>
template<typename TMatrixValueType >
SymmetricSecondRankTensor<T,NDimension> itk::SymmetricSecondRankTensor< TComponent, NDimension >::Rotate ( const Matrix< TMatrixValueType, NDimension, NDimension > &  m) const

Set the Tensor to a Rotated version of the current tensor. matrix * self * Transpose(matrix)

Definition at line 324 of file itkSymmetricSecondRankTensor.hxx.

void itk::FixedArray< TComponent , VLength >::SetElement ( unsigned short  index,
const_reference  value 
)
inlineinherited

Set/Get element methods are more convenient in wrapping languages

Definition at line 215 of file itkFixedArray.h.

template<typename T , unsigned int NDimension>
void itk::SymmetricSecondRankTensor< T, NDimension >::SetIdentity ( void  )

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

Set the Tensor to an Identity. Set ones in the diagonal and zeroes every where else.

Definition at line 238 of file itkSymmetricSecondRankTensor.hxx.

template<typename TComponent, unsigned int NDimension = 3>
void itk::SymmetricSecondRankTensor< TComponent, NDimension >::SetNthComponent ( int  c,
const ComponentType v 
)
inline

Set the Nth component to v.

Definition at line 164 of file itkSymmetricSecondRankTensor.h.

SizeType itk::FixedArray< TComponent , VLength >::Size ( void  ) const
inherited

Get the size of the FixedArray.

Member Data Documentation

template<typename TComponent, unsigned int NDimension = 3>
const unsigned int itk::SymmetricSecondRankTensor< TComponent, NDimension >::Dimension = NDimension
static

Dimension of the vector space.

Definition at line 84 of file itkSymmetricSecondRankTensor.h.

template<typename TComponent, unsigned int NDimension = 3>
const unsigned int itk::SymmetricSecondRankTensor< TComponent, NDimension >::InternalDimension = ( NDimension * ( NDimension + 1 ) / 2 )
static
const unsigned int itk::FixedArray< TComponent , VLength >::Length
staticinherited

Length constant

Definition at line 54 of file itkFixedArray.h.


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

Generated at Sat Mar 8 2014 17:51:21 for Orfeo Toolbox with doxygen 1.8.3.1