ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itk::NumericTraits< FixedArray< T, D > > Class Template Reference

#include <itkNumericTraitsFixedArrayPixel.h>

Detailed Description

template<typename T, unsigned int D>
class itk::NumericTraits< FixedArray< T, D > >

Define numeric traits for FixedArray.

Template Parameters
TComponent type of the FixedArray
DDimension of the FixedArray

We provide here a generic implementation based on creating types of FixedArray whose components are the types of the NumericTraits from the original FixedArray components. This implementation require support for partial specializations, since it is based on the concept that: NumericTraits<FixedArray< T, D > > is defined piecewise by FixedArray< NumericTraits< T > >

See also
NumericTraits

Definition at line 44 of file itkNumericTraitsFixedArrayPixel.h.

+ Inheritance diagram for itk::NumericTraits< FixedArray< T, D > >:
+ Collaboration diagram for itk::NumericTraits< FixedArray< T, D > >:

Public Types

using AbsType
 
using AbsType = FixedArray<ElementAbsType, D>
 
using AccumulateType
 
using AccumulateType = FixedArray<ElementAccumulateType, D>
 
using FloatType
 
using FloatType = FixedArray<ElementFloatType, D>
 
using MeasurementVectorType
 
using MeasurementVectorType = Self
 
using PrintType
 
using PrintType = FixedArray<ElementPrintType, D>
 
using RealType
 
using RealType = FixedArray<ElementRealType, D>
 
using ScalarRealType
 
using ScalarRealType = ElementRealType
 
using Self = FixedArray<T, D>
 
using TraitsType
 
using ValueType
 
using ValueType = T
 

Static Public Member Functions

static void AssignToArray (const Self &v, MeasurementVectorType &mv)
 
template<typename TArray>
static void AssignToArray (const Self &v, TArray &mv)
 
static void AssignToArray (const T &v, TArray &mv)
 
static unsigned int GetLength ()
 
static unsigned int GetLength ()
 
static unsigned int GetLength (const FixedArray< T, D > &)
 
static unsigned int GetLength (const T &)
 
static bool IsNegative (T val)
 
static bool IsNonnegative (T val)
 
static bool IsNonpositive (T val)
 
static bool IsPositive (T val)
 
static const Self max ()
 
static const Self max (const Self &)
 
static constexpr T max (const T &)
 
static const Self min ()
 
static const Self min (const Self &)
 
static constexpr T min (const T &)
 
static constexpr T NonpositiveMin ()
 
static const Self NonpositiveMin ()
 
static const Self NonpositiveMin (const Self &)
 
static T NonpositiveMin (const T &)
 
static T OneValue ()
 
static const Self OneValue ()
 
static const Self OneValue (const Self &)
 
static T OneValue (const T &)
 
static void SetLength (T &m, const unsigned int s)
 
static T ZeroValue ()
 
static const Self ZeroValue ()
 
static const Self ZeroValue (const Self &)
 
static T ZeroValue (const T &)
 
static void SetLength (FixedArray< T, D > &m, const unsigned int s)
 

Static Public Attributes

static constexpr bool IsComplex
 
static constexpr bool IsInteger
 
static constexpr bool IsSigned
 
static const T ITKCommon_EXPORT One
 
static const Self ITKCommon_EXPORT One
 
static const T ITKCommon_EXPORT Zero
 
static const Self ITKCommon_EXPORT Zero
 

Private Types

using ElementAbsType = typename NumericTraits<T>::AbsType
 
using ElementAccumulateType = typename NumericTraits<T>::AccumulateType
 
using ElementFloatType = typename NumericTraits<T>::FloatType
 
using ElementPrintType = typename NumericTraits<T>::PrintType
 
using ElementRealType = typename NumericTraits<T>::RealType
 

Member Typedef Documentation

◆ AbsType [1/2]

using itk::NumericTraits< T >::AbsType

Return value of itk::Math::abs().

Definition at line 73 of file itkNumericTraits.h.

◆ AbsType [2/2]

template<typename T, unsigned int D>
using itk::NumericTraits< FixedArray< T, D > >::AbsType = FixedArray<ElementAbsType, D>

Unsigned component type

Definition at line 60 of file itkNumericTraitsFixedArrayPixel.h.

◆ AccumulateType [1/2]

using itk::NumericTraits< T >::AccumulateType

Accumulation of addition and multiplication.

Definition at line 76 of file itkNumericTraits.h.

◆ AccumulateType [2/2]

template<typename T, unsigned int D>
using itk::NumericTraits< FixedArray< T, D > >::AccumulateType = FixedArray<ElementAccumulateType, D>

Accumulation of addition and multiplication.

Definition at line 63 of file itkNumericTraitsFixedArrayPixel.h.

