ITK  6.0.0
Insight Toolkit
Namespaces | Functions | Variables
itk::Math Namespace Reference

Namespaces

 Detail
 

Functions

bool abs (bool x)
 
unsigned char abs (char x)
 
unsigned short abs (short x)
 
unsigned char abs (signed char x)
 
unsigned char abs (unsigned char x)
 
unsigned int abs (unsigned int x)
 
unsigned long long abs (unsigned long long x)
 
unsigned long abs (unsigned long x)
 
unsigned short abs (unsigned short x)
 
template<typename T1 , typename T2 >
bool AlmostEquals (T1 x1, T2 x2)
 
TInput TInput TReturn CastWithRangeCheck (TInput x)
 
TInput Ceil (TInput x) template< typename TReturn
 
template<typename TInput1 , typename TInput2 >
bool ExactlyEquals (const TInput1 &x1, const TInput2 &x2)
 
template<typename T >
FloatAddULP (T x, typename Detail::FloatIEEE< T >::IntType ulps)
 
template<typename T >
bool FloatAlmostEqual (T x1, T x2, typename Detail::FloatIEEE< T >::IntType maxUlps=4, typename Detail::FloatIEEE< T >::FloatType maxAbsoluteDifference=0.1 *itk::NumericTraits< T >::epsilon())
 
template<typename T >
Detail::FloatIEEE< T >::IntType FloatDifferenceULP (T x1, T x2)
 
template<TReturn , typename TInput >
 Floor (TInput x) template< TReturn
 
template<typename T1 , typename T2 >
bool NotAlmostEquals (T1 x1, T2 x2)
 
template<typename TInput1 , typename TInput2 >
bool NotExactlyEquals (const TInput1 &x1, const TInput2 &x2)
 
TInput TInput TReturn Round (TInput x)
 
template<TReturn , typename TInput >
 RoundHalfIntegerToEven (TInput x) template< TReturn
 
TInput RoundHalfIntegerUp (TInput x) template< typename TReturn
 
template<typename TReturnType = uintmax_t>
constexpr TReturnType UnsignedPower (const uintmax_t base, const uintmax_t exponent) noexcept
 
template<typename TReturnType = uintmax_t>
constexpr TReturnType UnsignedProduct (const uintmax_t a, const uintmax_t b) noexcept
 
ITKCommon_EXPORT bool IsPrime (unsigned short n)
 
ITKCommon_EXPORT bool IsPrime (unsigned int n)
 
ITKCommon_EXPORT bool IsPrime (unsigned long n)
 
ITKCommon_EXPORT bool IsPrime (unsigned long long n)
 
ITKCommon_EXPORT unsigned short GreatestPrimeFactor (unsigned short n)
 
ITKCommon_EXPORT unsigned int GreatestPrimeFactor (unsigned int n)
 
ITKCommon_EXPORT unsigned long GreatestPrimeFactor (unsigned long n)
 
ITKCommon_EXPORT unsigned long long GreatestPrimeFactor (unsigned long long n)
 

Variables

static constexpr double deg_per_rad = vnl_math::deg_per_rad
 
static constexpr double e = vnl_math::e
 
static constexpr double eps = vnl_math::eps
 
static constexpr double euler = vnl_math::euler
 
static constexpr float float_eps = vnl_math::float_eps
 
static constexpr float float_sqrteps = vnl_math::float_sqrteps
 
static constexpr double ln10 = vnl_math::ln10
 
static constexpr double ln2 = vnl_math::ln2
 
static constexpr double log10e = vnl_math::log10e
 
static constexpr double log2e = vnl_math::log2e
 
static constexpr double one_over_pi = vnl_math::one_over_pi
 
static constexpr double one_over_sqrt2pi = vnl_math::one_over_sqrt2pi
 
static constexpr double pi = vnl_math::pi
 
static constexpr double pi_over_180 = vnl_math::pi_over_180
 
static constexpr double pi_over_2 = vnl_math::pi_over_2
 
static constexpr double pi_over_4 = vnl_math::pi_over_4
 
static constexpr double sqrt1_2 = vnl_math::sqrt1_2
 
static constexpr double sqrt1_3 = vnl_math::sqrt1_3
 
static constexpr double sqrt2 = vnl_math::sqrt2
 
