ITK  5.4.0
Insight Toolkit
Public Types | Static Public Member Functions | Static Public Attributes | Private Types | List of all members
itk::NumericTraits< RGBPixel< T > > Class Template Reference

#include <itkNumericTraitsRGBPixel.h>

Detailed Description

template<typename T>
class itk::NumericTraits< RGBPixel< T > >

Define numeric traits for RGBPixel.

Template Parameters
TComponent type of RGBPixel

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

See also
NumericTraits

Definition at line 43 of file itkNumericTraitsRGBPixel.h.

+ Collaboration diagram for itk::NumericTraits< RGBPixel< T > >:

Public Types

using AbsType = RGBPixel< ElementAbsType >
 
using AccumulateType = RGBPixel< ElementAccumulateType >
 
using FloatType = RGBPixel< ElementFloatType >
 
using MeasurementVectorType = Self
 
using PrintType = RGBPixel< ElementPrintType >
 
using RealType = RGBPixel< ElementRealType >
 
using ScalarRealType = ElementRealType
 
using Self = RGBPixel< T >
 
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 unsigned int GetLength ()
 
static unsigned int GetLength (const RGBPixel< T > &)
 
static bool IsNegative (Self val)
 
static bool IsNonnegative (Self val)
 
static bool IsNonpositive (Self val)
 
static bool IsPositive (Self val)
 
static const Self max ()
 
static const Self max (const Self &)
 
static const Self min ()
 
static const Self min (const Self &)
 
static const Self NonpositiveMin ()
 
static const Self NonpositiveMin (const Self &)
 
static const Self OneValue ()
 
static const Self OneValue (const Self &)
 
static const Self ZeroValue ()
 
static const Self ZeroValue (const Self &)
 
static void SetLength (RGBPixel< T > &m, const unsigned int s)
 

Static Public Attributes

static constexpr bool IsComplex = NumericTraits<ValueType>::IsComplex
 
static constexpr bool IsInteger = std::is_integral_v<ValueType>
 
static constexpr bool IsSigned = std::is_signed_v<ValueType>
 
static const Self ITKCommon_EXPORT One
 
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

template<typename T >
using itk::NumericTraits< RGBPixel< T > >::AbsType = RGBPixel<ElementAbsType>

Unsigned component type

Definition at line 59 of file itkNumericTraitsRGBPixel.h.

◆ AccumulateType

template<typename T >
using itk::NumericTraits< RGBPixel< T > >::AccumulateType = RGBPixel<ElementAccumulateType>

Accumulation of addition and multiplication.

Definition at line 62 of file itkNumericTraitsRGBPixel.h.

◆ ElementAbsType

template<typename T >
using itk::NumericTraits< RGBPixel< T > >::ElementAbsType = typename NumericTraits<T>::AbsType
private

Definition at line 46 of file itkNumericTraitsRGBPixel.h.

◆ ElementAccumulateType

template<typename T >
using itk::NumericTraits< RGBPixel< T > >::ElementAccumulateType = typename NumericTraits<T>::AccumulateType
private

Definition at line 47 of file itkNumericTraitsRGBPixel.h.

◆ ElementFloatType

template<typename T >
using itk::NumericTraits< RGBPixel< T > >::ElementFloatType = typename NumericTraits<T>::FloatType
private

Definition at line 48 of file itkNumericTraitsRGBPixel.h.

◆ ElementPrintType

template<typename T >
using itk::NumericTraits< RGBPixel< T > >::ElementPrintType = typename NumericTraits<T>::PrintType
private

Definition at line 49 of file itkNumericTraitsRGBPixel.h.

◆ ElementRealType

template<typename T >
using itk::NumericTraits< RGBPixel< T > >::ElementRealType = typename NumericTraits<T>::RealType
private

Definition at line 50 of file itkNumericTraitsRGBPixel.h.

◆ FloatType

template<typename T >
using itk::NumericTraits< RGBPixel< T > >::FloatType = RGBPixel<ElementFloatType>

Typedef for operations that use floating point instead of real precision

Definition at line 66 of file itkNumericTraitsRGBPixel.h.

◆ MeasurementVectorType

template<typename T >
using itk::NumericTraits< RGBPixel< T > >::MeasurementVectorType = Self

Measurement vector type

Definition at line 78 of file itkNumericTraitsRGBPixel.h.

◆ PrintType

template<typename T >
using itk::NumericTraits< RGBPixel< T > >::PrintType = RGBPixel<ElementPrintType>

Return the type that can be printed.

Definition at line 69 of file itkNumericTraitsRGBPixel.h.

◆ RealType

template<typename T >
using itk::NumericTraits< RGBPixel< T > >::RealType = RGBPixel<ElementRealType>

Type for real-valued scalar operations.

Definition at line 72 of file itkNumericTraitsRGBPixel.h.

◆ ScalarRealType

template<typename T >
using itk::NumericTraits< RGBPixel< T > >::ScalarRealType = ElementRealType

Type for real-valued scalar operations.

Definition at line 75 of file itkNumericTraitsRGBPixel.h.

◆ Self

template<typename T >
using itk::NumericTraits< RGBPixel< T > >::Self = RGBPixel<T>

Definition at line 56 of file itkNumericTraitsRGBPixel.h.

◆ ValueType

template<typename T >
using itk::NumericTraits< RGBPixel< T > >::ValueType = T

Return the type of the native component type.

Definition at line 54 of file itkNumericTraitsRGBPixel.h.

Member Function Documentation

◆ AssignToArray() [1/2]

template<typename T >
static void itk::NumericTraits< RGBPixel< T > >::AssignToArray ( const Self v,
MeasurementVectorType mv 
)
inlinestatic

