ITK  4.13.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<typename T>
class itk::NumericTraits< T >

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

Define numeric traits for std::vector.

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:
Template Parameters
TComponent type of std::vector

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

Note
The Zero(), One(), min() and max() methods here take references to a pixel as input. This is due to the fact that the length of the std::vector is not known until run-time. Since the most common use of Zero and One is for comparison purposes or initialization of sums etc, this might just as easily be re-written with a pixel passed in as a reference and the length is inferred from this pixel.
See Also
NumericTraits
Examples:
Examples/Filtering/OtsuMultipleThresholdImageFilter.cxx, Examples/IO/CovariantVectorImageExtractComponent.cxx, Examples/IO/CovariantVectorImageRead.cxx, Examples/Iterators/ImageSliceIteratorWithIndex.cxx, Examples/SpatialObjects/ImageMaskSpatialObject.cxx, SphinxExamples/src/Core/Common/GetTypeBasicInformation/Code.cxx, SphinxExamples/src/Core/Common/SetPixelValueInOneImage/Code.cxx, SphinxExamples/src/Core/Mesh/ConvertTriangleMeshToBinaryImage/Code.cxx, SphinxExamples/src/Filtering/AnisotropicSmoothing/ComputeCurvatureAnisotropicDiffusion/Code.cxx, SphinxExamples/src/Filtering/AnisotropicSmoothing/ComputeCurvatureFlow/Code.cxx, SphinxExamples/src/Filtering/AnisotropicSmoothing/ComputeGradientAnisotropicDiffusion/Code.cxx, SphinxExamples/src/Filtering/FFT/ComputeForwardFFT/Code.cxx, SphinxExamples/src/Filtering/ImageFeature/ComputeLaplacian/Code.cxx, SphinxExamples/src/Filtering/ImageFilterBase/CastAnImageToAnotherType/Code.cxx, SphinxExamples/src/Filtering/ImageGradient/ApplyGradientRecursiveGaussian/Code.cxx, SphinxExamples/src/Filtering/ImageGradient/ApplyGradientRecursiveGaussianWithVectorInput/Code.cxx, SphinxExamples/src/Filtering/LabelMap/ApplyMorphologicalClosingOnAllLabelObjects/Code.cxx, SphinxExamples/src/Filtering/LabelMap/ApplyMorphologicalClosingOnSpecificLabelObject/Code.cxx, SphinxExamples/src/Filtering/LabelMap/ExtractGivenLabelObject/Code.cxx, SphinxExamples/src/Filtering/LabelMap/RemoveHolesNotConnectedToImageBoundaries/Code.cxx, SphinxExamples/src/Registration/Common/Perform2DTranslationRegistrationWithMeanSquares/Code.cxx, SphinxExamples/src/Segmentation/LabelVoting/IterativeHoleFilling/Code.cxx, SphinxExamples/src/Segmentation/LevelSets/SegmentWithGeodesicActiveContourLevelSet/Code.cxx, SphinxExamples/src/Segmentation/LevelSetsv4Visualization/VisualizeEvolvingDense2DLevelSetAsElevationMap/Code.cxx, SphinxExamples/src/Segmentation/LevelSetsv4Visualization/VisualizeEvolvingDense2DLevelSetZeroSet/Code.cxx, WikiExamples/ImageProcessing/CropImageFilter.cxx, WikiExamples/ImageProcessing/RGBResampleImageFilter.cxx, WikiExamples/ImageSegmentation/ExtractLargestConnectedComponentFromBinaryImage.cxx, WikiExamples/SimpleOperations/NumericTraits.cxx, and WikiExamples/VectorImages/VectorResampleImageFilter.cxx.

Definition at line 78 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<typename 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 ITK_CONSTEXPR_FUNC T max (const T &)
 
static ITK_CONSTEXPR_FUNC T min (const T &)
 
static ITK_CONSTEXPR_FUNC T NonpositiveMin ()
 
static T NonpositiveMin (const T &)
 
static T OneValue ()
 
static T OneValue (const T &)
 
static void SetLength (T &m, const unsigned int s)
 
static T ZeroValue ()
 
static T ZeroValue (const T &)
 

Static Public Attributes

static ITK_CONSTEXPR_VAR bool IsComplex = false
 
static ITK_CONSTEXPR_VAR bool IsInteger = false
 