static constexpr double sqrt2pi = vnl_math::sqrt2pi
 
static constexpr double sqrteps = vnl_math::sqrteps
 
static constexpr double two_over_pi = vnl_math::two_over_pi
 
static constexpr double two_over_sqrtpi = vnl_math::two_over_sqrtpi
 
static constexpr double twopi = vnl_math::twopi
 

Function Documentation

◆ abs() [1/9]

bool itk::Math::abs ( bool  x)
inline

◆ abs() [2/9]

unsigned char itk::Math::abs ( char  x)
inline

Definition at line 854 of file itkMath.h.

◆ abs() [3/9]

unsigned short itk::Math::abs ( short  x)
inline

Definition at line 859 of file itkMath.h.

◆ abs() [4/9]

unsigned char itk::Math::abs ( signed char  x)
inline

Definition at line 849 of file itkMath.h.

◆ abs() [5/9]

unsigned char itk::Math::abs ( unsigned char  x)
inline

Definition at line 844 of file itkMath.h.

◆ abs() [6/9]

unsigned int itk::Math::abs ( unsigned int  x)
inline

Definition at line 869 of file itkMath.h.

◆ abs() [7/9]

unsigned long long itk::Math::abs ( unsigned long long  x)
inline

Definition at line 880 of file itkMath.h.

Referenced by FloatAlmostEqual().

◆ abs() [8/9]

unsigned long itk::Math::abs ( unsigned long  x)
inline

Definition at line 874 of file itkMath.h.

◆ abs() [9/9]

unsigned short itk::Math::abs ( unsigned short  x)
inline

Definition at line 864 of file itkMath.h.

◆ AlmostEquals()

template<typename T1 , typename T2 >
bool itk::Math::AlmostEquals ( T1  x1,
T2  x2 
)
inline

Provide consistent equality checks between values of potentially different scalar or complex types.

template< typename T1, typename T2 > AlmostEquals( T1 x1, T2 x2 )

template< typename T1, typename T2 > NotAlmostEquals( T1 x1, T2 x2 )

This function compares two scalar or complex values of potentially different types. For maximum extensibility the function is implemented through a series of templated structs which direct the AlmostEquals() call to the correct function by evaluating the parameter's types.

Overall algorithm: If both values are complex... separate values into real and imaginary components and compare them separately

If one of the values is complex.. see if the imaginary part of the complex value is approximately 0 ... compare real part of complex value with scalar value

If both values are scalars...

To compare two floating point types... use FloatAlmostEqual.

To compare a floating point and an integer type... Use static_cast<FloatingPointType>(integerValue) and call FloatAlmostEqual

To compare signed and unsigned integers... Check for negative value or overflow, then cast and use ==

To compare two signed or two unsigned integers ... Use ==

To compare anything else ... Use ==

Parameters
x1first scalar value to compare
x2second scalar value to compare

Definition at line 684 of file itkMath.h.

Referenced by itk::AnchorErodeDilateLine< TInputPix, TCompare >::Compare(), NotAlmostEquals(), and itk::DivideImageFilter< TInputImage1, TInputImage2, TOutputImage >::VerifyPreconditions().

◆ CastWithRangeCheck()

TInput TInput TReturn itk::Math::CastWithRangeCheck ( TInput  x)
inline

Definition at line 214 of file itkMath.h.

References itkConceptMacro.

◆ Ceil()

TInput itk::Math::Ceil ( TInput  x)

◆ ExactlyEquals()

template<typename TInput1 , typename TInput2 >
bool itk::Math::ExactlyEquals ( const TInput1 &  x1,
const TInput2 &  x2 
)
inline

Return the result of an exact comparison between two scalar values of potentially different types.

template <typename TInput1, typename TInput2> inline bool ExactlyEquals( const TInput & x1, const TInput & x2 )

template <typename TInput1, typename TInput2> inline bool NotExactlyEquals( const TInput & x1, const TInput & x2 )

These functions complement the EqualsComparison functions and determine if two scalar values are exactly equal using the compilers casting rules when comparing two different types. While this is also easily accomplished by using the equality operators, use of this function demonstrates the intent of an exact equality check and thus improves readability and clarity of code. In addition, this function suppresses float-equal warnings produced when using Clang.

