ITK  4.4.0
Insight Segmentation and Registration Toolkit
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
itk::NumericTraits< T > Class Template Reference

#include <itkNumericTraits.h>

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

Detailed Description

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

Define additional traits for native types such as int or float.

NumericTraits is used to extend the traits associated with native types such as float, char, int, and so on. These traits are extensions of the standard numeric_limits defined by the C++ compilers. Some of the added traits include minimum and maximum value; accumulation type; etc.

Wiki Examples:
Examples:
itkImageIteratorTest.cxx, and itkVectorImageTest.cxx.

Definition at line 70 of file itkNumericTraits.h.

Public Types

typedef T AbsType
 
typedef double AccumulateType
 
typedef float FloatType
 
typedef FixedArray< ValueType, 1 > MeasurementVectorType
 
typedef T PrintType
 
typedef double RealType
 
typedef RealType ScalarRealType
 
typedef std::numeric_limits< T > TraitsType
 
typedef T ValueType
 

Static Public Member Functions

template<class TArray >
static void AssignToArray (const T &v, TArray &mv)
 
static unsigned int GetLength (const T &)
 
static unsigned int GetLength ()
 
static bool IsNegative (T val)
 
static bool IsNonnegative (T val)
 
static bool IsNonpositive (T val)
 
static bool IsPositive (T val)
 
static T max (const T &)
 
static T min (const T &)
 
static T NonpositiveMin ()
 
static T NonpositiveMin (const T &)
 
static T OneValue ()
 
static T OneValue (const T &)
 
static void SetLength (T &, const unsigned int s)
 
static T ZeroValue ()
 
static T ZeroValue (const T &)
 

Static Public Attributes

static const T One
 
static const T Zero
 

Member Typedef Documentation

template<class T>
typedef T itk::NumericTraits< T >::AbsType

Return value of vcl_abs().

Definition at line 83 of file itkNumericTraits.h.

template<class T>
typedef double itk::NumericTraits< T >::AccumulateType

Accumulation of addition and multiplication.

Definition at line 86 of file itkNumericTraits.h.

template<class T>
typedef float itk::NumericTraits< T >::FloatType

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

Definition at line 93 of file itkNumericTraits.h.

template<class T>
typedef FixedArray<ValueType, 1> itk::NumericTraits< T >::MeasurementVectorType

Measurement vector type

Definition at line 89 of file itkNumericTraits.h.

template<class T>
typedef T itk::NumericTraits< T >::PrintType

Return the type that can be printed.

Examples:
RGBImage.cxx.

Definition at line 80 of file itkNumericTraits.h.

template<class T>
typedef double itk::NumericTraits< T >::RealType

Type for real-valued scalar operations.

Definition at line 96 of file itkNumericTraits.h.

template<class T>
typedef RealType itk::NumericTraits< T >::ScalarRealType

Type for real-valued scalar operations.

Definition at line 99 of file itkNumericTraits.h.

template<class T>
typedef std::numeric_limits< T > itk::NumericTraits< T >::TraitsType

The type of this limits trait object.

Definition at line 74 of file itkNumericTraits.h.

template<class T>
typedef T itk::NumericTraits< T >::ValueType

Return the type of this native type.

Definition at line 77 of file itkNumericTraits.h.

Member Function Documentation

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

assign the value to an array

Definition at line 196 of file itkNumericTraits.h.

template<class T>
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 159 of file itkNumericTraits.h.

template<class T>
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 165 of file itkNumericTraits.h.