◆ ElementAbsType

template<typename T, unsigned int D>
using itk::NumericTraits< FixedArray< T, D > >::ElementAbsType = typename NumericTraits<T>::AbsType
private

Definition at line 47 of file itkNumericTraitsFixedArrayPixel.h.

◆ ElementAccumulateType

template<typename T, unsigned int D>
using itk::NumericTraits< FixedArray< T, D > >::ElementAccumulateType = typename NumericTraits<T>::AccumulateType
private

Definition at line 48 of file itkNumericTraitsFixedArrayPixel.h.

◆ ElementFloatType

template<typename T, unsigned int D>
using itk::NumericTraits< FixedArray< T, D > >::ElementFloatType = typename NumericTraits<T>::FloatType
private

Definition at line 49 of file itkNumericTraitsFixedArrayPixel.h.

◆ ElementPrintType

template<typename T, unsigned int D>
using itk::NumericTraits< FixedArray< T, D > >::ElementPrintType = typename NumericTraits<T>::PrintType
private

Definition at line 50 of file itkNumericTraitsFixedArrayPixel.h.

◆ ElementRealType

template<typename T, unsigned int D>
using itk::NumericTraits< FixedArray< T, D > >::ElementRealType = typename NumericTraits<T>::RealType
private

Definition at line 51 of file itkNumericTraitsFixedArrayPixel.h.

◆ FloatType [1/2]

using itk::NumericTraits< T >::FloatType

Typedef for operations that use floating point instead of real precision to save memory

Definition at line 83 of file itkNumericTraits.h.

◆ FloatType [2/2]

template<typename T, unsigned int D>
using itk::NumericTraits< FixedArray< T, D > >::FloatType = FixedArray<ElementFloatType, D>

Typedef for operations that use floating point instead of real precision

Definition at line 67 of file itkNumericTraitsFixedArrayPixel.h.

◆ MeasurementVectorType [1/2]

using itk::NumericTraits< T >::MeasurementVectorType

Measurement vector type

Definition at line 79 of file itkNumericTraits.h.

◆ MeasurementVectorType [2/2]

template<typename T, unsigned int D>
using itk::NumericTraits< FixedArray< T, D > >::MeasurementVectorType = Self

Measurement vector type

Definition at line 79 of file itkNumericTraitsFixedArrayPixel.h.

◆ PrintType [1/2]

using itk::NumericTraits< T >::PrintType

Return the type that can be printed.

Definition at line 70 of file itkNumericTraits.h.

◆ PrintType [2/2]

template<typename T, unsigned int D>
using itk::NumericTraits< FixedArray< T, D > >::PrintType = FixedArray<ElementPrintType, D>

Return the type that can be printed.

Definition at line 70 of file itkNumericTraitsFixedArrayPixel.h.

◆ RealType [1/2]

using itk::NumericTraits< T >::RealType

Type for real-valued scalar operations.

Definition at line 86 of file itkNumericTraits.h.

◆ RealType [2/2]

template<typename T, unsigned int D>
using itk::NumericTraits< FixedArray< T, D > >::RealType = FixedArray<ElementRealType, D>

Type for real-valued scalar operations.

Definition at line 73 of file itkNumericTraitsFixedArrayPixel.h.

◆ ScalarRealType [1/2]

using itk::NumericTraits< T >::ScalarRealType

Type for real-valued scalar operations.

Definition at line 89 of file itkNumericTraits.h.

◆ ScalarRealType [2/2]

template<typename T, unsigned int D>
using itk::NumericTraits< FixedArray< T, D > >::ScalarRealType = ElementRealType

Type for real-valued scalar operations.

Definition at line 76 of file itkNumericTraitsFixedArrayPixel.h.

◆ Self

template<typename T, unsigned int D>
using itk::NumericTraits< FixedArray< T, D > >::Self = FixedArray<T, D>

Definition at line 57 of file itkNumericTraitsFixedArrayPixel.h.

◆ TraitsType

using itk::NumericTraits< T >::TraitsType

The type of this limits trait object.

Definition at line 64 of file itkNumericTraits.h.

◆ ValueType [1/2]

using itk::NumericTraits< T >::ValueType

Return the type of this native type.

Definition at line 67 of file itkNumericTraits.h.

◆ ValueType [2/2]

template<typename T, unsigned int D>
using itk::NumericTraits< FixedArray< T, D > >::ValueType = T

Return the type of the native component type.

Definition at line 55 of file itkNumericTraitsFixedArrayPixel.h.

Member Function Documentation

◆ AssignToArray() [1/3]

template<typename T, unsigned int D>
static void itk::NumericTraits< FixedArray< T, D > >::AssignToArray ( const Self & v,
MeasurementVectorType & mv )
inlinestatic