Parameters
x1first floating point value to compare
x2second floating point value to compare

Definition at line 722 of file itkMath.h.

Referenced by itk::BSplineKernelFunction< VSplineOrder, TRealValueType >::Evaluate(), itk::BSplineDerivativeKernelFunction< VSplineOrder, TRealValueType >::Evaluate(), NotExactlyEquals(), itk::Functor::Equal< TInput1, TInput2, TOutput >::operator()(), itk::Functor::ExpNegative< TInputImage::PixelType, TOutputImage::PixelType >::operator==(), itk::Functor::IntensityWindowingTransform< TInputImage::PixelType, TOutputImage::PixelType >::operator==(), itk::Functor::VectorMagnitudeLinearTransform< TInputImage::PixelType, TOutputImage::PixelType >::operator==(), itk::Functor::WeightedAdd2< typename TInputImage1::PixelType, typename TInputImage2::PixelType, typename TOutputImage::PixelType >::operator==(), itk::Functor::IntensityLinearTransform< TInputImage::PixelType, TOutputImage::PixelType >::operator==(), itk::Functor::Sigmoid< TInputImage::PixelType, TOutputImage::PixelType >::operator==(), itk::Functor::LabelOverlayFunctor< FeatureImagePixelType, LabelMapPixelType, OutputImagePixelType >::operator==(), itk::Functor::BinaryThreshold< TInputImage::PixelType, TOutputImage::PixelType >::operator==(), itk::KLMDynamicBorderArray< TBorder >::operator>(), itk::LaplacianSegmentationLevelSetFunction< TImageType, TFeatureImageType >::SetAdvectionWeight(), itk::SigmoidImageFilter< TInputImage, TOutputImage >::SetAlpha(), itk::SigmoidImageFilter< TInputImage, TOutputImage >::SetBeta(), itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetBinaryMask(), itk::SigmoidImageFilter< TInputImage, TOutputImage >::SetOutputMaximum(), itk::SigmoidImageFilter< TInputImage, TOutputImage >::SetOutputMinimum(), and itk::ShapeUniqueLabelMapFilter< TImage >::TemplatedGenerateData().

◆ FloatAddULP()

template<typename T >
T itk::Math::FloatAddULP ( x,
typename Detail::FloatIEEE< T >::IntType  ulps 
)
inline

Add the given ULPs (units in the last place) to a float.

If the given ULPs can are negative, they are subtracted.

See also
FloatAlmostEqual
FloatDifferenceULP

Definition at line 271 of file itkMath.h.

References itk::Math::Detail::FloatIEEE< T >::asFloat, and itk::Math::Detail::FloatIEEE< T >::asInt.

◆ FloatAlmostEqual()

template<typename T >
bool itk::Math::FloatAlmostEqual ( x1,
x2,
typename Detail::FloatIEEE< T >::IntType  maxUlps = 4,
typename Detail::FloatIEEE< T >::FloatType  maxAbsoluteDifference = 0.1 * itk::NumericTraits<T>::epsilon() 
)
inline

Compare two floats and return if they are effectively equal.

Determining when floats are almost equal is difficult because of their IEEE bit representation. This function uses the integer representation of the float to determine if they are almost equal.

The implementation is based off the explanation in the white papers:

This function is not a cure-all, and reading those articles is important to understand its appropriate use in the context of ULPs, zeros, subnormals, infinities, and NANs. For example, it is preferable to use this function on two floats directly instead of subtracting them and comparing them to zero.

The tolerance is specified in ULPs (units in the last place), i.e. how many floats there are in between the numbers. Therefore, the tolerance depends on the magnitude of the values that are being compared. A second tolerance is a maximum difference allowed, which is important when comparing numbers close to zero.

A NAN compares as not equal to a number, but two NAN's may compare as equal to each other.

Parameters
x1first floating value to compare
x2second floating value to compare
maxUlpsmaximum units in the last place to be considered equal
maxAbsoluteDifferencemaximum absolute difference to be considered equal

Definition at line 310 of file itkMath.h.

References abs(), and FloatDifferenceULP().

◆ FloatDifferenceULP()

template<typename T >
Detail::FloatIEEE<T>::IntType itk::Math::FloatDifferenceULP ( x1,
x2 
)
inline