static ITK_CONSTEXPR_VAR bool IsSigned = false
 
static const T One
 
static const T Zero
 

Member Typedef Documentation

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

Return value of std::abs().

Definition at line 91 of file itkNumericTraits.h.

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

Accumulation of addition and multiplication.

Definition at line 94 of file itkNumericTraits.h.

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

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

Definition at line 101 of file itkNumericTraits.h.

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

Measurement vector type

Definition at line 97 of file itkNumericTraits.h.

template<typename T>
typedef T itk::NumericTraits< T >::PrintType
template<typename T>
typedef double itk::NumericTraits< T >::RealType

Type for real-valued scalar operations.

Definition at line 104 of file itkNumericTraits.h.

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

Type for real-valued scalar operations.

Definition at line 107 of file itkNumericTraits.h.

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

The type of this limits trait object.

Definition at line 82 of file itkNumericTraits.h.

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

Return the type of this native type.

Definition at line 85 of file itkNumericTraits.h.

Member Function Documentation

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

assign the value to an array

Definition at line 220 of file itkNumericTraits.h.

template<typename 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 183 of file itkNumericTraits.h.

template<typename 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 189 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::RLEImage< TPixel, VImageDimension, CounterType >::GetNumberOfComponentsPerPixel(), 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(), itk::GradientRecursiveGaussianImageFilter< TInputImage, TOutputImage >::TransformOutputPixel(), and itk::GTest::Predicate::VectorDoubleRMSPredFormat().

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

Is a given value nonnegative?

Definition at line 128 of file itkNumericTraits.h.

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

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

Is a given value nonpositive?

Definition at line 122 of file itkNumericTraits.h.

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

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

Is a given value positive?

Definition at line 119 of file itkNumericTraits.h.

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

template<typename T>
static ITK_CONSTEXPR_FUNC T itk::NumericTraits< T >::max ( const T &  )
inlinestatic
Examples:
Examples/Filtering/OtsuMultipleThresholdImageFilter.cxx, SphinxExamples/src/Core/Common/GetTypeBasicInformation/Code.cxx, SphinxExamples/src/ImageCompareCommand.cxx, and WikiExamples/SimpleOperations/NumericTraits.cxx.

Definition at line 158 of file itkNumericTraits.h.

Referenced by itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::AdaptiveHistogramEqualizationImageFilter(), 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::CellAreaTriangleCellSubdivisionCriterion< TSubdivisionFilter >::CellAreaTriangleCellSubdivisionCriterion(), itk::Function::ColormapFunction< TScalar, TRGBPixel >::ColormapFunction(), itk::DoLineIntAlg(), itk::EdgeLengthTriangleEdgeCellSubdivisionCriterion< TSubdivisionFilter >::EdgeLengthTriangleEdgeCellSubdivisionCriterion(), 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::MovingHistogramErodeImageFilter< TInputImage, TOutputImage, TKernel >::MovingHistogramErodeImageFilter(), itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::MultiphaseFiniteDifferenceImageFilter(), itk::Functor::ConstrainedValueAddition< TInputImage1::PixelType, TInputImage2::PixelType, TOutputImage::PixelType >::operator()(), itk::Functor::Div< TInputImage1::PixelType, TInputImage2::PixelType, TOutputImage::PixelType >::operator()(), itk::UnsharpMaskImageFilter< TInputImage, TOutputImage, TInternalPrecision >::UnsharpMaskingFunctor< InPixelType, FunctorRealType, OutPixelType >::operator()(), itk::Functor::Modulus< TInputImage1::PixelType, TInputImage2::PixelType, TOutputImage::PixelType >::operator()(), itk::Functor::DivFloor< TInput1, TInput2, TOutput >::operator()(), itk::LinearAnisotropicDiffusionLBRImageFilter< TImage, TScalar >::OutsideBufferIndex(), itk::QuadraticEdgeCell< TCellInterface >::QuadraticEdgeCell(), itk::QuadraticTriangleCell< TCellInterface >::QuadraticTriangleCell(), itk::QuadrilateralCell< TCellInterface >::QuadrilateralCell(), itk::Function::RankHistogram< TInputPixel >::RankHistogram(), itk::ReconstructionByErosionImageFilter< TInputImage, TOutputImage >::ReconstructionByErosionImageFilter(), RegressionTestHelper(), 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<typename T>
static ITK_CONSTEXPR_FUNC T itk::NumericTraits< T >::min ( const T &  )
inlinestatic
template<typename T>
static ITK_CONSTEXPR_FUNC T itk::NumericTraits< T >::NonpositiveMin ( )
inlinestatic

