ITK  4.1.0
Insight Segmentation and Registration Toolkit
Namespaces | Functions | Variables
itk::Math Namespace Reference

Namespaces

namespace  Detail

Functions

template<typename TReturn , typename TInput >
TReturn CastWithRangeCheck (TInput x)
template<TReturn , typename TInput >
 Ceil (TInput x)
template<TReturn , typename TInput >
 Floor (TInput x)
template<typename TReturn , typename TInput >
TReturn Round (TInput x)
template<TReturn , typename TInput >
 RoundHalfIntegerToEven (TInput x)
template<TReturn , typename TInput >
 RoundHalfIntegerUp (TInput x)

Variables

static const double e = 2.7182818284590452354
static const double ln10 = 2.30258509299404568402
static const double ln2 = 0.69314718055994530942
static const double log10e = 0.43429448190325182765
static const double log2e = 1.4426950408889634074
static const double one_over_pi = 0.31830988618379067154
static const double one_over_sqrt2pi = 0.39894228040143267794
static const double pi = 3.14159265358979323846
static const double pi_over_2 = 1.57079632679489661923
static const double pi_over_4 = 0.78539816339744830962
static const double sqrt1_2 = 0.70710678118654752440
static const double sqrt2 = 1.41421356237309504880
static const double two_over_pi = 0.63661977236758134308
static const double two_over_sqrtpi = 1.12837916709551257390

Function Documentation

template<typename TReturn , typename TInput >
TReturn itk::Math::CastWithRangeCheck ( TInput  x) [inline]

This class requires OnlyDefinedForIntegerTypes1 in the form of ( itk::Concept::IsInteger< TReturn > )

This class requires OnlyDefinedForIntegerTypes2 in the form of ( itk::Concept::IsInteger< TInput > )

Definition at line 180 of file itkMath.h.

References itkConceptMacro.

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

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).
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).
template<typename TReturn , typename TInput >
TReturn itk::Math::Round ( TInput  x) [inline]

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

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

Definition at line 149 of file itkMath.h.

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

Round towards nearest integer.

Template Parameters:
TReturnmust be an interger 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).
template<TReturn , typename TInput >
itk::Math::RoundHalfIntegerUp ( TInput  x)

Round towards nearest integer.

Template Parameters:
TReturnmust be an interger type
TInputmust be float or double

halfway cases are rounded upward, e.g.

          RoundHalfIntegerUp( 1.5) ==  2
          RoundHalfIntegerUp(-1.5) == -1
          RoundHalfIntegerUp( 2.5) ==  3

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).

Variable Documentation

const double itk::Math::e = 2.7182818284590452354 [static]

\[e\]

The base of the natural logarithm or Euler's number

Definition at line 45 of file itkMath.h.

Referenced by itk::TreeNodeChangeEvent< TTreeType >::CheckEvent(), itk::ProgressReporter::CompletedPixel(), ComputeHash(), 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::LogicalOperators< T1, T2, T3 >::Constraints::const_constraints(), itk::Concept::BracketOperator< T1, T2, T3 >::Constraints::const_constraints(), itk::Functor::DivideOrZeroOut< TInputImage1::PixelType, TInputImage2::PixelType, TOutputImage::PixelType >::DivideOrZeroOut(), itk::DiscreteMeanCurvatureQuadEdgeMeshFilter< TInputMesh, TOutputMesh >::EstimateCurvature(), HashTestImage(), itk::ConstNeighborhoodIterator< TSparseImageType >::IsAtEnd(), itk::Functor::Sigmoid< TInputImage::PixelType, TOutputImage::PixelType >::operator()(), itk::operator<<(), RegressionTestImage(), itk::fem::LoadLandmark::SetContainedElement(), itk::fem::ImageMetricLoad< TMoving, TFixed >::SetCurrentEnergy(), itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage, TFemObjectType >::SetElement(), itk::PDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetEnergy(), itk::LevelSetFunction< TImageType >::SetEpsilonMagnitude(), itk::PDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetGradientStep(), and itk::PDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetNormalizeGradient().

const double itk::Math::ln10 = 2.30258509299404568402 [static]

\[ \log_e 10 \]

Definition at line 53 of file itkMath.h.

const double itk::Math::ln2 = 0.69314718055994530942 [static]

\[ \log_e 2 \]

Definition at line 51 of file itkMath.h.

const double itk::Math::log10e = 0.43429448190325182765 [static]

\[ \log_{10} e \]

Definition at line 49 of file itkMath.h.

const double itk::Math::log2e = 1.4426950408889634074 [static]

\[ \log_2 e \]

Definition at line 47 of file itkMath.h.

const double itk::Math::one_over_pi = 0.31830988618379067154 [static]

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

Definition at line 61 of file itkMath.h.

const double itk::Math::one_over_sqrt2pi = 0.39894228040143267794 [static]

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

Definition at line 67 of file itkMath.h.

const double itk::Math::pi = 3.14159265358979323846 [static]
const double itk::Math::pi_over_2 = 1.57079632679489661923 [static]

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

Definition at line 57 of file itkMath.h.

const double itk::Math::pi_over_4 = 0.78539816339744830962 [static]

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

Definition at line 59 of file itkMath.h.

const double itk::Math::sqrt1_2 = 0.70710678118654752440 [static]

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

Definition at line 71 of file itkMath.h.

const double itk::Math::sqrt2 = 1.41421356237309504880 [static]

\[ \sqrt{2} \]

Definition at line 69 of file itkMath.h.

const double itk::Math::two_over_pi = 0.63661977236758134308 [static]

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

Definition at line 63 of file itkMath.h.

const double itk::Math::two_over_sqrtpi = 1.12837916709551257390 [static]

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

Definition at line 65 of file itkMath.h.