Return the signed distance in ULPs (units in the last place) between two floats.

This is the signed distance, i.e., if x1 > x2, then the result is positive.

See also
FloatAlmostEqual
FloatAddULP

Definition at line 255 of file itkMath.h.

References itk::Math::Detail::FloatIEEE< T >::AsULP().

Referenced by FloatAlmostEqual().

◆ Floor()

template<TReturn , typename TInput >
itk::Math::Floor ( TInput  x)

Round towards minus infinity.

The behavior of overflow is undefined due to numerous implementations.

Warning
argument absolute value must be less than NumbericTraits<TReturn>::max()/2 for vnl_math_floor to be guaranteed to work.
We also assume that the rounding mode is not changed from the default one (or at least that it is always restored to the default one).

Round towards plus infinity

The behavior of overflow is undefined due to numerous implementations.

Warning
argument absolute value must be less than INT_MAX/2 for vnl_math_ceil to be guaranteed to work.
We also assume that the rounding mode is not changed from the default one (or at least that it is always restored to the default one).

◆ GreatestPrimeFactor() [1/4]

ITKCommon_EXPORT unsigned int itk::Math::GreatestPrimeFactor ( unsigned int  n)

Return the greatest factor of the decomposition in prime numbers.

◆ GreatestPrimeFactor() [2/4]

ITKCommon_EXPORT unsigned long long itk::Math::GreatestPrimeFactor ( unsigned long long  n)

Return the greatest factor of the decomposition in prime numbers.

◆ GreatestPrimeFactor() [3/4]

ITKCommon_EXPORT unsigned long itk::Math::GreatestPrimeFactor ( unsigned long  n)

Return the greatest factor of the decomposition in prime numbers.

◆ GreatestPrimeFactor() [4/4]

ITKCommon_EXPORT unsigned short itk::Math::GreatestPrimeFactor ( unsigned short  n)

Return the greatest factor of the decomposition in prime numbers.

◆ IsPrime() [1/4]

ITKCommon_EXPORT bool itk::Math::IsPrime ( unsigned int  n)

Return whether the number is a prime number or not.

Note
Negative numbers cannot be prime.

◆ IsPrime() [2/4]

ITKCommon_EXPORT bool itk::Math::IsPrime ( unsigned long long  n)

Return whether the number is a prime number or not.

Note
Negative numbers cannot be prime.

◆ IsPrime() [3/4]

ITKCommon_EXPORT bool itk::Math::IsPrime ( unsigned long  n)

Return whether the number is a prime number or not.

Note
Negative numbers cannot be prime.

◆ IsPrime() [4/4]

ITKCommon_EXPORT bool itk::Math::IsPrime ( unsigned short  n)

Return whether the number is a prime number or not.

Note
Negative numbers cannot be prime.

◆ NotAlmostEquals()

template<typename T1 , typename T2 >
bool itk::Math::NotAlmostEquals ( T1  x1,
T2  x2 
)
inline

◆ NotExactlyEquals()

template<typename TInput1 , typename TInput2 >
bool itk::Math::NotExactlyEquals ( const TInput1 &  x1,
const TInput2 &  x2 
)
inline

Definition at line 733 of file itkMath.h.

References ExactlyEquals().