Smallest (most nonpositive) value

Examples:
SphinxExamples/src/ImageCompareCommand.cxx.

Definition at line 116 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::DoLineIntAlg(), 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::ConstrainedValueDifference< TInputImage1::PixelType, TInputImage2::PixelType, TOutputImage::PixelType >::operator()(), itk::UnsharpMaskImageFilter< TInputImage, TOutputImage, TInternalPrecision >::UnsharpMaskingFunctor< InPixelType, FunctorRealType, OutPixelType >::operator()(), itk::Functor::DivFloor< TInput1, TInput2, TOutput >::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<typename 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 197 of file itkNumericTraits.h.

template<typename T>
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 151 of file itkNumericTraits.h.

Referenced by itk::Concept::HasNumericTraits< T >::Constraints::constraints(), itk::LevelSetFunction< TImageType >::CurvatureSpeed(), itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::CurvatureSpeed(), itk::Functor::DivideOrZeroOut< TInputImage1::PixelType, TInputImage2::PixelType, TOutputImage::PixelType >::DivideOrZeroOut(), itk::Path< TIndexValue, Index< VDimension >, VDimension >::EndOfInput(), itk::BSplineKernelFunction< VSplineOrder, TRealValueType >::Evaluate(), itk::BSplineDerivativeKernelFunction< VSplineOrder, TRealValueType >::Evaluate(), itk::NormalVectorDiffusionFunction< TSparseImageType >::FluxStopFunction(), itk::GaborKernelFunction< TRealValueType >::GaborKernelFunction(), itk::LevelSetFunction< TImageType >::LaplacianSmoothingSpeed(), itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::LaplacianSmoothingSpeed(), itk::Functor::LogicOpBase< TInput, TInput, TOutput >::LogicOpBase(), itk::NumericTraits< std::vector< T > >::OneValue(), itk::NumericTraits< Vector< T, D > >::OneValue(), itk::NumericTraits< Point< T, D > >::OneValue(), itk::NumericTraits< RGBPixel< T > >::OneValue(), itk::NumericTraits< RGBAPixel< T > >::OneValue(), itk::NumericTraits< SymmetricSecondRankTensor< T, D > >::OneValue(), itk::NumericTraits< FixedArray< T, D > >::OneValue(), itk::NumericTraits< CovariantVector< T, D > >::OneValue(), itk::NumericTraits< InputImagePixelType >::OneValue(), itk::Functor::InvertIntensityFunctor< InputPixelType >::operator()(), itk::Functor::LandweberMethod< TInput1, TInput2, TInput3, TOutput >::operator()(), itk::Functor::WeightedAdd2< TInputImage1::PixelType, TInputImage2::PixelType, TOutputImage::PixelType >::SetAlpha(), itk::STAPLEImageFilter< TInputImage, TOutputImage >::STAPLEImageFilter(), itk::Functor::ThresholdLabeler< TInputImage::PixelType, TOutputImage::PixelType >::ThresholdLabeler(), itk::ZeroCrossingBasedEdgeDetectionImageFilter< TInputImage, TOutputImage >::ZeroCrossingBasedEdgeDetectionImageFilter(), and itk::ZeroCrossingImageFilter< TInputImage, TOutputImage >::ZeroCrossingImageFilter().

template<typename 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 213 of file itkNumericTraits.h.

template<typename T>
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 168 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< FeatureImagePixelType, LabelMapPixelType, OutputImagePixelType >::operator()(), and itk::Statistics::KdTreeBasedKmeansEstimator< TKdTree >::CandidateVector::SetCentroids().

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

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

Examples:
Examples/Iterators/ImageLinearIteratorWithIndex2.cxx, Examples/RegistrationITKv3/ThinPlateSplineWarp.cxx, Examples/RegistrationITKv4/ThinPlateSplineWarp.cxx, SphinxExamples/src/Core/Common/GetTypeBasicInformation/Code.cxx, and WikiExamples/SimpleOperations/NumericTraits.cxx.