Referenced by itk::NumericTraits< Array< T > >::AssignToArray(), itk::NumericTraits< std::vector< T > >::AssignToArray(), itk::NumericTraits< SymmetricSecondRankTensor< T, D > >::AssignToArray(), itk::NumericTraits< VariableLengthVector< T > >::AssignToArray(), itk::NumericTraits< SymmetricSecondRankTensor< T, D > >::GetLength(), itk::NumericTraits< InputImagePixelType >::GetLength(), itk::NumericTraits< Vector< T, D > >::IsNegative(), itk::NumericTraits< VariableLengthVector< T > >::IsNegative(), itk::NumericTraits< Vector< T, D > >::IsNonnegative(), itk::NumericTraits< VariableLengthVector< T > >::IsNonnegative(), itk::NumericTraits< Vector< T, D > >::IsNonpositive(), itk::NumericTraits< VariableLengthVector< T > >::IsNonpositive(), itk::NumericTraits< Vector< T, D > >::IsPositive(), itk::NumericTraits< VariableLengthVector< T > >::IsPositive(), itk::Statistics::MeasurementVectorTraits::IsResizable(), itk::Statistics::MembershipFunctionBase< TMeasurementVector >::MembershipFunctionBase(), itk::Statistics::Sample< ImageJointDomainTraits< TImage >::MeasurementVectorType >::Sample(), itk::Statistics::KdTreeBasedKmeansEstimator< TKdTree >::CandidateVector::SetCentroids(), itk::Statistics::MembershipFunctionBase< TMeasurementVector >::SetMeasurementVectorSize(), itk::Statistics::DistanceMetric< Array< double > >::SetMeasurementVectorSize(), itk::Statistics::Sample< ImageJointDomainTraits< TImage >::MeasurementVectorType >::SetMeasurementVectorSize(), and itk::GradientRecursiveGaussianImageFilter< TInputImage, TOutputImage >::TransformOutputPixel().

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

Is a given value negative?

Definition at line 117 of file itkNumericTraits.h.

Referenced by itk::Concept::HasNumericTraits< T >::Constraints::constraints().

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

Is a given value nonnegative?

Definition at line 120 of file itkNumericTraits.h.

Referenced by itk::Concept::HasNumericTraits< T >::Constraints::constraints().

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

Is a given value nonpositive?

Definition at line 114 of file itkNumericTraits.h.

Referenced by itk::Concept::HasNumericTraits< T >::Constraints::constraints().

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

Is a given value positive?

Definition at line 111 of file itkNumericTraits.h.

Referenced by itk::Math::CastWithRangeCheck(), and itk::Concept::HasNumericTraits< T >::Constraints::constraints().

template<class T>
static T itk::NumericTraits< T >::max ( const T &  )
inlinestatic

Definition at line 135 of file itkNumericTraits.h.

