ITK
4.3.0
Insight Segmentation and Registration Toolkit
|
#include <itkNumericTraits.h>
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.
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 |
typedef T itk::NumericTraits< T >::AbsType |
Return value of vcl_abs().
Definition at line 83 of file itkNumericTraits.h.
typedef double itk::NumericTraits< T >::AccumulateType |
Accumulation of addition and multiplication.
Definition at line 86 of file itkNumericTraits.h.
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.
typedef FixedArray<ValueType, 1> itk::NumericTraits< T >::MeasurementVectorType |
Measurement vector type
Definition at line 89 of file itkNumericTraits.h.
typedef T itk::NumericTraits< T >::PrintType |
Return the type that can be printed.
Definition at line 80 of file itkNumericTraits.h.
typedef double itk::NumericTraits< T >::RealType |
Type for real-valued scalar operations.
Definition at line 96 of file itkNumericTraits.h.
typedef RealType itk::NumericTraits< T >::ScalarRealType |
Type for real-valued scalar operations.
Definition at line 99 of file itkNumericTraits.h.
typedef std::numeric_limits< T > itk::NumericTraits< T >::TraitsType |
The type of this limits trait object.
Definition at line 74 of file itkNumericTraits.h.
typedef T itk::NumericTraits< T >::ValueType |
Return the type of this native type.
Definition at line 77 of file itkNumericTraits.h.
|
inlinestatic |
assign the value to an array
Definition at line 196 of file itkNumericTraits.h.
|
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.
|
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< ParameterType >::SetMeasurementVectorSize(), itk::Statistics::Sample< ImageJointDomainTraits< TImage >::MeasurementVectorType >::SetMeasurementVectorSize(), and itk::GradientRecursiveGaussianImageFilter< TInputImage, TOutputImage >::TransformOutputPixel().
|
inlinestatic |
Is a given value negative?
Definition at line 117 of file itkNumericTraits.h.
Referenced by itk::Concept::HasNumericTraits< T >::Constraints::constraints().
|
inlinestatic |
Is a given value nonnegative?
Definition at line 120 of file itkNumericTraits.h.
Referenced by itk::Concept::HasNumericTraits< T >::Constraints::constraints().
|
inlinestatic |
Is a given value nonpositive?
Definition at line 114 of file itkNumericTraits.h.
Referenced by itk::Concept::HasNumericTraits< T >::Constraints::constraints().
|
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().
|
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::Div< TInputImage1::PixelType, TInputImage2::PixelType, TOutputImage::PixelType >::operator()(), itk::Functor::ConstrainedValueAddition< TInputImage1::PixelType, TInputImage2::PixelType, TOutputImage::PixelType >::operator()(), itk::Functor::Clamp< TInputImage::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().
|
inlinestatic |
Definition at line 136 of file itkNumericTraits.h.
Referenced by itk::Function::ColormapFunction< TScalar, TRGBPixel >::ColormapFunction(), itk::NumericTraits< std::vector< T > >::min(), itk::Statistics::KdTree< TSample >::NearestNeighbors::ReplaceFarthestNeighbor(), itk::Statistics::SampleToHistogramFilter< TSample, THistogram >::SafeAssign(), and itk::Functor::Sigmoid< TInputImage::PixelType, TOutputImage::PixelType >::Sigmoid().
|
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< RGBPixel< T > >::NonpositiveMin(), itk::NumericTraits< RGBAPixel< 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::Clamp< TInputImage::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().
|
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.
|
inlinestatic |
Return one value. This function should be used to support RGBPixel type and standard types (not vectors)
Definition at line 128 of file itkNumericTraits.h.
Referenced by itk::Concept::HasNumericTraits< T >::Constraints::constraints(), itk::Functor::DivideOrZeroOut< TInputImage1::PixelType, TInputImage2::PixelType, TOutputImage::PixelType >::DivideOrZeroOut(), itk::NumericTraits< Vector< T, D > >::OneValue(), itk::NumericTraits< Point< T, D > >::OneValue(), itk::NumericTraits< RGBAPixel< T > >::OneValue(), itk::NumericTraits< RGBPixel< T > >::OneValue(), itk::NumericTraits< FixedArray< T, D > >::OneValue(), itk::NumericTraits< CovariantVector< T, D > >::OneValue(), itk::NumericTraits< SymmetricSecondRankTensor< T, D > >::OneValue(), itk::NumericTraits< InputImagePixelType >::OneValue(), and itk::Functor::LandweberMethod< TInput1, TInput2, TInput3, TOutput >::operator()().
|
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.
|
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().
|
inlinestatic |
Return zero value. This function should be used to support RGBPixel type and standard types (not vectors)
Definition at line 124 of file itkNumericTraits.h.
Referenced by itk::Concept::HasNumericTraits< T >::Constraints::constraints(), itk::Functor::DivideOrZeroOut< TInputImage1::PixelType, TInputImage2::PixelType, TOutputImage::PixelType >::DivideOrZeroOut(), itk::Functor::TikhonovDeconvolutionFunctor< TInput1, TInput2, TOutput >::operator()(), itk::Functor::InverseDeconvolutionFunctor< TInput1, TInput2, TOutput >::operator()(), itk::Functor::WienerDeconvolutionFunctor< TPixel >::operator()(), itk::ShapeRelabelLabelMapFilter< TImage >::TemplatedGenerateData(), itk::NumericTraits< Vector< T, D > >::ZeroValue(), itk::NumericTraits< Point< T, D > >::ZeroValue(), itk::NumericTraits< RGBAPixel< T > >::ZeroValue(), itk::NumericTraits< RGBPixel< T > >::ZeroValue(), itk::NumericTraits< FixedArray< T, D > >::ZeroValue(), itk::NumericTraits< CovariantVector< T, D > >::ZeroValue(), itk::NumericTraits< SymmetricSecondRankTensor< T, D > >::ZeroValue(), and itk::NumericTraits< InputImagePixelType >::ZeroValue().
|
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.
|
static |
Multiplicative identity.
Definition at line 105 of file itkNumericTraits.h.
Referenced by itk::NumericTraits< InputImagePixelType >::OneValue().
|
static |
Additive identity.
Definition at line 102 of file itkNumericTraits.h.
Referenced by itk::NumericTraits< InputImagePixelType >::IsNegative(), itk::NumericTraits< InputImagePixelType >::IsNonnegative(), itk::NumericTraits< InputImagePixelType >::IsNonpositive(), itk::NumericTraits< InputImagePixelType >::IsPositive(), and itk::NumericTraits< InputImagePixelType >::ZeroValue().