Definition at line 175 of file itkNumericTraitsFixedArrayPixel.h.

◆ AssignToArray() [2/3]

template<typename T, unsigned int D>
template<typename TArray>
static void itk::NumericTraits< FixedArray< T, D > >::AssignToArray ( const Self & v,
TArray & mv )
inlinestatic

Definition at line 182 of file itkNumericTraitsFixedArrayPixel.h.

◆ AssignToArray() [3/3]

static void itk::NumericTraits< T >::AssignToArray ( const T & v,
TArray & mv )
inlinestatic

assign the value to an array

Definition at line 245 of file itkNumericTraits.h.

◆ GetLength() [1/4]

static unsigned int itk::NumericTraits< T >::GetLength ( )
inlinestatic

Return the length of the scalar: 1. Array types can return a different value

Definition at line 210 of file itkNumericTraits.h.

◆ GetLength() [2/4]

template<typename T, unsigned int D>
static unsigned int itk::NumericTraits< FixedArray< T, D > >::GetLength ( )
inlinestatic

Return the length of the array.

Definition at line 169 of file itkNumericTraitsFixedArrayPixel.h.

◆ GetLength() [3/4]

template<typename T, unsigned int D>
static unsigned int itk::NumericTraits< FixedArray< T, D > >::GetLength ( const FixedArray< T, D > & )
inlinestatic

Return the length of the array.

Definition at line 162 of file itkNumericTraitsFixedArrayPixel.h.

◆ GetLength() [4/4]

static unsigned int itk::NumericTraits< T >::GetLength ( const T & )
inlinestatic

Return the length of the scalar. This API is needed for VariableLengthVector because its length is only known at run-time. Specializations of the VariableLengthVector will provide a different implementation where a vector of the correct size is built.

Definition at line 203 of file itkNumericTraits.h.

◆ IsNegative()

static bool itk::NumericTraits< T >::IsNegative ( T val)
inlinestatic

Is a given value negative?

Definition at line 120 of file itkNumericTraits.h.

◆ IsNonnegative()

static bool itk::NumericTraits< T >::IsNonnegative ( T val)
inlinestatic

Is a given value nonnegative?

Definition at line 127 of file itkNumericTraits.h.

◆ IsNonpositive()

static bool itk::NumericTraits< T >::IsNonpositive ( T val)
inlinestatic

Is a given value nonpositive?

Definition at line 113 of file itkNumericTraits.h.

◆ IsPositive()

static bool itk::NumericTraits< T >::IsPositive ( T val)
inlinestatic

Is a given value positive?

Definition at line 106 of file itkNumericTraits.h.

◆ max() [1/3]

template<typename T, unsigned int D>
static const Self itk::NumericTraits< FixedArray< T, D > >::max ( )
inlinestatic

◆ max() [2/3]

template<typename T, unsigned int D>
static const Self itk::NumericTraits< FixedArray< T, D > >::max ( const Self & )
inlinestatic

Component wise defined element

Note
minimum value for floating pointer types is defined as minimum positive normalize value.

Definition at line 87 of file itkNumericTraitsFixedArrayPixel.h.

References itk::MakeFilled(), and itk::NumericTraits< T >::max().

◆ max() [3/3]

static constexpr T itk::NumericTraits< T >::max ( const T & )
inlinestaticconstexpr

Definition at line 169 of file itkNumericTraits.h.

◆ min() [1/3]

template<typename T, unsigned int D>
static const Self itk::NumericTraits< FixedArray< T, D > >::min ( )
inlinestatic

◆ min() [2/3]

template<typename T, unsigned int D>
static const Self itk::NumericTraits< FixedArray< T, D > >::min ( const Self & )
inlinestatic

◆ min() [3/3]

static constexpr T itk::NumericTraits< T >::min ( const T & )
inlinestaticconstexpr

Definition at line 174 of file itkNumericTraits.h.

◆ NonpositiveMin() [1/4]

static constexpr T itk::NumericTraits< T >::NonpositiveMin ( )
inlinestaticconstexpr

Smallest (most nonpositive) value

Definition at line 99 of file itkNumericTraits.h.

◆ NonpositiveMin() [2/4]

template<typename T, unsigned int D>
static const Self itk::NumericTraits< FixedArray< T, D > >::NonpositiveMin ( )
inlinestatic

◆ NonpositiveMin() [3/4]

template<typename T, unsigned int D>
static const Self itk::NumericTraits< FixedArray< T, D > >::NonpositiveMin ( const Self & )
inlinestatic

◆ NonpositiveMin() [4/4]

static T itk::NumericTraits< T >::NonpositiveMin ( const T & )
inlinestatic