Referenced by itk::Functor::LabelToRGBFunctor< TLabelImage::PixelType, TOutputImage::PixelType >::AddColor(), itk::AnchorCloseImageFilter< TImage, TKernel >::AnchorCloseImageFilter(), itk::AnchorErodeImageFilter< TImage, TKernel >::AnchorErodeImageFilter(), itk::AnchorOpenImageFilter< TImage, TKernel >::AnchorOpenImageFilter(), itk::BinaryNotImageFilter< TImage >::BinaryNotImageFilter(), itk::BinaryProjectionImageFilter< TInputImage, TOutputImage >::BinaryProjectionImageFilter(), itk::Functor::BinaryThreshold< TInputImage::PixelType, TOutputImage::PixelType >::BinaryThreshold(), itk::BinaryThresholdProjectionImageFilter< TInputImage, TOutputImage >::BinaryThresholdProjectionImageFilter(), itk::Function::ColormapFunction< TScalar, TRGBPixel >::ColormapFunction(), itk::Function::RankHistogram< TInputPixel >::GetValueBruteForce(), itk::Function::VectorRankHistogram< TInputPixel >::GetValueBruteForce(), itk::Functor::GPUBinaryThreshold< TInputImage::PixelType, TOutputImage::PixelType >::GPUBinaryThreshold(), itk::HexahedronCell< TCellInterface >::HexahedronCell(), itk::Functor::MinimumAccumulator< TInputPixel >::Initialize(), itk::Functor::IntensityLinearTransform< TInputImage::PixelType, TOutputImage::PixelType >::IntensityLinearTransform(), itk::Functor::InvertIntensityTransform< TInputImage::PixelType, TOutputImage::PixelType >::InvertIntensityTransform(), itk::LabelGeometryImageFilter< TLabelImage, TIntensityImage >::LabelGeometry::LabelGeometry(), itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::LabelStatistics::LabelStatistics(), itk::LineCell< TCellInterface >::LineCell(), itk::NumericTraits< std::vector< T > >::max(), itk::ConvertPixelBuffer< InputPixelType, OutputPixelType, OutputConvertTraits >::MaxAlpha(), itk::MovingHistogramErodeImageFilter< TInputImage, TOutputImage, TKernel >::MovingHistogramErodeImageFilter(), itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::MultiphaseFiniteDifferenceImageFilter(), itk::Functor::Modulus< TInputImage1::PixelType, TInputImage2::PixelType, TOutputImage::PixelType >::operator()(), itk::Functor::Div< TInputImage1::PixelType, TInputImage2::PixelType, TOutputImage::PixelType >::operator()(), itk::Functor::ConstrainedValueAddition< TInputImage1::PixelType, TInputImage2::PixelType, TOutputImage::PixelType >::operator()(), itk::QuadraticEdgeCell< TCellInterface >::QuadraticEdgeCell(), itk::QuadraticTriangleCell< TCellInterface >::QuadraticTriangleCell(), itk::QuadrilateralCell< TCellInterface >::QuadrilateralCell(), itk::Function::RankHistogram< TInputPixel >::RankHistogram(), itk::ReconstructionByErosionImageFilter< TInputImage, TOutputImage >::ReconstructionByErosionImageFilter(), RegressionTestImage(), itk::Function::VectorMorphologicalGradientHistogram< TInputPixel >::RemovePixel(), itk::Statistics::SampleToHistogramFilter< TSample, THistogram >::SafeAssign(), itk::Functor::Sigmoid< TInputImage::PixelType, TOutputImage::PixelType >::Sigmoid(), itk::SimplexMeshAdaptTopologyFilter< TInputMesh, TOutputMesh >::SimplexCellVisitor::SimplexCellVisitor(), itk::STAPLEImageFilter< TInputImage, TOutputImage >::STAPLEImageFilter(), itk::TetrahedronCell< TCellInterface >::TetrahedronCell(), itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >::ThresholdSegmentationLevelSetFunction(), itk::VanHerkGilWermanErodeImageFilter< TImage, TKernel >::VanHerkGilWermanErodeImageFilter(), itk::Function::VectorMorphologicalGradientHistogram< TInputPixel >::VectorMorphologicalGradientHistogram(), itk::Function::VectorMorphologyHistogram< TInputPixel, TCompare >::VectorMorphologyHistogram(), itk::Function::VectorRankHistogram< TInputPixel >::VectorRankHistogram(), and itk::VertexCell< TCellInterface >::VertexCell().

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

Smallest (most nonpositive) value

Definition at line 108 of file itkNumericTraits.h.

