|
ITK
5.2.0
Insight Toolkit
|
Go to the documentation of this file.
18 #ifndef itkSymmetricSecondRankTensor_h
19 #define itkSymmetricSecondRankTensor_h
22 #ifdef SymmetricSecondRankTensor
23 # undef SymmetricSecondRankTensor
74 template <
typename TComponent,
unsigned int NDimension = 3>
83 static constexpr
unsigned int Dimension = NDimension;
84 static constexpr
unsigned int InternalDimension = NDimension * (NDimension + 1) / 2;
119 template <
typename TCoordRepB>
132 template <
typename TCoordRepB>
136 BaseArray::operator=(pa);
143 operator=(
const ComponentType & r);
146 operator=(
const ComponentArrayType r);
157 operator+=(
const Self & r);
160 operator-=(
const Self & r);
163 Self
operator*(
const RealValueType & r)
const;
166 operator/(
const RealValueType & r)
const;
169 operator*=(
const RealValueType & r);
172 operator/=(
const RealValueType & r);
178 return Self::InternalDimension;
185 return this->operator[](c);
192 this->operator[](c) = v;
197 operator()(
unsigned int row,
unsigned int col);
200 operator()(
unsigned int row,
unsigned int col)
const;
213 ComputeEigenValues(EigenValuesArrayType & eigenValues)
const;
218 ComputeEigenAnalysis(EigenValuesArrayType & eigenValues, EigenVectorsMatrixType & eigenVectors)
const;
223 template <
typename TMatrixValueType>
226 template <
typename TMatrixValueType>
228 Rotate(
const vnl_matrix_fixed<TMatrixValueType, NDimension, NDimension> & m)
const
232 template <
typename TMatrixValueType>
234 Rotate(
const vnl_matrix<TMatrixValueType> & m)
const
242 PreMultiply(
const MatrixType & m)
const;
246 PostMultiply(
const MatrixType & m)
const;
256 template <
typename TComponent,
unsigned int NDimension>
260 template <
typename TComponent,
unsigned int NDimension>
264 template <
typename T>
274 #ifndef ITK_MANUAL_INSTANTIATION
275 # include "itkSymmetricSecondRankTensor.hxx"
ComponentType[Self::InternalDimension] ComponentArrayType
Self & operator=(const SymmetricSecondRankTensor< TCoordRepB, NDimension > &pa)
std::ostream OutputStreamType
std::ostream & operator<<(std::ostream &os, const Array< TValue > &arr)
typename NumericTraits< ValueType >::RealType AccumulateValueType
SymmetricSecondRankTensor(const ComponentArrayType r)
SymmetricSecondRankTensor(const SymmetricSecondRankTensor< TCoordRepB, NDimension > &pa)
void swap(Array< T > &a, Array< T > &b)
ConstNeighborhoodIterator< TImage > operator-(const ConstNeighborhoodIterator< TImage > &it, const typename ConstNeighborhoodIterator< TImage >::OffsetType &ind)
SymmetricSecondRankTensor()
static unsigned int GetNumberOfComponents()
SymmetricSecondRankTensor(const ComponentType &r)
Represent a symmetric tensor of second rank.
void SetNthComponent(int c, const ComponentType &v)
std::istream & operator>>(std::istream &is, Point< T, NPointDimension > &vct)
Self Rotate(const vnl_matrix< TMatrixValueType > &m) const
Self Rotate(const vnl_matrix_fixed< TMatrixValueType, NDimension, NDimension > &m) const
Simulate a standard C array with copy semantics.
A templated class holding a M x N size Matrix.
CovariantVector< T, NVectorDimension > operator*(const T &scalar, const CovariantVector< T, NVectorDimension > &v)
ComponentType GetNthComponent(int c) const
typename NumericTraits< ValueType >::RealType RealValueType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
std::istream InputStreamType
void swap(FixedArray &other)
ConstNeighborhoodIterator< TImage > operator+(const ConstNeighborhoodIterator< TImage > &it, const typename ConstNeighborhoodIterator< TImage >::OffsetType &ind)
constexpr unsigned int Dimension