Referenced by itk::Functor::NotEqual< TInput1, TInput2, TOutput >::operator()(), itk::VariableSizeMatrix< double >::operator==(), itk::Matrix< double, Self::ImageDimension, Self::ImageDimension >::operator==(), itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, Image< TOutputPixelType, TInputImage::ImageDimension > >::SetAdvectionScaling(), itk::SegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::SetAdvectionScaling(), itk::GaussianInterpolateImageFunction< TInputImage, TCoordinate >::SetAlpha(), itk::NotImageFilter< TInputImage, TOutputImage >::SetBackgroundValue(), itk::ConstantPadImageFilter< TInputImage, TOutputImage >::SetConstant(), itk::DivideOrZeroOutImageFilter< TInputImage1, TInputImage2, TOutputImage >::SetConstant(), itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, Image< TOutputPixelType, TInputImage::ImageDimension > >::SetCurvatureScaling(), itk::SegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::SetCurvatureScaling(), itk::GeodesicActiveContourLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::SetDerivativeSigma(), itk::SegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::SetFeatureScaling(), itk::NotImageFilter< TInputImage, TOutputImage >::SetForegroundValue(), itk::CannyEdgeDetectionImageFilter< ImageType, ImageType >::SetMaximumError(), itk::MaskNegatedImageFilter< TInputImage, TMaskImage, TOutputImage >::SetOutsideValue(), itk::MaskImageFilter< TInputImage, TMaskImage, TOutputImage >::SetOutsideValue(), itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, Image< TOutputPixelType, TInputImage::ImageDimension > >::SetPropagationScaling(), itk::SegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::SetPropagationScaling(), itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::SetShapePriorScaling(), itk::DivideOrZeroOutImageFilter< TInputImage1, TInputImage2, TOutputImage >::SetThreshold(), itk::CannyEdgeDetectionImageFilter< ImageType, ImageType >::SetVariance(), TestCellDataContainer(), and TestPointDataContainer().

◆ Round()

TInput TInput TReturn itk::Math::Round ( TInput  x)
inline

Definition at line 179 of file itkMath.h.

◆ RoundHalfIntegerToEven()

template<TReturn , typename TInput >
itk::Math::RoundHalfIntegerToEven ( TInput  x)

Round towards nearest integer.

Template Parameters
TReturnmust be an integer type
TInputmust be float or double
    halfway cases are rounded towards the nearest even
    integer, e.g.

The behavior of overflow is undefined due to numerous implementations.

Warning
We assume that the rounding mode is not changed from the default one (or at least that it is always restored to the default one).

Round towards nearest integer

Template Parameters
TReturnmust be an integer type
TInputmust be float or double
    halfway cases are rounded upward, e.g.
RoundHalfIntegerUp(-1.5) == -1

The behavior of overflow is undefined due to numerous implementations.

Warning
The argument absolute value must be less than NumbericTraits<TReturn>::max()/2 for RoundHalfIntegerUp to be guaranteed to work.
We also assume that the rounding mode is not changed from the default one (or at least that it is always restored to the default one).

◆ RoundHalfIntegerUp()

TInput itk::Math::RoundHalfIntegerUp ( TInput  x)

Round towards nearest integer (This is a synonym for RoundHalfIntegerUp)

Template Parameters
TReturnmust be an integer type
TInputmust be float or double
See also
RoundHalfIntegerUp<TReturn, TInput>()

◆ UnsignedPower()

template<typename TReturnType = uintmax_t>
constexpr TReturnType itk::Math::UnsignedPower ( const uintmax_t  base,
const uintmax_t  exponent 
)
constexprnoexcept

Calculates base ^ exponent. Numeric overflow triggers a compilation error in "constexpr context" and a debug assert failure at run-time. Otherwise equivalent to C++11 static_cast<uintmax_t>(std::pow(base, exponent))

Note
UnsignedPower(0, 0) is not supported, as zero to the power of zero has no agreed-upon value: https://en.wikipedia.org/wiki/Zero_to_the_power_of_zero

Definition at line 793 of file itkMath.h.

Referenced by itk::ConnectedImageNeighborhoodShape< VImageDimension >::CalculateNumberOfConnectedNeighbors().

◆ UnsignedProduct()

template<typename TReturnType = uintmax_t>
constexpr TReturnType itk::Math::UnsignedProduct ( const uintmax_t  a,
const uintmax_t  b 
)
constexprnoexcept

Returns a * b. Numeric overflow triggers a compilation error in "constexpr context" and a debug assert failure at run-time.

Definition at line 771 of file itkMath.h.

Referenced by itk::ConnectedImageNeighborhoodShape< VImageDimension >::CalculateBinomialCoefficient(), and itk::ConnectedImageNeighborhoodShape< VImageDimension >::CalculateNumberOfHypercubesOnBoundaryOfCube().

Variable Documentation

◆ deg_per_rad

constexpr double itk::Math::deg_per_rad = vnl_math::deg_per_rad
staticconstexpr

\[ \frac{180}{\pi} \]


Definition at line 80 of file itkMath.h.

◆ e

constexpr double itk::Math::e = vnl_math::e
staticconstexpr

\[e\]