Referenced by itk::AnchorCloseImageFilter< TImage, TKernel >::AnchorCloseImageFilter(), itk::AnchorDilateImageFilter< TImage, TKernel >::AnchorDilateImageFilter(), itk::AnchorOpenImageFilter< TImage, TKernel >::AnchorOpenImageFilter(), itk::BinaryNotImageFilter< TImage >::BinaryNotImageFilter(), itk::BinaryProjectionImageFilter< TInputImage, TOutputImage >::BinaryProjectionImageFilter(), itk::Functor::BinaryThreshold< TInputImage::PixelType, TOutputImage::PixelType >::BinaryThreshold(), itk::BinaryThresholdProjectionImageFilter< TInputImage, TOutputImage >::BinaryThresholdProjectionImageFilter(), itk::Concept::HasNumericTraits< T >::Constraints::constraints(), itk::LevelSetMotionRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GetGlobalDataPointer(), itk::Function::VectorRankHistogram< TInputPixel >::GetValueBruteForce(), itk::Functor::GPUBinaryThreshold< TInputImage::PixelType, TOutputImage::PixelType >::GPUBinaryThreshold(), itk::Functor::MaximumAccumulator< TInputPixel >::Initialize(), itk::Functor::IntensityLinearTransform< TInputImage::PixelType, TOutputImage::PixelType >::IntensityLinearTransform(), itk::LabelGeometryImageFilter< TLabelImage, TIntensityImage >::LabelGeometry::LabelGeometry(), itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::LabelStatistics::LabelStatistics(), itk::MovingHistogramDilateImageFilter< TInputImage, TOutputImage, TKernel >::MovingHistogramDilateImageFilter(), itk::NumericTraits< Vector< T, D > >::NonpositiveMin(), itk::NumericTraits< Point< T, D > >::NonpositiveMin(), itk::NumericTraits< RGBAPixel< T > >::NonpositiveMin(), itk::NumericTraits< RGBPixel< T > >::NonpositiveMin(), itk::NumericTraits< CovariantVector< T, D > >::NonpositiveMin(), itk::NumericTraits< FixedArray< T, D > >::NonpositiveMin(), itk::NumericTraits< SymmetricSecondRankTensor< T, D > >::NonpositiveMin(), itk::NumericTraits< std::vector< T > >::NonpositiveMin(), itk::NumericTraits< InputImagePixelType >::NonpositiveMin(), itk::Functor::Maximum1< TInputImage::PixelType, TInputImage::PixelType >::operator()(), itk::Functor::ConstrainedValueAddition< TInputImage1::PixelType, TInputImage2::PixelType, TOutputImage::PixelType >::operator()(), itk::Functor::ConstrainedValueDifference< TInputImage1::PixelType, TInputImage2::PixelType, TOutputImage::PixelType >::operator()(), itk::Function::RankHistogram< TInputPixel >::RankHistogram(), itk::ReconstructionByDilationImageFilter< TInputImage, TOutputImage >::ReconstructionByDilationImageFilter(), itk::Function::VectorMorphologicalGradientHistogram< TInputPixel >::RemovePixel(), itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >::ThresholdSegmentationLevelSetFunction(), itk::VanHerkGilWermanDilateImageFilter< TImage, TKernel >::VanHerkGilWermanDilateImageFilter(), itk::Function::VectorMorphologicalGradientHistogram< TInputPixel >::VectorMorphologicalGradientHistogram(), itk::Function::VectorMorphologyHistogram< TInputPixel, TCompare >::VectorMorphologyHistogram(), and itk::Function::VectorRankHistogram< TInputPixel >::VectorRankHistogram().

template<class T>
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 173 of file itkNumericTraits.h.

template<class T>
static T itk::NumericTraits< T >::OneValue ( )
inlinestatic
template<class T>
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 189 of file itkNumericTraits.h.

template<class T>
static void itk::NumericTraits< T >::SetLength ( T &  ,
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 145 of file itkNumericTraits.h.

Referenced by itk::Functor::LabelToRGBFunctor< TLabelImage::PixelType, TOutputImage::PixelType >::AddColor(), itk::Functor::LabelToRGBFunctor< TLabelImage::PixelType, TOutputImage::PixelType >::LabelToRGBFunctor(), itk::Functor::LabelOverlayFunctor< TInputImage::PixelType, TLabelImage::PixelType, TOutputImage::PixelType >::operator()(), and itk::Statistics::KdTreeBasedKmeansEstimator< TKdTree >::CandidateVector::SetCentroids().

template<class T>
static T itk::NumericTraits< T >::ZeroValue ( )
inlinestatic
template<class T>
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 181 of file itkNumericTraits.h.

Member Data Documentation

template<class T>
const T itk::NumericTraits< T >::One
static

Multiplicative identity.

Definition at line 105 of file itkNumericTraits.h.

Referenced by itk::NumericTraits< InputImagePixelType >::OneValue().

template<class T>
const T itk::NumericTraits< T >::Zero
static

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