Definition at line 207 of file itkNumericTraitsRGBPixel.h.

◆ AssignToArray() [2/2]

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

Definition at line 214 of file itkNumericTraitsRGBPixel.h.

◆ GetLength() [1/2]

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

Return the dimensionality of the pixel. Always returns 3.

Definition at line 201 of file itkNumericTraitsRGBPixel.h.

◆ GetLength() [2/2]

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

Return the dimensionality of the pixel. Always returns 3.

Definition at line 194 of file itkNumericTraitsRGBPixel.h.

◆ IsNegative()

template<typename T >
static bool itk::NumericTraits< RGBPixel< T > >::IsNegative ( Self  val)
inlinestatic

Is a given value negative?

Definition at line 161 of file itkNumericTraitsRGBPixel.h.

References itk::RGBPixel< TComponent >::GetLuminance(), and itk::NumericTraits< T >::IsNegative().

◆ IsNonnegative()

template<typename T >
static bool itk::NumericTraits< RGBPixel< T > >::IsNonnegative ( Self  val)
inlinestatic

Is a given value nonnegative?

Definition at line 168 of file itkNumericTraitsRGBPixel.h.

References itk::RGBPixel< TComponent >::GetLuminance(), and itk::NumericTraits< T >::IsNonnegative().

◆ IsNonpositive()

template<typename T >
static bool itk::NumericTraits< RGBPixel< T > >::IsNonpositive ( Self  val)
inlinestatic

Is a given value nonpositive?

Definition at line 154 of file itkNumericTraitsRGBPixel.h.

References itk::RGBPixel< TComponent >::GetLuminance(), and itk::NumericTraits< T >::IsNonpositive().

◆ IsPositive()

template<typename T >
static bool itk::NumericTraits< RGBPixel< T > >::IsPositive ( Self  val)
inlinestatic

Is a given value positive?

Definition at line 147 of file itkNumericTraitsRGBPixel.h.

References itk::RGBPixel< TComponent >::GetLuminance(), and itk::NumericTraits< T >::IsPositive().

◆ max() [1/2]

template<typename T >
static const Self itk::NumericTraits< RGBPixel< T > >::max ( )
inlinestatic

Definition at line 98 of file itkNumericTraitsRGBPixel.h.

◆ max() [2/2]

template<typename T >
static const Self itk::NumericTraits< RGBPixel< T > >::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 86 of file itkNumericTraitsRGBPixel.h.

◆ min() [1/2]

template<typename T >
static const Self itk::NumericTraits< RGBPixel< T > >::min ( )
inlinestatic

Definition at line 104 of file itkNumericTraitsRGBPixel.h.

◆ min() [2/2]

template<typename T >
static const Self itk::NumericTraits< RGBPixel< T > >::min ( const Self )
inlinestatic

Definition at line 92 of file itkNumericTraitsRGBPixel.h.

◆ NonpositiveMin() [1/2]

template<typename T >
static const Self itk::NumericTraits< RGBPixel< T > >::NonpositiveMin ( )
inlinestatic

Definition at line 110 of file itkNumericTraitsRGBPixel.h.

◆ NonpositiveMin() [2/2]

template<typename T >
static const Self itk::NumericTraits< RGBPixel< T > >::NonpositiveMin ( const Self )
inlinestatic

◆ OneValue() [1/2]

template<typename T >
static const Self itk::NumericTraits< RGBPixel< T > >::OneValue ( )
inlinestatic

Definition at line 122 of file itkNumericTraitsRGBPixel.h.

◆ OneValue() [2/2]

template<typename T >
static const Self itk::NumericTraits< RGBPixel< T > >::OneValue ( const Self )
inlinestatic

Definition at line 140 of file itkNumericTraitsRGBPixel.h.

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

◆ SetLength()

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

RGB pixels must have 3 components, so the size cannot be set to anything besides 3. If called with size of 3, this function will fill the pixel with zeros.

Definition at line 181 of file itkNumericTraitsRGBPixel.h.

References itk::FixedArray< TComponent, 3 >::Fill().

◆ ZeroValue() [1/2]

template<typename T >
static const Self itk::NumericTraits< RGBPixel< T > >::ZeroValue ( )
inlinestatic

Definition at line 116 of file itkNumericTraitsRGBPixel.h.

◆ ZeroValue() [2/2]

template<typename T >
static const Self itk::NumericTraits< RGBPixel< T > >::ZeroValue ( const Self )
inlinestatic

Definition at line 134 of file itkNumericTraitsRGBPixel.h.

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

Member Data Documentation

◆ IsComplex

template<typename T >
constexpr bool itk::NumericTraits< RGBPixel< T > >::IsComplex = NumericTraits<ValueType>::IsComplex
staticconstexpr

Definition at line 175 of file itkNumericTraitsRGBPixel.h.

◆ IsInteger

template<typename T >
constexpr bool itk::NumericTraits< RGBPixel< T > >::IsInteger = std::is_integral_v<ValueType>
staticconstexpr

Definition at line 174 of file itkNumericTraitsRGBPixel.h.

◆ IsSigned

template<typename T >
constexpr bool itk::NumericTraits< RGBPixel< T > >::IsSigned = std::is_signed_v<ValueType>
staticconstexpr

Definition at line 173 of file itkNumericTraitsRGBPixel.h.

◆ One

template<typename T >
const Self ITKCommon_EXPORT itk::NumericTraits< RGBPixel< T > >::One
static

Definition at line 226 of file itkNumericTraitsRGBPixel.h.

◆ Zero

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

Definition at line 225 of file itkNumericTraitsRGBPixel.h.


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