The base of the natural logarithm or Euler's number

Examples
Examples/Filtering/CompositeFilterExample.cxx, Examples/IO/DicomImageReadChangeHeaderWrite.cxx, Examples/IO/DicomImageReadWrite.cxx, Examples/IO/IOPlugin.cxx, Examples/IO/XML/itkParticleSwarmOptimizerDOMReader.cxx, Examples/IO/XML/itkParticleSwarmOptimizerSAXReader.cxx, Examples/IO/XML/itkParticleSwarmOptimizerSAXWriter.cxx, Examples/RegistrationITKv4/DeformableRegistration1.cxx, Examples/RegistrationITKv4/DeformableRegistration10.cxx, Examples/RegistrationITKv4/DeformableRegistration11.cxx, Examples/RegistrationITKv4/DeformableRegistration12.cxx, Examples/RegistrationITKv4/DeformableRegistration4.cxx, Examples/RegistrationITKv4/DeformableRegistration6.cxx, Examples/RegistrationITKv4/DeformableRegistration7.cxx, Examples/RegistrationITKv4/DeformableRegistration8.cxx, Examples/RegistrationITKv4/DeformableRegistration9.cxx, Examples/RegistrationITKv4/ImageRegistration11.cxx, Examples/RegistrationITKv4/ImageRegistration14.cxx, Examples/RegistrationITKv4/ImageRegistration15.cxx, Examples/RegistrationITKv4/ImageRegistration18.cxx, Examples/RegistrationITKv4/ImageRegistration19.cxx, Examples/RegistrationITKv4/IterativeClosestPoint1.cxx, Examples/RegistrationITKv4/IterativeClosestPoint2.cxx, Examples/RegistrationITKv4/IterativeClosestPoint3.cxx, Examples/RegistrationITKv4/MultiStageImageRegistration1.cxx, Examples/RegistrationITKv4/MultiStageImageRegistration2.cxx, Examples/Segmentation/GeodesicActiveContourShapePriorLevelSetImageFilter.cxx, Examples/Segmentation/WatershedSegmentation1.cxx, Examples/Statistics/ScalarImageMarkovRandomField1.cxx, SphinxExamples/src/Core/QuadEdgeMesh/CutMesh/Code.cxx, SphinxExamples/src/Core/QuadEdgeMesh/ExtractVertexOnMeshBoundaries/Code.cxx, SphinxExamples/src/Core/QuadEdgeMesh/GetListOfFacesAroundAGivenVertex/Code.cxx, SphinxExamples/src/Core/QuadEdgeMesh/PrintVertexNeighbors/Code.cxx, SphinxExamples/src/Filtering/BinaryMathematicalMorphology/ErodeABinaryImage/Code.cxx, SphinxExamples/src/Filtering/ImageFeature/DetectEdgesWithCannyEdgeDetectionFilter/Code.cxx, SphinxExamples/src/Filtering/ImageFeature/LaplacianRecursiveGaussianImageFilter/Code.cxx, SphinxExamples/src/Filtering/ImageFilterBase/CastAnImageToAnotherType/Code.cxx, SphinxExamples/src/Filtering/ImageGrid/Create3DVolume/Code.cxx, SphinxExamples/src/Filtering/MathematicalMorphology/ErodeAGrayscaleImage/Code.cxx, SphinxExamples/src/Filtering/Thresholding/ThresholdAnImageUsingBinary/Code.cxx, SphinxExamples/src/Filtering/Thresholding/ThresholdAnImageUsingOtsu/Code.cxx, SphinxExamples/src/ImageCompareCommand.cxx, SphinxExamples/src/IO/ImageBase/ReadUnknownImageType/Code.cxx, and SphinxExamples/src/Registration/Metricsv4/RegisterTwoPointSets/Code.cxx.

Definition at line 56 of file itkMath.h.