Definition at line 147 of file itkNumericTraits.h.

Referenced by itk::Functor::BinaryThreshold< TInputImage::PixelType, TOutputImage::PixelType >::BinaryThreshold(), itk::BinaryThresholdProjectionImageFilter< TInputImage, TOutputImage >::BinaryThresholdProjectionImageFilter(), itk::ParallelSparseFieldLevelSetImageFilter< TInputImage, TOutputImage >::CalculateChange(), itk::CannySegmentationLevelSetFunction< TImageType, TFeatureImageType >::CannySegmentationLevelSetFunction(), itk::GPUFiniteDifferenceFunction< TDisplacementField >::ComputeUpdate(), itk::ConnectedComponentImageFilter< TInputImage, TOutputImage, TMaskImage >::ConnectedComponentImageFilter(), itk::Concept::HasNumericTraits< T >::Constraints::constraints(), itk::Concept::HasZero< T >::Constraints::constraints(), itk::Functor::DivideOrZeroOut< TInputImage1::PixelType, TInputImage2::PixelType, TOutputImage::PixelType >::DivideOrZeroOut(), itk::BSplineKernelFunction< VSplineOrder, TRealValueType >::Evaluate(), itk::BSplineDerivativeKernelFunction< VSplineOrder, TRealValueType >::Evaluate(), itk::ExtractOrthogonalSwath2DImageFilter< TImage >::ExtractOrthogonalSwath2DImageFilter(), itk::FastMarchingStoppingCriterionBase< TInput, TOutput >::FastMarchingStoppingCriterionBase(), itk::GaborKernelFunction< TRealValueType >::GaborKernelFunction(), itk::DivideImageFilter< TInputImage, Image< TConstant, TInputImage::ImageDimension >, TOutputImage >::GenerateData(), itk::Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType >::Get(), itk::CellInterface< TPixelType, TCellTraits >::GetBoundingBoxDiagonalLength2(), itk::QuadEdgeMesh< TPixel, VDimension, TTraits >::GetCellBoundaryFeatureNeighbors(), itk::QuadEdgeMesh< TPixel, VDimension, TTraits >::GetCellNeighbors(), itk::CurvatureFlowFunction< TImage >::GetGlobalDataPointer(), itk::ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType >::GetGlobalDataPointer(), itk::LevelSetFunction< TImageType >::GetGlobalDataPointer(), itk::Functor::StandardDeviationAccumulator< TInputPixel, TAccumulate >::GetValue(), itk::Function::VectorMorphologicalGradientHistogram< TInputPixel >::GetValue(), itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::GlobalDataStruct::GlobalDataStruct(), itk::Functor::GPUBinaryThreshold< TInputImage::PixelType, TOutputImage::PixelType >::GPUBinaryThreshold(), itk::Functor::SumAccumulator< TInputPixel, TOuputPixel >::Initialize(), itk::Functor::StandardDeviationAccumulator< TInputPixel, TAccumulate >::Initialize(), itk::Functor::MeanAccumulator< TInputPixel, TAccumulate >::Initialize(), itk::Functor::MaskInput< TInputImage::PixelType, TMaskImage::PixelType, TOutputImage::PixelType >::InitializeOutsideValue(), itk::NeighborhoodOperator< TPixel, TDimension, TAllocator >::InitializeToZero(), itk::LabelGeometryImageFilter< TLabelImage, TIntensityImage >::LabelGeometry::LabelGeometry(), itk::Functor::LabelOverlayFunctor< FeatureImagePixelType, LabelMapPixelType, OutputImagePixelType >::LabelOverlayFunctor(), itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::LabelStatistics::LabelStatistics(), itk::Functor::LabelToRGBFunctor< TLabelImage::PixelType, TOutputImage::PixelType >::LabelToRGBFunctor(), itk::LevelSetBase< TInput, VDimension, TOutput, TDomain >::LevelSetDataType::LevelSetDataType(), itk::Functor::LogicOpBase< TInput, TInput, TOutput >::LogicOpBase(), itk::LinearInterpolateImageFunction< TInputImage, TCoordRep >::MakeZeroInitializer(), itk::Functor::MaskInput< TInputImage::PixelType, TMaskImage::PixelType, TOutputImage::PixelType >::MaskInput(), itk::VectorGradientMagnitudeImageFilter< TInputImage, TRealType, TOutputImage >::NonPCEvaluateAtNeighborhood(), itk::Functor::InvertIntensityFunctor< InputPixelType >::operator()(), itk::Functor::Add1< TInputImage::PixelType, TInputImage::PixelType >::operator()(), itk::Functor::SimilarVectorsFunctor< TInputImage::ValueType >::operator()(), itk::Functor::TikhonovDeconvolutionFunctor< TInput1, TInput2, TOutput >::operator()(), itk::Functor::InverseDeconvolutionFunctor< TInput1, TInput2, TOutput >::operator()(), itk::Functor::WienerDeconvolutionFunctor< TPixel >::operator()(), itk::AuthalicMatrixCoefficients< TInputMesh >::operator()(), itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::OtherPropagationSpeed(), itk::LevelSetFunction< TImageType >::PropagationSpeed(), itk::QuadEdgeMeshDecimationCriterion< TMesh, TElement, TMeasure, TPriorityQueueWrapper >::QuadEdgeMeshDecimationCriterion(), itk::MeshIOBase::ReadCellsBuffer(), itk::FastMarchingStoppingCriterionBase< TInput, TOutput >::Reinitialize(), itk::FastMarchingNumberOfElementsStoppingCriterion< TInput, TOutput >::Reset(), itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetBinaryMask(), itk::NumericTraits< InputImagePixelType >::SetLength(), itk::Functor::SimilarPixelsFunctor< TInputImage::ValueType >::SimilarPixelsFunctor(), itk::Functor::SimilarVectorsFunctor< TInputImage::ValueType >::SimilarVectorsFunctor(), itk::Point< SpacePrecisionType, VIndexDimension >::SquaredEuclideanDistanceTo(), itk::Path< TIndexValue, Index< VDimension >, VDimension >::StartOfInput(), itk::ShapeRelabelLabelMapFilter< TImage >::TemplatedGenerateData(), itk::ImageBase< TImage::ImageDimension >::TransformContinuousIndexToPhysicalPoint(), itk::ImageBase< TImage::ImageDimension >::TransformLocalVectorToPhysicalVector(), itk::ImageBase< TImage::ImageDimension >::TransformPhysicalVectorToLocalVector(), itk::OBJMeshIO::WriteCells(), itk::BYUMeshIO::WriteCells(), itk::MeshIOBase::WriteCellsBuffer(), itk::OBJMeshIO::WritePointData(), itk::OBJMeshIO::WritePoints(), itk::BYUMeshIO::WritePoints(), itk::ZeroCrossingBasedEdgeDetectionImageFilter< TInputImage, TOutputImage >::ZeroCrossingBasedEdgeDetectionImageFilter(), itk::ZeroCrossingImageFilter< TInputImage, TOutputImage >::ZeroCrossingImageFilter(), itk::NumericTraits< std::vector< T > >::ZeroValue(), itk::NumericTraits< Vector< T, D > >::ZeroValue(), itk::NumericTraits< Point< T, D > >::ZeroValue(), itk::NumericTraits< RGBPixel< T > >::ZeroValue(), itk::NumericTraits< RGBAPixel< T > >::ZeroValue(), itk::NumericTraits< FixedArray< T, D > >::ZeroValue(), itk::NumericTraits< CovariantVector< T, D > >::ZeroValue(), itk::NumericTraits< SymmetricSecondRankTensor< T, D > >::ZeroValue(), itk::NumericTraits< InputImagePixelType >::ZeroValue(), and itk::Functor::MeanAccumulator< TInputPixel, TAccumulate >::~MeanAccumulator().

template<typename 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 205 of file itkNumericTraits.h.

Member Data Documentation

template<typename T>
ITK_CONSTEXPR_VAR bool itk::NumericTraits< T >::IsComplex = false
static

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 143 of file itkNumericTraits.h.

template<typename T>
ITK_CONSTEXPR_VAR bool itk::NumericTraits< T >::IsInteger = false
static

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 138 of file itkNumericTraits.h.

template<typename T>
ITK_CONSTEXPR_VAR bool itk::NumericTraits< T >::IsSigned = false
static

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 133 of file itkNumericTraits.h.

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

Multiplicative identity.

Definition at line 113 of file itkNumericTraits.h.

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

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

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