18 #ifndef __itkNumericTraitsTensorPixel_h
19 #define __itkNumericTraitsTensorPixel_h
43 template<
typename T,
unsigned int D >
144 if ( s != D *( D + 1 ) / 2 )
146 itkGenericExceptionMacro(<<
"Cannot set the size of a SymmetricSecondRankTensor "
147 "of dimension " << D <<
" ( = size of "
148 << D *( D + 1 ) / 2 <<
") to " << s);
163 return D *( D + 1 ) / 2;
171 template<
typename TArray>
174 for(
unsigned int i=0; i<
GetLength(); i++ )
188 #endif // __itkNumericTraitsTensorPixel_h
SymmetricSecondRankTensor< ElementPrintType, D > PrintType
NumericTraits< T >::RealType ElementRealType
Represent a symmetric tensor of second rank.
static void SetLength(SymmetricSecondRankTensor< T, D > &m, const unsigned int s)
static unsigned int GetLength()
SymmetricSecondRankTensor< T, D > Self
NumericTraits< T >::AbsType ElementAbsType
static const Self ITKCommon_EXPORT Zero
void Fill(const ValueType &)
SymmetricSecondRankTensor< ElementAbsType, D > AbsType
Self MeasurementVectorType
static const Self NonpositiveMin(const Self &)
static const Self min(const Self &)
static const Self NonpositiveMin()
NumericTraits< T >::PrintType ElementPrintType
static unsigned int GetLength()
static const Self OneValue(const Self &)
static unsigned int GetLength(const SymmetricSecondRankTensor< T, D > &)
static const Self OneValue()
SymmetricSecondRankTensor< ElementAccumulateType, D > AccumulateType
SymmetricSecondRankTensor< ElementFloatType, D > FloatType
NumericTraits< T >::AccumulateType ElementAccumulateType
static void AssignToArray(const Self &v, TArray &mv)
NumericTraits< T >::FloatType ElementFloatType
ElementRealType ScalarRealType
SymmetricSecondRankTensor< ElementRealType, D > RealType
static T NonpositiveMin()
Define additional traits for native types such as int or float.
static const Self ZeroValue(const Self &)
static const Self max(const Self &)
static const Self ZeroValue()
static void AssignToArray(const Self &v, MeasurementVectorType &mv)
static const Self ITKCommon_EXPORT One