Referenced by itk::TotalProgressReporter::CheckAbortGenerateData(), itk::ProgressReporter::CheckAbortGenerateData(), itk::DiscretePrincipalCurvaturesQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::ComputeMeanAndGaussianCurvatures(), itk::Concept::AdditiveOperators< T1, T2, T3 >::Constraints::const_constraints(), itk::Concept::MultiplyOperator< T1, T2, T3 >::Constraints::const_constraints(), itk::Concept::DivisionOperators< T1, T2, T3 >::Constraints::const_constraints(), itk::Concept::BitwiseOperators< T1, T2, T3 >::Constraints::const_constraints(), itk::Concept::BracketOperator< T1, T2, T3 >::Constraints::const_constraints(), itk::Functor::DivideOrZeroOut< typename TInputImage1::PixelType, typename TInputImage2::PixelType, typename TOutputImage::PixelType >::DivideOrZeroOut(), itk::Versor< TParametersValueType >::Epsilon(), itk::DiscreteMeanCurvatureQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::EstimateCurvature(), itk::QuadEdgeMeshEulerOperatorSplitEdgeFunction< TMesh, TQEType >::Evaluate(), itk::MatrixOrthogonalityTolerance< double >::GetTolerance(), itk::MatrixOrthogonalityTolerance< float >::GetTolerance(), itk::ConstNeighborhoodIterator< TSparseImageType >::IsAtEnd(), itk::Functor::Sigmoid< TInputImage::PixelType, TOutputImage::PixelType >::operator()(), itk::operator<<(), itk::PDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetEnergy(), itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetEnergy(), itk::LevelSetFunction< TImageType >::SetEpsilonMagnitude(), itk::PDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetGradientStep(), itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetGradientStep(), itk::PDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetNormalizeGradient(), itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetNormalizeGradient(), and TestPointsContainer().

◆ eps

constexpr double itk::Math::eps = vnl_math::eps
staticconstexpr

◆ euler

constexpr double itk::Math::euler = vnl_math::euler
staticconstexpr

euler constant

Definition at line 94 of file itkMath.h.

◆ float_eps

constexpr float itk::Math::float_eps = vnl_math::float_eps
staticconstexpr

Definition at line 100 of file itkMath.h.

◆ float_sqrteps

constexpr float itk::Math::float_sqrteps = vnl_math::float_sqrteps
staticconstexpr

Definition at line 101 of file itkMath.h.

◆ ln10

constexpr double itk::Math::ln10 = vnl_math::ln10
staticconstexpr

\[ \log_e 10 \]

Definition at line 64 of file itkMath.h.

◆ ln2

constexpr double itk::Math::ln2 = vnl_math::ln2
staticconstexpr

\[ \log_e 2 \]

Definition at line 62 of file itkMath.h.

◆ log10e

constexpr double itk::Math::log10e = vnl_math::log10e
staticconstexpr

\[ \log_{10} e \]

Definition at line 60 of file itkMath.h.

◆ log2e

constexpr double itk::Math::log2e = vnl_math::log2e
staticconstexpr

\[ \log_2 e \]

Definition at line 58 of file itkMath.h.

◆ one_over_pi

constexpr double itk::Math::one_over_pi = vnl_math::one_over_pi
staticconstexpr

\[ \frac{1}{\pi} \]


Definition at line 76 of file itkMath.h.

◆ one_over_sqrt2pi

constexpr double itk::Math::one_over_sqrt2pi = vnl_math::one_over_sqrt2pi
staticconstexpr

\[ \frac{1}{\sqrt{2\pi}} \]


Definition at line 86 of file itkMath.h.

Referenced by itk::GaussianKernelFunction< double >::Evaluate().

◆ pi

constexpr double itk::Math::pi = vnl_math::pi
staticconstexpr

\[ \pi \]