Smallest (most nonpositive) value. This API is needed for VariableLengthVector because its length is only known at run-time.

Definition at line 219 of file itkNumericTraits.h.

◆ OneValue() [1/4]

static T itk::NumericTraits< T >::OneValue ( )
inlinestatic

Return one value. This function should be used to support RGBPixel type and standard types (not vectors)

Definition at line 158 of file itkNumericTraits.h.

◆ OneValue() [2/4]

template<typename T, unsigned int D>
static const Self itk::NumericTraits< FixedArray< T, D > >::OneValue ( )
inlinestatic

◆ OneValue() [3/4]

template<typename T, unsigned int D>
static const Self itk::NumericTraits< FixedArray< T, D > >::OneValue ( const Self & )
inlinestatic

◆ OneValue() [4/4]

static T itk::NumericTraits< T >::OneValue ( const T & )
inlinestatic

One value. This API is needed for VariableLengthVector because its length is only known at run-time.

Definition at line 237 of file itkNumericTraits.h.

◆ SetLength() [1/2]

template<typename T, unsigned int D>
static void itk::NumericTraits< FixedArray< T, D > >::SetLength ( FixedArray< T, D > & m,
const unsigned int s )
inlinestatic

Fixed length vectors cannot be resized, so an exception will be thrown if the input size is not valid. If the size is valid the vector will be filled with zeros.

Definition at line 150 of file itkNumericTraitsFixedArrayPixel.h.

References itk::FixedArray< TValue, VLength >::Fill().

◆ SetLength() [2/2]

static void itk::NumericTraits< T >::SetLength ( T & m,
const unsigned int s )
inlinestatic

Scalars cannot be resized, so an exception will be thrown if the input size is not 1. If the size is valid the will be zeros. This API is needed for VariableLengthVector because its length is only known at run-time. Specializations of the VariableLengthVector will provide a different implementation where a vector of the correct size is built.

Definition at line 187 of file itkNumericTraits.h.

◆ ZeroValue() [1/4]

static T itk::NumericTraits< T >::ZeroValue ( )
inlinestatic

Return zero value. This function should be used to support RGBPixel type and standard types (not vectors)

Definition at line 150 of file itkNumericTraits.h.

◆ ZeroValue() [2/4]

template<typename T, unsigned int D>
static const Self itk::NumericTraits< FixedArray< T, D > >::ZeroValue ( )
inlinestatic

Definition at line 117 of file itkNumericTraitsFixedArrayPixel.h.

◆ ZeroValue() [3/4]

template<typename T, unsigned int D>
static const Self itk::NumericTraits< FixedArray< T, D > >::ZeroValue ( const Self & )
inlinestatic

◆ ZeroValue() [4/4]

static T itk::NumericTraits< T >::ZeroValue ( const T & )
inlinestatic

Zero value. This API is needed for VariableLengthVector because its length is only known at run-time.

Definition at line 228 of file itkNumericTraits.h.

Member Data Documentation

◆ IsComplex

bool itk::NumericTraits< T >::IsComplex
staticconstexpr

Is a given type complex? – default is no. For uniform array data types in ITK, the value of IsComplex is determined by the component elements of the array.

Definition at line 145 of file itkNumericTraits.h.

◆ IsInteger

bool itk::NumericTraits< T >::IsInteger
staticconstexpr

Is a given type an integer? – default is no. For uniform array data types in ITK, the value of IsInteger is determined by the component elements of the array.

Definition at line 140 of file itkNumericTraits.h.

◆ IsSigned

bool itk::NumericTraits< T >::IsSigned
staticconstexpr

Is a given type signed? – default is no. For uniform array data types in ITK, the value of IsSigned is determined by the component elements of the array.

Definition at line 135 of file itkNumericTraits.h.

◆ One [1/2]

const T ITKCommon_EXPORT itk::NumericTraits< T >::One
static

Multiplicative identity.

Definition at line 95 of file itkNumericTraits.h.

◆ One [2/2]

template<typename T, unsigned int D>
const Self ITKCommon_EXPORT itk::NumericTraits< FixedArray< T, D > >::One
static

Definition at line 194 of file itkNumericTraitsFixedArrayPixel.h.

◆ Zero [1/2]

const T ITKCommon_EXPORT itk::NumericTraits< T >::Zero
static

Additive identity.

Definition at line 92 of file itkNumericTraits.h.

◆ Zero [2/2]

template<typename T, unsigned int D>
const Self ITKCommon_EXPORT itk::NumericTraits< FixedArray< T, D > >::Zero
static
Note
: the functions are preferred over the member variables as they are defined for all partial specialization

Definition at line 193 of file itkNumericTraitsFixedArrayPixel.h.


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