Examples
Examples/DataRepresentation/Mesh/PointSetWithVectors.cxx, Examples/DataRepresentation/Mesh/RGBPointSet.cxx, Examples/Filtering/SpatialObjectToImage1.cxx, Examples/Filtering/SpatialObjectToImage2.cxx, Examples/Filtering/SpatialObjectToImage3.cxx, Examples/RegistrationITKv4/ChangeInformationImageFilter.cxx, Examples/RegistrationITKv4/ImageRegistration13.cxx, Examples/RegistrationITKv4/ImageRegistration14.cxx, Examples/RegistrationITKv4/ImageRegistration5.cxx, Examples/RegistrationITKv4/ImageRegistration6.cxx, Examples/RegistrationITKv4/ImageRegistration7.cxx, Examples/RegistrationITKv4/ImageRegistration9.cxx, Examples/Segmentation/HoughTransform2DCirclesImageFilter.cxx, SphinxExamples/src/Core/Common/ApplyCustomOperationToEachPixelInImage/Code.cxx, SphinxExamples/src/Core/Common/PiConstant/Code.cxx, SphinxExamples/src/Filtering/ImageGradient/ImplementationOfSnakes/Code.cxx, SphinxExamples/src/Filtering/ImageGrid/ChangeImageOriginSpacingOrDirection/Code.cxx, SphinxExamples/src/Filtering/MathematicalMorphology/GenerateStructureElementsWithAccurateArea/Code.cxx, SphinxExamples/src/Numerics/Optimizers/ExhaustiveOptimizer/Code.cxx, and SphinxExamples/src/Registration/Metricsv4/RegisterTwoPointSets/Code.cxx.

Definition at line 66 of file itkMath.h.

Referenced by itk::DiscretePrincipalCurvaturesQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::ComputeMeanAndGaussianCurvatures(), itk::DelaunayConformingQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::Dyer07Criterion(), itk::DiscreteGaussianCurvatureQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::EstimateCurvature(), itk::GaborKernelFunction< TRealValueType >::Evaluate(), itk::Statistics::MersenneTwisterRandomVariateGenerator::GetNormalVariate(), itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::PhasedArray3DSpecialCoordinatesImage(), and itk::WindowedSincInterpolateImageFunction< TInputImage, VRadius, TWindowFunction, TBoundaryCondition, TCoordinate >::Sinc().

◆ pi_over_180

constexpr double itk::Math::pi_over_180 = vnl_math::pi_over_180
staticconstexpr

\[ \frac{\pi}{180} \]


Definition at line 74 of file itkMath.h.

◆ pi_over_2

constexpr double itk::Math::pi_over_2 = vnl_math::pi_over_2
staticconstexpr

◆ pi_over_4

constexpr double itk::Math::pi_over_4 = vnl_math::pi_over_4
staticconstexpr

\[ \frac{\pi}{4} \]


Definition at line 72 of file itkMath.h.

◆ sqrt1_2

constexpr double itk::Math::sqrt1_2 = vnl_math::sqrt1_2
staticconstexpr

\[ \sqrt{ \frac{1}{2}} \]

Definition at line 90 of file itkMath.h.

◆ sqrt1_3

constexpr double itk::Math::sqrt1_3 = vnl_math::sqrt1_3
staticconstexpr

\[ \sqrt{ \frac{1}{3}} \]

Definition at line 92 of file itkMath.h.

◆ sqrt2

constexpr double itk::Math::sqrt2 = vnl_math::sqrt2
staticconstexpr

\[ \sqrt{2} \]


Definition at line 88 of file itkMath.h.

◆ sqrt2pi

constexpr double itk::Math::sqrt2pi = vnl_math::sqrt2pi
staticconstexpr

\[ \sqrt{2\pi} \]


Definition at line 82 of file itkMath.h.

◆ sqrteps

constexpr double itk::Math::sqrteps = vnl_math::sqrteps
staticconstexpr

Definition at line 98 of file itkMath.h.

◆ two_over_pi

constexpr double itk::Math::two_over_pi = vnl_math::two_over_pi
staticconstexpr

\[ \frac{2}{\pi} \]


Definition at line 78 of file itkMath.h.

◆ two_over_sqrtpi

constexpr double itk::Math::two_over_sqrtpi = vnl_math::two_over_sqrtpi
staticconstexpr

\[ \frac{2}{\sqrt{\pi}} \]


Definition at line 84 of file itkMath.h.

◆ twopi

constexpr double itk::Math::twopi = vnl_math::twopi
staticconstexpr

\[ 2\pi \]


Examples
Examples/Segmentation/HoughTransform2DCirclesImageFilter.cxx.

Definition at line 68 of file itkMath.h.

itk::Math::RoundHalfIntegerUp
TInput RoundHalfIntegerUp(TInput x) template< typename TReturn
Round towards nearest integer (This is a synonym for RoundHalfIntegerUp)
itk::Math::RoundHalfIntegerToEven
RoundHalfIntegerToEven(TInput x) template< TReturn
Round towards nearest integer.