dlr::numeric Namespace Reference

This namespace contains code for 1D, 2D, and 3D arrays, matrices, coordinate transformations, rotation conversions, and much more. More...


Classes

class  AmanatidesWoo2D
 This class implements the Fast Voxel Traversal Algorithm of Amanatides and Woo [Ref] for 2D arrays. More...
class  AmanatidesWoo2DIterator
 This class provides access to the elements of a data array along a straight path, and does the actual work of Amanatides and Woo's fast voxel traversal algorithm. More...
class  AmanatidesWoo3D
 This class implements the Fast Voxel Traversal Algorithm of Amanatides and Woo [Ref] for 3D arrays. More...
class  AmanatidesWoo3DIterator
 This class provides access to the elements of a data array along a straight path, and does the actual work of Amanatides and Woo's fast voxel traversal algorithm. More...
class  Array1D
 The Array1D class template represents a 1D array of arbitrary type. More...
class  Array2D
 The Array2D class template represents a 2D array of arbitrary type. More...
class  Array3D
 The Array3D class template represents a 3D array of arbitrary type. More...
class  ArrayND
class  BilinearInterpolator
class  BoxIntegrator2D
 This class provides an efficient way integrate over rectangular regions of an Array2D instance. More...
class  BSpline
 Warning: This class is very new, and its test suite is still incomplete. More...
class  BSpline2D
 Warning: This class is very new, and its test suite is still incomplete. More...
struct  Gaussian1DFunctor
 Functor template which computes the value of a Gaussian evaluated at its argument. More...
struct  LogFunctor
 Functor template which computes the natural logarithm of its argument (using std::log(), if appropriate). More...
struct  NumericTypeConversionFunctor
 Functor template which uses static_cast to convert instances of one type into instances of another, but does the right thing with regard to rounding, so that the difference between the input and the returned value is minimized. More...
struct  SquareRootFunctor
 Functor template which computes the square root of its argument (using std::sqrt(), if appropriate). More...
class  IEEEFloat32
 The IEEEFloat32 class is for manipulating 32-bit IEEE floating point numbers. More...
class  Index2D
 The Index2D class represents a 2 dimensional index in (row, column) format, such as (0, 1), (23, 7), or (-4, 2). More...
class  Index3D
 The Index3D class represents a 3 dimensional index, such as (0, 1, 4), (23, 7, -11), or (-4, 2, 0). More...
class  MaxRecorder
 A simple class template to help you avoid writing "if(myVar > maxVal) {maxVal = myVar; bestIndex = ii;} all over your code. More...
class  MinRecorder
 A simple class template to help you avoid writing "if(myVar < minVal) {minVal = myVar; bestIndex = ii;} all over your code. More...
class  NormalizedCorrelator
 This class implements 1D normalized correlation, which is sometimes also called the Correlation Coefficient. More...
class  NumericTraits
 This class is used to customize the behavior of dlr_libs classes & functions for specific numeric types. More...
class  NumericTraits< char >
 This class is used to customize the behavior of dlr_libs classes & functions for the char type. More...
class  NumericTraits< unsigned char >
 This class is used to customize the behavior of dlr_libs classes & functions for the unsigned char type. More...
class  NumericTraits< short >
 This class is used to customize the behavior of dlr_libs classes & functions for the short type. More...
class  NumericTraits< int >
 This class is used to customize the behavior of dlr_libs classes & functions for the int type. More...
class  NumericTraits< long >
 This class is used to customize the behavior of dlr_libs classes & functions for the long type. More...
class  NumericTraits< float >
 This class is used to customize the behavior of dlr_libs classes & functions for the float type. More...
class  NumericTraits< double >
 This class is used to customize the behavior of dlr_libs classes & functions for the double type. More...
class  Polynomial
 This class represents polynomials of the form. More...
class  Quaternion
 This class implements a quaternion. More...
class  Slice
 A simple Slice class to work with SubArrays. More...
class  StencilIterator
 WARNING: This class is still under development and quite unstable. More...
class  Stencil2D
 WARNING: This class is still under development and quite unstable. More...
class  SubArray1D
 Header file defining a simple SubArray class to work with Array1D.h The goal here is simplicity. More...
class  SubArray2D
 Header file defining a simple SubArray class to work with Array2D.h The goal here is simplicity. More...
class  Transform2D
 The Transform2D class represents a homogeneous coordinate transform from one 2D coordinate system to another 2D coordinate system. More...
class  Transform2DFunctor
 This helper class works with Transform2D::getFunctor(). More...
class  Transform3D
 The Transform3D class represents a homogeneous coordinate transform from one 3D coordinate system to another 3D coordinate system. More...
class  Transform3DFunctor
 This helper class works with Transform3D::getFunctor(). More...
class  Transform3DTo2D
 The Transform3DTo2D class represents a homogeneous coordinate transformation from a 3D coordinate system to a 2D coordinate system. More...
class  Transform3DTo2DFunctor
 This helper class works with Transform3DTo2D::getFunctor(). More...
class  Vector2D
 The Vector2D class represents a real valued 2D vector. More...
class  Vector3D
 The Vector2D class represents a real valued 2D vector. More...

Enumerations

enum  ConvolutionStrategy {
  DLR_CONVOLVE_TRUNCATE_RESULT, DLR_CONVOLVE_PAD_RESULT, DLR_CONVOLVE_ZERO_PAD_RESULT, DLR_CONVOLVE_PAD_SIGNAL,
  DLR_CONVOLVE_ZERO_PAD_SIGNAL, DLR_CONVOLVE_REFLECT_SIGNAL, DLR_CONVOLVE_WRAP_SIGNAL
}
enum  ConvolutionROI { DLR_CONVOLVE_ROI_SAME, DLR_CONVOLVE_ROI_VALID, DLR_CONVOLVE_ROI_FULL }

Functions

template<class Type >
Array1D< Type > operator+ (const Array1D< Type > &array0, const Array1D< Type > &array1)
 Elementwise addition of Array1D instances.
template<class Type >
Array1D< Type > operator- (const Array1D< Type > &array0, const Array1D< Type > &array1)
 Elementwise subtraction of Array1D instances.
template<class Type >
Array1D< Type > operator* (const Array1D< Type > &array0, const Array1D< Type > &array1)
 Elementwise multiplication of Array1D instances.
template<class Type >
Array1D< Type > operator/ (const Array1D< Type > &array0, const Array1D< Type > &array1)
 Elementwise division of Array1D instances.
template<class Type >
Array1D< Type > operator+ (const Array1D< Type > &array, Type scalar)
 Addition of Array1D and scalar.
template<class Type >
Array1D< Type > operator- (const Array1D< Type > &array0, Type scalar)
 Subtraction of Array1D and scalar.
template<class Type >
Array1D< Type > operator* (const Array1D< Type > &array0, Type scalar)
 Multiplication of Array1D and scalar.
template<class Type >
Array1D< Type > operator/ (const Array1D< Type > &array0, Type scalar)
 Division of Array1D and scalar.
template<class Type >
Array1D< Type > operator+ (Type scalar, const Array1D< Type > &array0)
 Addition of scalar and Array1D.
template<class Type >
Array1D< Type > operator- (Type scalar, const Array1D< Type > &array0)
 Subtraction of scalar and Array1D.
template<class Type >
Array1D< Type > operator* (Type scalar, const Array1D< Type > &array0)
 Multiplication of scalar and Array1D.
template<class Type >
Array1D< Type > operator/ (Type scalar, const Array1D< Type > &array0)
 Division of scalar and Array1D.
template<class Type >
Array1D< bool > operator== (const Array1D< Type > &array0, const Type arg)
 Elementwise comparison of an Array1D with a constant.
template<class Type >
Array1D< bool > operator== (const Array1D< Type > &array0, const Array1D< Type > &array1)
 Elementwise comparison of an Array1D with another array.
template<class Type >
Array1D< bool > operator> (const Array1D< Type > &array0, const Type arg)
 Elementwise comparison of an Array1D with a constant.
template<class Type >
Array1D< bool > operator>= (const Array1D< Type > &array0, const Type arg)
 Elementwise comparison of an Array1D with a constant.
template<class Type >
Array1D< bool > operator< (const Array1D< Type > &array0, const Type arg)
 Elementwise comparison of an Array1D with a constant.
template<class Type >
Array1D< bool > operator<= (const Array1D< Type > &array0, const Type arg)
 Elementwise comparison of an Array1D with a constant.
template<class Type >
std::ostream & operator<< (std::ostream &stream, const Array1D< Type > &array0)
 Outputs a text representation of an Array1D instance to a std::ostream.
template<class Type >
std::istream & operator>> (std::istream &stream, Array1D< Type > &array0)
 Sets the value of an Array1D instance from a std::istream.
template<class Type >
Array2D< Type > squareRoot (const Array2D< Type > &array0)
 This function returns an array which is the same size as its argument, and in which the value of each element is the square root of the corresponding element of the argument.
template<class Type >
Array2D< Type > sqrt (const Array2D< Type > &array0)
 This function returns an array which is the same size as its argument, and in which the value of each element is the square root of the corresponding element of the argument.
template<class Type >
Array2D< Type > operator+ (const Array2D< Type > &array0, const Array2D< Type > &array1)
 Elementwise addition of Array2D instances.
template<class Type >
Array2D< Type > operator- (const Array2D< Type > &array0, const Array2D< Type > &array1)
 Elementwise subtraction of Array2D instances.
template<class Type >
Array2D< Type > operator* (const Array2D< Type > &array0, const Array2D< Type > &array1)
 Elementwise multiplication of Array2D instances.
template<class Type >
Array2D< Type > operator/ (const Array2D< Type > &array0, const Array2D< Type > &array1)
 Elementwise division of Array2D instances.
template<class Type >
Array2D< Type > operator+ (const Array2D< Type > &array0, Type scalar)
 Addition of Array2D and scalar.
template<class Type >
Array2D< Type > operator- (const Array2D< Type > &array0, Type scalar)
 Subtraction of Array2D and scalar.
template<class Type >
Array2D< Type > operator* (const Array2D< Type > &array0, Type scalar)
 Multiplication of Array2D and scalar.
template<class Type >
Array2D< Type > operator/ (const Array2D< Type > &array0, Type scalar)
 Division of Array2D and scalar.
template<class Type >
Array2D< Type > operator+ (Type scalar, const Array2D< Type > &array0)
 Addition of scalar and Array2D.
template<class Type >
Array2D< Type > operator* (Type scalar, const Array2D< Type > &array0)
 Multiplication of scalar and Array2D.
template<class Type >
Array2D< bool > operator== (const Array2D< Type > &array0, const Type arg)
 Elementwise comparison of an Array2D with a constant.
template<class Type >
Array2D< bool > operator== (const Array2D< Type > &array0, const Array2D< Type > &array1)
 Elementwise comparison of an Array2D with another array.
template<class Type >
Array2D< bool > operator> (const Array2D< Type > &array0, Type arg)
 Elementwise comparison of Array2D with a constant.
template<class Type >
Array2D< bool > operator< (const Array2D< Type > &array0, Type arg)
 Elementwise comparison of Array2D with a constant.
template<class Type >
Array2D< bool > operator>= (const Array2D< Type > &array0, Type arg)
 Elementwise comparison of Array2D with a constant.
template<class Type >
Array2D< bool > operator<= (const Array2D< Type > &array0, Type arg)
 Elementwise comparison of Array2D with a constant.
template<class Type >
std::ostream & operator<< (std::ostream &stream, const Array2D< Type > &array0)
 Outputs a text representation of an Array2D instance to a std::ostream.
template<class Type >
std::istream & operator>> (std::istream &stream, Array2D< Type > &array0)
 Sets the value of an Array2D instance from a std::istream.
template<class Type >
Array3D< Type > operator+ (const Array3D< Type > &array0, const Array3D< Type > &array1)
 This function returns the maximum element of the an Array3D instance.
template<class Type >
Array3D< Type > operator- (const Array3D< Type > &array0, const Array3D< Type > &array1)
 Elementwise subtraction of Array3D instances.
template<class Type >
Array3D< Type > operator* (const Array3D< Type > &array0, const Array3D< Type > &array1)
 Elementwise multiplication of Array3D instances.
template<class Type >
Array3D< Type > operator/ (const Array3D< Type > &array0, const Array3D< Type > &array1)
 Elementwise division of Array3D instances.
template<class Type >
Array3D< Type > operator+ (const Array3D< Type > &array0, Type scalar)
 Addition of Array3D and scalar.
template<class Type >
Array3D< Type > operator- (const Array3D< Type > &array0, Type scalar)
 Subtraction of Array3D and scalar.
template<class Type >
Array3D< Type > operator* (const Array3D< Type > &array0, Type scalar)
 Multiplication of Array3D and scalar.
template<class Type >
Array3D< Type > operator/ (const Array3D< Type > &array0, Type scalar)
 Division of Array3D and scalar.
template<class Type >
Array3D< Type > operator+ (Type scalar, const Array3D< Type > &array0)
 Addition of scalar and Array3D.
template<class Type >
Array3D< Type > operator* (Type scalar, const Array3D< Type > &array0)
 Multiplication of scalar and Array3D.
template<class Type >
Array3D< bool > operator== (const Array3D< Type > &array0, const Type arg)
 Elementwise comparison of an Array3D with a constant.
template<class Type >
Array3D< bool > operator== (const Array3D< Type > &array0, const Array3D< Type > &array1)
 Elementwise comparison of an Array3D with another array.
template<class Type >
Array3D< bool > operator< (const Array3D< Type > &array0, Type arg)
 Elementwise comparison of Array2D with a constant.
template<class Type >
Array3D< bool > operator<= (const Array3D< Type > &array0, Type arg)
 Elementwise comparison of Array3D with a constant.
template<class Type >
Array3D< bool > operator> (const Array3D< Type > &array0, Type arg)
 Elementwise comparison of Array3D with a constant.
template<class Type >
Array3D< bool > operator>= (const Array3D< Type > &array0, Type arg)
 Elementwise comparison of Array3D with a constant.
template<class Type >
std::ostream & operator<< (std::ostream &stream, const Array3D< Type > &array0)
 This operator outputs a text representation of an Array3D instance to a std::ostream.
template<class Type >
std::istream & operator>> (std::istream &stream, Array3D< Type > &array0)
 This operator sets the value of an Array3D instance from a std::istream.
template<size_t Dimension, class Type >
ArrayND< Dimension, Type > operator+ (const ArrayND< Dimension, Type > &array0, const ArrayND< Dimension, Type > &arrayN)
 Elementwise addition of ArrayND instances.
template<size_t Dimension, class Type >
ArrayND< Dimension, Type > operator- (const ArrayND< Dimension, Type > &array0, const ArrayND< Dimension, Type > &arrayN)
 Elementwise subtraction of ArrayND instances.
template<size_t Dimension, class Type >
ArrayND< Dimension, Type > operator* (const ArrayND< Dimension, Type > &array0, const ArrayND< Dimension, Type > &arrayN)
 Elementwise multiplication of ArrayND instances.
template<size_t Dimension, class Type >
ArrayND< Dimension, Type > operator/ (const ArrayND< Dimension, Type > &array0, const ArrayND< Dimension, Type > &arrayN)
 Elementwise division of ArrayND instances.
template<size_t Dimension, class Type >
ArrayND< Dimension, Type > operator+ (const ArrayND< Dimension, Type > &array, Type scalar)
 Addition of ArrayND and scalar.
template<size_t Dimension, class Type >
ArrayND< Dimension, Type > operator- (const ArrayND< Dimension, Type > &array0, Type scalar)
 Subtraction of ArrayND and scalar.
template<size_t Dimension, class Type >
ArrayND< Dimension, Type > operator* (const ArrayND< Dimension, Type > &array0, Type scalar)
 Multiplication of ArrayND and scalar.
template<size_t Dimension, class Type >
ArrayND< Dimension, Type > operator/ (const ArrayND< Dimension, Type > &array0, Type scalar)
 Division of ArrayND and scalar.
template<size_t Dimension, class Type >
ArrayND< Dimension, Type > operator+ (Type scalar, const ArrayND< Dimension, Type > &array0)
 Addition of scalar and ArrayND.
template<size_t Dimension, class Type >
ArrayND< Dimension, Type > operator- (Type scalar, const ArrayND< Dimension, Type > &array0)
 Subtraction of scalar and ArrayND.
template<size_t Dimension, class Type >
ArrayND< Dimension, Type > operator* (Type scalar, const ArrayND< Dimension, Type > &array0)
 Multiplication of scalar and ArrayND.
template<size_t Dimension, class Type >
ArrayND< Dimension, Type > operator/ (Type scalar, const ArrayND< Dimension, Type > &array0)
 Division of scalar and ArrayND.
template<size_t Dimension, class Type >
ArrayND< Dimension, bool > operator== (const ArrayND< Dimension, Type > &array0, const Type arg)
 Elementwise comparison of an ArrayND with a constant.
template<size_t Dimension, class Type >
ArrayND< Dimension, bool > operator== (const ArrayND< Dimension, Type > &array0, const ArrayND< Dimension, Type > &arrayN)
 Elementwise comparison of an ArrayND with another array.
template<size_t Dimension, class Type >
ArrayND< Dimension, bool > operator> (const ArrayND< Dimension, Type > &array0, const Type arg)
 Elementwise comparison of an ArrayND with a constant.
template<size_t Dimension, class Type >
ArrayND< Dimension, bool > operator>= (const ArrayND< Dimension, Type > &array0, const Type arg)
 Elementwise comparison of an ArrayND with a constant.
template<size_t Dimension, class Type >
ArrayND< Dimension, bool > operator< (const ArrayND< Dimension, Type > &array0, const Type arg)
 Elementwise comparison of an ArrayND with a constant.
template<size_t Dimension, class Type >
ArrayND< Dimension, bool > operator<= (const ArrayND< Dimension, Type > &array0, const Type arg)
 Elementwise comparison of an ArrayND with a constant.
template<size_t Dimension, class Type >
std::ostream & operator<< (std::ostream &stream, const ArrayND< Dimension, Type > &array0)
template<size_t Dimension, class Type >
std::istream & operator>> (std::istream &stream, ArrayND< Dimension, Type > &array0)
template<class Type >
Array1D< Type > convolve (const Array1D< Type > &kernel, const Array1D< Type > &signal, ConvolutionStrategy strategy)
template<class Type0 , class Type1 >
Array1D< Type1 > convolve (const Array1D< Type0 > &kernel, const Array1D< Type0 > &signal, type_tag< Type1 > resultTag, ConvolutionStrategy strategy=DLR_CONVOLVE_ZERO_PAD_RESULT)
template<class Type >
Array1D< Type > correlate (const Array1D< Type > &kernel, const Array1D< Type > &signal, ConvolutionStrategy strategy=DLR_CONVOLVE_ZERO_PAD_RESULT)
template<class Type0 , class Type1 >
Array1D< Type1 > correlate (const Array1D< Type0 > &kernel, const Array1D< Type0 > &signal, type_tag< Type1 > resultTag, ConvolutionStrategy strategy=DLR_CONVOLVE_ZERO_PAD_RESULT)
template<class OutputType , class KernelType , class SignalType >
Array1D< OutputType > convolve1D (const Array1D< KernelType > &kernel, const Array1D< SignalType > &signal, ConvolutionStrategy strategy=DLR_CONVOLVE_ZERO_PAD_RESULT, ConvolutionROI roi=DLR_CONVOLVE_ROI_SAME)
 Unstable: interface subject to change.
template<class OutputType , class KernelType , class SignalType , class FillType >
Array1D< OutputType > convolve1D (const Array1D< KernelType > &kernel, const Array1D< SignalType > &signal, ConvolutionStrategy strategy, ConvolutionROI roi, const FillType &fillValue)
 Unstable: interface subject to change.
template<class OutputType , class KernelType , class SignalType >
Array1D< OutputType > convolve1D (const Array1D< KernelType > &kernel, const Array1D< SignalType > &signal, ConvolutionStrategy strategy, int boundary0, int boundary1)
 Unstable: interface subject to change.
template<class OutputType , class KernelType , class SignalType , class FillType >
Array1D< OutputType > convolve1D (const Array1D< KernelType > &kernel, const Array1D< SignalType > &signal, ConvolutionStrategy strategy, int boundary0, int boundary1, const FillType &fillValue)
 Unstable: interface subject to change.
template<class OutputType , class KernelType , class SignalType >
Array1D< OutputType > correlate1D (const Array1D< KernelType > &kernel, const Array1D< SignalType > &signal, ConvolutionStrategy strategy=DLR_CONVOLVE_ZERO_PAD_RESULT, ConvolutionROI roi=DLR_CONVOLVE_ROI_SAME)
 Unstable: interface subject to change.
template<class OutputType , class KernelType , class SignalType , class FillType >
Array1D< OutputType > correlate1D (const Array1D< KernelType > &kernel, const Array1D< SignalType > &signal, ConvolutionStrategy strategy, ConvolutionROI roi, const FillType &fillValue)
 Unstable: interface subject to change.
template<class OutputType , class KernelType , class SignalType >
Array1D< OutputType > correlate1D (const Array1D< KernelType > &kernel, const Array1D< SignalType > &signal, ConvolutionStrategy strategy, int boundary0, int boundary1)
 Unstable: interface subject to change.
template<class OutputType , class KernelType , class SignalType , class FillType >
Array1D< OutputType > correlate1D (const Array1D< KernelType > &kernel, const Array1D< SignalType > &signal, ConvolutionStrategy strategy, int boundary0, int boundary1, const FillType &fillValue)
 Unstable: interface subject to change.
template<class OutputType , class AccumulatorType , class KernelType , class SignalType >
Array2D< OutputType > convolve2D (const Array2D< KernelType > &kernel, const Array2D< SignalType > &signal, ConvolutionStrategy strategy=DLR_CONVOLVE_PAD_RESULT, ConvolutionROI roi=DLR_CONVOLVE_ROI_SAME)
 Unstable: interface subject to change.
template<class OutputType , class AccumulatorType , class KernelType , class SignalType , class FillType >
Array2D< OutputType > convolve2D (const Array2D< KernelType > &kernel, const Array2D< SignalType > &signal, ConvolutionStrategy strategy, ConvolutionROI roi, const FillType &fillValue)
 Unstable: interface subject to change.
template<class OutputType , class AccumulatorType , class KernelType , class SignalType >
Array2D< OutputType > convolve2D (const Array2D< KernelType > &kernel, const Array2D< SignalType > &signal, ConvolutionStrategy strategy, const Index2D &corner0, const Index2D &corner1)
 Unstable: interface subject to change.
template<class OutputType , class AccumulatorType , class KernelType , class SignalType , class FillType >
Array2D< OutputType > convolve2D (const Array2D< KernelType > &kernel, const Array2D< SignalType > &signal, ConvolutionStrategy strategy, const Index2D &corner0, const Index2D &corner1, const FillType &fillValue)
 Unstable: interface subject to change.
template<class OutputType , class AccumulatorType , class KernelType , class SignalType >
Array2D< OutputType > correlate2D (const Array2D< KernelType > &kernel, const Array2D< SignalType > &signal, ConvolutionStrategy strategy=DLR_CONVOLVE_PAD_RESULT, ConvolutionROI roi=DLR_CONVOLVE_ROI_SAME)
 Unstable: interface subject to change.
template<class OutputType , class AccumulatorType , class KernelType , class SignalType , class FillType >
Array2D< OutputType > correlate2D (const Array2D< KernelType > &kernel, const Array2D< SignalType > &signal, ConvolutionStrategy strategy, ConvolutionROI roi, const FillType &fillValue)
 Unstable: interface subject to change.
template<class OutputType , class AccumulatorType , class KernelType , class SignalType >
Array2D< OutputType > correlate2D (const Array2D< KernelType > &kernel, const Array2D< SignalType > &signal, ConvolutionStrategy strategy, const Index2D &corner0, const Index2D &corner1)
 Unstable: interface subject to change.
template<class OutputType , class AccumulatorType , class KernelType , class SignalType , class FillType >
Array2D< OutputType > correlate2D (const Array2D< KernelType > &kernel, const Array2D< SignalType > &signal, ConvolutionStrategy strategy, const Index2D &corner0, const Index2D &corner1, const FillType &fillValue)
 Unstable: interface subject to change.
template<class OutputType , class AccumulatorType , class KernelType , class SignalType , size_t Dimension>
ArrayND< Dimension, OutputType > convolve (const Array1D< KernelType > &kernel, const ArrayND< Dimension, SignalType > &signal, size_t axis, ConvolutionStrategy strategy=DLR_CONVOLVE_PAD_RESULT, ConvolutionROI roi=DLR_CONVOLVE_ROI_SAME)
 Unstable: interface subject to change.
bool bilaterate (const Vector2D &point0, const Vector2D &point1, double range0, double range1, Vector2D &intersection0, Vector2D &intersection1)
 This function finds a 2D point, given two other points and distance between each of those points and the point to be recovered.
Index2D operator+ (const Index2D &index0, const Index2D &index1)
 This operator returns the elementwise sum of two Index2D instances.
Index2D operator- (const Index2D &index0, const Index2D &index1)
 This operator returns the elementwise difference of two Index2D instances.
Index2D operator* (const Index2D &index0, const Index2D &index1)
 This operator returns the elementwise product of two Index2D instances.
Index2D operator/ (const Index2D &index0, const Index2D &index1)
 This operator returns the elementwise dividend of two Index2D instances.
Index2D operator+ (const Index2D &index0, int scalar0)
 This operator adds a scalar and an Index2D.
Index2D operator- (const Index2D &index0, int scalar0)
 This operator subtracts a scalar from an Index2D.
Index2D operator* (const Index2D &index0, int scalar0)
 This operator multiplies an Index2D by scalar.
Index2D operator/ (const Index2D &index0, int scalar0)
 This operator divides an Index2D by scalar.
bool operator== (const Index2D &index0, const Index2D &index1)
 This operator checks the supplied indexs for equality.
bool operator!= (const Index2D &index0, const Index2D &index1)
 This operator checks the supplied indexs for inequality.
std::ostream & operator<< (std::ostream &stream, const Index2D &index0)
 This function outputs a text representation of an Index2D instance to a std::ostream.
std::istream & operator>> (std::istream &stream, Index2D &index0)
 This function sets the value of an Index2D instance from a std::istream.
Index2D operator+ (int scalar0, const Index2D &index0)
 This operator adds a scalar value to each element of an Index2D instance.
Index2D operator* (int scalar0, const Index2D &index0)
 This operator multiplies a scalar value with each element of a Index2D instance.
Index3D operator+ (const Index3D &index0, const Index3D &index1)
 This operator returns the elementwise sum of two Index3D instances.
Index3D operator- (const Index3D &index0, const Index3D &index1)
 This operator returns the elementwise difference of two Index3D instances.
Index3D operator* (const Index3D &index0, const Index3D &index1)
 This operator returns the elementwise product of two Index3D instances.
Index3D operator/ (const Index3D &index0, const Index3D &index1)
 This operator returns the elementwise dividend of two Index3D instances.
Index3D operator+ (const Index3D &index0, int scalar0)
 This operator adds a scalar and an Index3D.
Index3D operator- (const Index3D &index0, int scalar0)
 This operator subtracts a scalar from an Index3D.
Index3D operator* (const Index3D &index0, int scalar0)
 This operator multiplies an Index3D by scalar.
Index3D operator/ (const Index3D &index0, int scalar0)
 This operator divides an Index3D by scalar.
bool operator== (const Index3D &index0, const Index3D &index1)
 This operator checks the supplied indexs for equality.
bool operator!= (const Index3D &index0, const Index3D &index1)
 This operator checks the supplied indexs for inequality.
std::ostream & operator<< (std::ostream &stream, const Index3D &index0)
 This function outputs a text representation of an Index3D instance to a std::ostream.
std::istream & operator>> (std::istream &stream, Index3D &index0)
 This function sets the value of an Index3D instance from a std::istream.
Index3D operator+ (int scalar0, const Index3D &index0)
 This operator adds a scalar value to each element of an Index3D instance.
Index3D operator* (int scalar0, const Index3D &index0)
 This operator multiplies a scalar value with each element of a Index3D instance.
template<class Type >
Polynomial< Type > operator* (const Polynomial< Type > &arg0, const Polynomial< Type > &arg1)
 This operator multiplies two Polynomial instances.
template<class Type >
Polynomial< Type > operator+ (const Polynomial< Type > &arg0, const Polynomial< Type > &arg1)
 This operator adds two Polynomial instances.
template<class Type >
Polynomial< Type > operator- (const Polynomial< Type > &arg0, const Polynomial< Type > &arg1)
 This operator subtracts two Polynomial instances.
Quaternion conjugate (const Quaternion &source)
 This function returns the conjugate of a Quaternion, in which the sign of each imaginary component has been reversed.
Quaternion angleAxisToQuaternion (double angle, const Vector3D &axis, bool isNormalized)
Vector3D angleAxisToRollPitchYaw (double angle, const Vector3D &axis, bool isNormalized)
Transform3D angleAxisToTransform3D (double angle, const Vector3D &axis, bool isNormalized)
Transform3D eulerToTransform3D (double angle0, Axis axis0, double angle1, Axis axis1, double angle2, Axis axis2)
std::pair< double, Vector3DquaternionToAngleAxis (const Quaternion &quaternion)
Vector3D quaternionToRollPitchYaw (const Quaternion &quaternion)
Transform3D quaternionToTransform3D (const Quaternion &quaternion)
std::pair< double, Vector3DrollPitchYawToAngleAxis (const Vector3D &rollPitchYaw)
Quaternion rollPitchYawToQuaternion (const Vector3D &rollPitchYaw)
Transform3D rollPitchYawToTransform3D (const Vector3D &rollPitchYaw)
std::pair< double, Vector3Dtransform3DToAngleAxis (const Transform3D &transform3D)
Quaternion transform3DToQuaternion (const Transform3D &transform3D)
Vector3D transform3DToRollPitchYaw (const Transform3D &transform3D)
template<class TYPE >
Array1D< TYPE > getGaussian1D (double sigma, size_t size=0, bool normalize=false)
 This function returns an array in which the elements are sampled from a 1D Gaussian.
template<class Type >
bool solveCubic (Type c0, Type c1, Type c2, Type &root0, Type &root1, Type &root2)
 This function computes the real roots of the cubic polynomial x^3 + c0*x^2 + c1*x + c2 = 0.
template<class Type >
void solveCubic (Type c0, Type c1, Type c2, std::complex< Type > &root0, std::complex< Type > &root1, std::complex< Type > &root2)
 This function computes the (possibly complex) roots of the cubic polynomial x^3 + c0*x^2 + c1*x + c2 = 0.
template<class Type >
bool solveQuadratic (Type c0, Type c1, Type c2, Type &root0, Type &root1)
 This function computes the real roots of the quadratic polynomial c0*x^2 + c1*x + c2 = 0.
template<class Type >
void solveQuadratic (Type c0, Type c1, Type c2, std::complex< Type > &root0, std::complex< Type > &root1)
 This function computes the (possibly complex) roots of the quadratic polynomial c0*x^2 + c1*x + c2 = 0.
template<class Type >
void solveQuadratic (std::complex< Type > c0, std::complex< Type > c1, std::complex< Type > &root0, std::complex< Type > &root1)
 This function computes the roots of the quadratic polynomial x^2 + c0*x + c1 = 0, where c0 and c1 are complex.
template<class Type >
void solveQuartic (Type c0, Type c1, Type c2, Type c3, std::complex< Type > &root0, std::complex< Type > &root1, std::complex< Type > &root2, std::complex< Type > &root3)
 This function computes the (possibly complex) roots of the quartic polynomial x^4 + c0*x^3 + c1*x^2 + c2*x + c3 = 0.
template<class Type >
SubArray1D< Type > subArray (const Array1D< Type > &source)
 This is a convenience function for constructing SubArray1D instances which reference every element of the source array.
template<class Type >
SubArray1D< Type > subArray (const Array1D< Type > &source, const Slice &rowSlice)
 This is a convenience function for constructing SubArray1D instances which reference only selected elements of the source array.
template<class Type >
std::ostream & operator<< (std::ostream &stream, const SubArray1D< Type > &subArray0)
 This stream output operator sends a text representation of the SubArray1D instance to the supplied stream instance.
template<class Type >
SubArray2D< Type > subArray (const Array2D< Type > &source)
 This is a convenience function for constructing SubArray2D instances which reference every element of the source array.
template<class Type >
SubArray2D< Type > subArray (const Array2D< Type > &source, const Slice &rowSlice, const Slice &columnSlice)
 This is a convenience function for constructing SubArray2D instances which reference only selected elements of the source array.
template<class Type >
SubArray2D< Type > subArray (const Array2D< Type > &source, const int row, const Slice &columnSlice)
 This function is just like subArray(const Array2D<Type>&, const Slice&, const Slice&), above except that it constructs a SubArray2D instance which references only selected elements _of a particular row_ in the source array.
template<class Type >
SubArray2D< Type > subArray (const Array2D< Type > &source, const Slice &rowSlice, int column)
 This function is just like subArray(const Array2D<Type>&, const Slice&, const Slice&), above except that it constructs a SubArray2D instance which references only selected elements _of a particular column_ in the source array.
template<class Type >
std::ostream & operator<< (std::ostream &stream, const SubArray2D< Type > &subArray0)
 This stream output operator sends a text representation of the SubArray2D instance to the supplied stream instance.
template<class Type0 >
void getQuadraticCoefficients3x3 (Type0 value00, Type0 value01, Type0 value02, Type0 value10, Type0 value11, Type0 value12, Type0 value20, Type0 value21, Type0 value22, double &k0, double &k1, double &k2, double &k3, double &k4, double &k5)
 This function solves for the coefficients of a 2D quadratic, given the function values on a 3x3 grid around the origin.
template<class Type0 , class Type1 >
bool subpixelInterpolate (double centerRowCoord, double centerColumnCoord, Type0 value00, Type0 value01, Type0 value02, Type0 value10, Type0 value11, Type0 value12, Type0 value20, Type0 value21, Type0 value22, double &extremumRowCoord, double &extremumColumnCoord, Type1 &extremeValue)
 Given pixel values in a 3x3 array around (centerRow, centerColumn), this function fits a quadratic to the array values and returns the location and interpolated value of the extremum (max or min value) of the quadratic.
template<class Type0 , class Type1 >
bool subpixelInterpolate (double centerPosition, Type0 value0, Type0 value1, Type0 value2, double &extremumPosition, Type1 &extremeValue)
 Given pixel values in a 3x1 arrangement centerPosition, this function fits a quadratic to the values and returns the location and interpolated value of the extremum (max or min value) of the quadratic.
Transform2D operator* (const Transform2D &transform0, const Transform2D &transform1)
 This operator composes two Transform2D instances.
std::ostream & operator<< (std::ostream &stream, const Transform2D &transform0)
 Outputs a text representation of a Transform2D instance to a std::ostream.
std::istream & operator>> (std::istream &stream, Transform2D &transform0)
 Sets the value of a Transform2D instance from a std::istream.
Transform3D operator* (const Transform3D &transform0, const Transform3D &transform1)
 This operator composes two Transform3D instances.
std::ostream & operator<< (std::ostream &stream, const Transform3D &transform0)
 Outputs a text representation of a Transform3D instance to a std::ostream.
std::istream & operator>> (std::istream &stream, Transform3D &transform0)
 Sets the value of a Transform3D instance from a std::istream.
Transform3DTo2D operator* (const Transform3DTo2D &transform0, const Transform3D &transform1)
 This operator composes a Transform3DTo2D instance with a Transform3D instance.
std::ostream & operator<< (std::ostream &stream, const Transform3DTo2D &transform0)
 Outputs a text representation of a Transform3D instance to a std::ostream.
std::istream & operator>> (std::istream &stream, Transform3DTo2D &transform0)
 Sets the value of a Transform3DTo2D instance from a std::istream.
Vector2D operator+ (const Vector2D &vector0, const Vector2D &vector1)
 This operator returns the elementwise sum of two Vector2D instances.
Vector2D operator- (const Vector2D &vector0, const Vector2D &vector1)
 This operator returns the elementwise difference of two Vector2D instances.
Vector2D operator* (const Vector2D &vector0, const Vector2D &vector1)
 This operator returns the elementwise product of two Vector2D instances.
Vector2D operator/ (const Vector2D &vector0, const Vector2D &vector1)
 This operator returns the elementwise dividend of two Vector2D instances.
Vector2D operator+ (const Vector2D &vector0, double scalar0)
 This operator adds a scalar and a Vector2D.
Vector2D operator- (const Vector2D &vector0, double scalar0)
 This operator subtracts a scalar from a Vector2D.
Vector2D operator* (const Vector2D &vector0, double scalar0)
 This operator multiplies a Vector2D by scalar.
Vector2D operator/ (const Vector2D &vector0, double scalar0)
 This operator divides a Vector2D by scalar.
bool operator== (const Vector2D &vector0, const Vector2D &vector1)
 This operator checks the supplied vectors for equality.
bool operator!= (const Vector2D &vector0, const Vector2D &vector1)
 This operator checks the supplied vectors for inequality.
std::ostream & operator<< (std::ostream &stream, const Vector2D &vector0)
 This function outputs a text representation of a Vector2D instance to a std::ostream.
std::istream & operator>> (std::istream &stream, Vector2D &vector0)
 This function sets the value of a Vector2D instance from a std::istream.
Vector2D operator+ (double scalar0, const Vector2D &vector0)
 This operator adds a scalar value to each element of a Vector2D instance.
Vector2D operator* (double scalar0, const Vector2D &vector0)
 This operator multiplies a scalar value with each element of a Vector2D instance.
Vector3D operator+ (const Vector3D &vector0, const Vector3D &vector1)
 This operator returns the elementwise sum of two Vector3D instances.
Vector3D operator- (const Vector3D &vector0, const Vector3D &vector1)
 This operator returns the elementwise difference of two Vector3D instances.
Vector3D operator* (const Vector3D &vector0, const Vector3D &vector1)
 This operator returns the elementwise product of two Vector3D instances.
Vector3D operator/ (const Vector3D &vector0, const Vector3D &vector1)
 This operator returns the elementwise dividend of two Vector3D instances.
Vector3D operator+ (const Vector3D &vector0, double scalar0)
 This operator adds a scalar and a Vector3D.
Vector3D operator- (const Vector3D &vector0, double scalar0)
 This operator subtracts a scalar from a Vector3D.
Vector3D operator* (const Vector3D &vector0, double scalar0)
 This operator multiplies a Vector3D by scalar.
Vector3D operator/ (const Vector3D &vector0, double scalar0)
 This operator divides a Vector3D by scalar.
bool operator== (const Vector3D &vector0, const Vector3D &vector1)
 This operator checks the supplied vectors for equality.
bool operator!= (const Vector3D &vector0, const Vector3D &vector1)
 This operator checks the supplied vectors for inequality.
std::ostream & operator<< (std::ostream &stream, const Vector3D &vector0)
 This function outputs a text representation of a Vector3D instance to a std::ostream.
std::istream & operator>> (std::istream &stream, Vector3D &vector0)
 This function sets the value of a Vector3D instance from a std::istream.
Vector3D operator+ (double scalar0, const Vector3D &vector0)
 This operator adds a scalar value to each element of a Vector3D instance.
Vector3D operator* (double scalar0, const Vector3D &vector0)
 This operator multiplies a scalar value with each element of a Vector3D instance.


Detailed Description

This namespace contains code for 1D, 2D, and 3D arrays, matrices, coordinate transformations, rotation conversions, and much more.


Enumeration Type Documentation

Enumerator:
DLR_CONVOLVE_ZERO_PAD_RESULT 
Deprecated:
{Please use DLR_CONVOLVE_PAD_RESULT instead.}

Definition at line 23 of file convolutionStrategy.h.


Function Documentation

bool dlr::numeric::bilaterate ( const Vector2D &  point0,
const Vector2D &  point1,
double  range0,
double  range1,
Vector2D &  intersection0,
Vector2D &  intersection1 
)

This function finds a 2D point, given two other points and distance between each of those points and the point to be recovered.

That is, it answers the question "what point is at range0 from point0 and also at range1 from point1?" Note that there may be two points which satisfy this constraint, or there may be none if the sum of range0 and range1 is less than the distance between point0 and point1.

Parameters:
point0 This argument specifies the first known point.
point1 This argument specifies the second known point.
range0 This argument specifies the distance from point0 to the target point.
range1 This argument specifies the distance from point1 to the target point.
intersection0 This argument returns the first of the two points which is at range0 from point0 and at range1 from point1. If no solution is found, then this argument will not be touched.
intersection1 This argument returns the second of the two points which is at range0 from point0 and at range1 from point1. In degenerate cases, intersection1 will be identical to intersection0. If no solution is found, then this argument will not be touched.
Returns:
The return value is true if a solution was found, false otherwise.

Definition at line 23 of file geometry2D.cpp.

References sqrt(), dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().

Quaternion dlr::numeric::conjugate ( const Quaternion &  source  )  [inline]

This function returns the conjugate of a Quaternion, in which the sign of each imaginary component has been reversed.

Note that for quaternions which represent rotation, the rotation represented by the conjugate is also the inverse rotation. That is, if you rotate by a quaternion, q, and then rotate by conjugate(q), you wind up exactly where you started.

Parameters:
source This argument specifies the Quaternion whose conjugate is to be computed.
Returns:
The return value is a Quaternion which is conjugate to the argument.

Definition at line 220 of file quaternion.h.

References dlr::numeric::Quaternion::i(), dlr::numeric::Quaternion::j(), dlr::numeric::Quaternion::k(), and dlr::numeric::Quaternion::s().

template<class OutputType , class AccumulatorType , class KernelType , class SignalType , size_t Dimension>
ArrayND< Dimension, OutputType > dlr::numeric::convolve ( const Array1D< KernelType > &  kernel,
const ArrayND< Dimension, SignalType > &  signal,
size_t  axis,
ConvolutionStrategy  strategy = DLR_CONVOLVE_PAD_RESULT,
ConvolutionROI  roi = DLR_CONVOLVE_ROI_SAME 
) [inline]

template<class Type0 , class Type1 >
Array1D< Type1 > dlr::numeric::convolve ( const Array1D< Type0 > &  kernel,
const Array1D< Type0 > &  signal,
type_tag< Type1 >  resultTag,
ConvolutionStrategy  strategy = DLR_CONVOLVE_ZERO_PAD_RESULT 
) [inline]

template<class Type >
Array1D< Type > dlr::numeric::convolve ( const Array1D< Type > &  kernel,
const Array1D< Type > &  signal,
ConvolutionStrategy  strategy = DLR_CONVOLVE_ZERO_PAD_RESULT 
) [inline]

Deprecated:
{Please use convolve1D() from dlrNumeric/convolve1D.h instead.}

Definition at line 150 of file convolve.h.

template<class OutputType , class KernelType , class SignalType , class FillType >
Array1D< OutputType > dlr::numeric::convolve1D ( const Array1D< KernelType > &  kernel,
const Array1D< SignalType > &  signal,
ConvolutionStrategy  strategy,
int  boundary0,
int  boundary1,
const FillType &  fillValue 
) [inline]

Unstable: interface subject to change.

Definition at line 630 of file convolve1D.h.

References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().

template<class OutputType , class KernelType , class SignalType >
Array1D< OutputType > dlr::numeric::convolve1D ( const Array1D< KernelType > &  kernel,
const Array1D< SignalType > &  signal,
ConvolutionStrategy  strategy,
int  boundary0,
int  boundary1 
) [inline]

Unstable: interface subject to change.

Definition at line 614 of file convolve1D.h.

References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().

template<class OutputType , class KernelType , class SignalType , class FillType >
Array1D< OutputType > dlr::numeric::convolve1D ( const Array1D< KernelType > &  kernel,
const Array1D< SignalType > &  signal,
ConvolutionStrategy  strategy,
ConvolutionROI  roi,
const FillType &  fillValue 
) [inline]

Unstable: interface subject to change.

Definition at line 599 of file convolve1D.h.

References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().

template<class OutputType , class KernelType , class SignalType >
Array1D< OutputType > dlr::numeric::convolve1D ( const Array1D< KernelType > &  kernel,
const Array1D< SignalType > &  signal,
ConvolutionStrategy  strategy = DLR_CONVOLVE_ZERO_PAD_RESULT,
ConvolutionROI  roi = DLR_CONVOLVE_ROI_SAME 
) [inline]

Unstable: interface subject to change.

Definition at line 584 of file convolve1D.h.

References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().

template<class OutputType , class AccumulatorType , class KernelType , class SignalType , class FillType >
Array2D< OutputType > dlr::numeric::convolve2D ( const Array2D< KernelType > &  kernel,
const Array2D< SignalType > &  signal,
ConvolutionStrategy  strategy,
const Index2D &  corner0,
const Index2D &  corner1,
const FillType &  fillValue 
) [inline]

Unstable: interface subject to change.

Definition at line 1544 of file convolve2D.h.

template<class OutputType , class AccumulatorType , class KernelType , class SignalType >
Array2D< OutputType > dlr::numeric::convolve2D ( const Array2D< KernelType > &  kernel,
const Array2D< SignalType > &  signal,
ConvolutionStrategy  strategy,
const Index2D &  corner0,
const Index2D &  corner1 
) [inline]

Unstable: interface subject to change.

Definition at line 1529 of file convolve2D.h.

template<class OutputType , class AccumulatorType , class KernelType , class SignalType , class FillType >
Array2D< OutputType > dlr::numeric::convolve2D ( const Array2D< KernelType > &  kernel,
const Array2D< SignalType > &  signal,
ConvolutionStrategy  strategy,
ConvolutionROI  roi,
const FillType &  fillValue 
) [inline]

Unstable: interface subject to change.

Definition at line 1514 of file convolve2D.h.

template<class OutputType , class AccumulatorType , class KernelType , class SignalType >
Array2D< OutputType > dlr::numeric::convolve2D ( const Array2D< KernelType > &  kernel,
const Array2D< SignalType > &  signal,
ConvolutionStrategy  strategy = DLR_CONVOLVE_PAD_RESULT,
ConvolutionROI  roi = DLR_CONVOLVE_ROI_SAME 
) [inline]

Unstable: interface subject to change.

Definition at line 1500 of file convolve2D.h.

template<class Type0 , class Type1 >
Array1D< Type1 > dlr::numeric::correlate ( const Array1D< Type0 > &  kernel,
const Array1D< Type0 > &  signal,
type_tag< Type1 >  resultTag,
ConvolutionStrategy  strategy = DLR_CONVOLVE_ZERO_PAD_RESULT 
) [inline]

Deprecated:
{Please use correlate1D() from dlrNumeric/convolve1D.h instead.}

Definition at line 184 of file convolve.h.

References DLR_CONVOLVE_ZERO_PAD_RESULT.

template<class Type >
Array1D< Type > dlr::numeric::correlate ( const Array1D< Type > &  kernel,
const Array1D< Type > &  signal,
ConvolutionStrategy  strategy = DLR_CONVOLVE_ZERO_PAD_RESULT 
) [inline]

Deprecated:
{Please use correlate1D() from dlrNumeric/convolve1D.h instead.}

Definition at line 174 of file convolve.h.

Referenced by convolve().

template<class OutputType , class KernelType , class SignalType , class FillType >
Array1D< OutputType > dlr::numeric::correlate1D ( const Array1D< KernelType > &  kernel,
const Array1D< SignalType > &  signal,
ConvolutionStrategy  strategy,
int  boundary0,
int  boundary1,
const FillType &  fillValue 
) [inline]

Unstable: interface subject to change.

Definition at line 785 of file convolve1D.h.

References DLR_CONVOLVE_ZERO_PAD_RESULT, and dlr::numeric::Array1D< Type >::size().

template<class OutputType , class KernelType , class SignalType >
Array1D< OutputType > dlr::numeric::correlate1D ( const Array1D< KernelType > &  kernel,
const Array1D< SignalType > &  signal,
ConvolutionStrategy  strategy,
int  boundary0,
int  boundary1 
) [inline]

Unstable: interface subject to change.

Definition at line 730 of file convolve1D.h.

References DLR_CONVOLVE_ZERO_PAD_RESULT, and dlr::numeric::Array1D< Type >::size().

template<class OutputType , class KernelType , class SignalType , class FillType >
Array1D< OutputType > dlr::numeric::correlate1D ( const Array1D< KernelType > &  kernel,
const Array1D< SignalType > &  signal,
ConvolutionStrategy  strategy,
ConvolutionROI  roi,
const FillType &  fillValue 
) [inline]

Unstable: interface subject to change.

Definition at line 688 of file convolve1D.h.

References dlr::numeric::Array1D< Type >::size().

template<class OutputType , class KernelType , class SignalType >
Array1D< OutputType > dlr::numeric::correlate1D ( const Array1D< KernelType > &  kernel,
const Array1D< SignalType > &  signal,
ConvolutionStrategy  strategy = DLR_CONVOLVE_ZERO_PAD_RESULT,
ConvolutionROI  roi = DLR_CONVOLVE_ROI_SAME 
) [inline]

Unstable: interface subject to change.

Definition at line 646 of file convolve1D.h.

References dlr::numeric::Array1D< Type >::size().

template<class OutputType , class AccumulatorType , class KernelType , class SignalType , class FillType >
Array2D< OutputType > dlr::numeric::correlate2D ( const Array2D< KernelType > &  kernel,
const Array2D< SignalType > &  signal,
ConvolutionStrategy  strategy,
const Index2D &  corner0,
const Index2D &  corner1,
const FillType &  fillValue 
) [inline]

Unstable: interface subject to change.

Definition at line 1715 of file convolve2D.h.

References dlr::numeric::Array2D< Type >::columns(), DLR_CONVOLVE_ZERO_PAD_RESULT, and dlr::numeric::Array2D< Type >::rows().

template<class OutputType , class AccumulatorType , class KernelType , class SignalType >
Array2D< OutputType > dlr::numeric::correlate2D ( const Array2D< KernelType > &  kernel,
const Array2D< SignalType > &  signal,
ConvolutionStrategy  strategy,
const Index2D &  corner0,
const Index2D &  corner1 
) [inline]

Unstable: interface subject to change.

Definition at line 1651 of file convolve2D.h.

References dlr::numeric::Array2D< Type >::columns(), DLR_CONVOLVE_ZERO_PAD_RESULT, and dlr::numeric::Array2D< Type >::rows().

template<class OutputType , class AccumulatorType , class KernelType , class SignalType , class FillType >
Array2D< OutputType > dlr::numeric::correlate2D ( const Array2D< KernelType > &  kernel,
const Array2D< SignalType > &  signal,
ConvolutionStrategy  strategy,
ConvolutionROI  roi,
const FillType &  fillValue 
) [inline]

template<class OutputType , class AccumulatorType , class KernelType , class SignalType >
Array2D< OutputType > dlr::numeric::correlate2D ( const Array2D< KernelType > &  kernel,
const Array2D< SignalType > &  signal,
ConvolutionStrategy  strategy = DLR_CONVOLVE_PAD_RESULT,
ConvolutionROI  roi = DLR_CONVOLVE_ROI_SAME 
) [inline]

template<class TYPE >
Array1D< TYPE > dlr::numeric::getGaussian1D ( double  sigma,
size_t  size = 0,
bool  normalize = false 
) [inline]

This function returns an array in which the elements are sampled from a 1D Gaussian.

The maximum of the Gaussian is at the center of the returned array, and the distance between adjacent samples (elements of the array) is assumed to be exactly 1.0.

Parameters:
sigma This argument specifies the desired standard deviation of the Gaussian.
size This argument specifies how many elements should be in the returned array. If size is set to 0, the returned value will have the smallest odd number of elements that is greater than or equal to 6.0 * sigma. xxx is this correct?
normalize This argument specifies whether, after the elements of the array have been computed, the array should be rescaled so that its elements sum to 1.0.
Returns:
The return value is an array containing the sampled values.

Definition at line 75 of file sampledFunctions.h.

template<class Type0 >
void dlr::numeric::getQuadraticCoefficients3x3 ( Type0  value00,
Type0  value01,
Type0  value02,
Type0  value10,
Type0  value11,
Type0  value12,
Type0  value20,
Type0  value21,
Type0  value22,
double &  k0,
double &  k1,
double &  k2,
double &  k3,
double &  k4,
double &  k5 
) [inline]

This function solves for the coefficients of a 2D quadratic, given the function values on a 3x3 grid around the origin.

It is used internally by subpixelInterpolate(), but is exposed here in case its useful in other contexts. This function is completely hardcoded, so it should be reasonably fast.

Note that this function talks in (x, y) coordinates, while subpixelInterpolate() talks in (row, column) coordinates. Our normal convention is that row number goes up with increasing y coordinate and column number goes up with increasing x coordinate, so this makes the valueYX arguments match nicely with the valueRowColumn arguments of subpixelInterpolate(), but it's something to be aware of if you don't follow this convention.

More detail about what this routine does: assuming you have the function

   f(x, y) = [x, y] [k0, k1] [x] + [x, y] [k3] + k5
                    [k1, k2] [y]          [k4]

and are given the values of f(x, y) for the 3x3 grid x = {-1, 0, 1}, y = {-1, 0, 1}, this function returns the values of k0 ... k5 that most nearly satisfy the equation (in the least squares sense).

Parameters:
value00 This argument is the value of f(-1, -1).
value01 This argument is the value of f(0, -1).
value02 This argument is the value of f(1, -1).
value10 This argument is the value of f(-1, 0).
value11 This argument is the value of f(0, 0).
value12 This argument is the value of f(1, 0).
value20 This argument is the value of f(-1, 1).
value21 This argument is the value of f(0, 1).
value22 This argument is the value of f(1, 1).
k0 This argument returns a recovered parameter of the quadratic function.
k1 This argument returns a recovered parameter of the quadratic function.
k2 This argument returns a recovered parameter of the quadratic function.
k3 This argument returns a recovered parameter of the quadratic function.
k4 This argument returns a recovered parameter of the quadratic function.
k5 This argument returns a recovered parameter of the quadratic function.

Definition at line 236 of file subpixelInterpolate.h.

Referenced by subpixelInterpolate().

bool dlr::numeric::operator!= ( const Vector3D &  vector0,
const Vector3D &  vector1 
)

This operator checks the supplied vectors for inequality.

Parameters:
vector0 First vector to compare.
vector1 Second vector to compare.
Returns:
Result of comparing vector0 to vector1 for inequality.

Definition at line 94 of file vector3D.cpp.

bool dlr::numeric::operator!= ( const Vector2D &  vector0,
const Vector2D &  vector1 
)

This operator checks the supplied vectors for inequality.

Parameters:
vector0 First vector to compare.
vector1 Second vector to compare.
Returns:
Result of comparing vector0 to vector1 for inequality.

Definition at line 76 of file vector2D.cpp.

bool dlr::numeric::operator!= ( const Index3D &  index0,
const Index3D &  index1 
)

This operator checks the supplied indexs for inequality.

Parameters:
index0 First Index3D instance to compare.
index1 Second Index3D instance to compare.
Returns:
Result of comparing index0 to index1 for inequality.

Definition at line 95 of file index3D.cpp.

bool dlr::numeric::operator!= ( const Index2D &  index0,
const Index2D &  index1 
)

This operator checks the supplied indexs for inequality.

Parameters:
index0 First Index2D instance to compare.
index1 Second Index2D instance to compare.
Returns:
Result of comparing index0 to index1 for inequality.

Definition at line 86 of file index2D.cpp.

Vector3D dlr::numeric::operator* ( double  scalar0,
const Vector3D &  vector0 
) [inline]

This operator multiplies a scalar value with each element of a Vector3D instance.

Parameters:
scalar0 Scalar argument of the multiplication.
vector0 Vector argument of the multiplication.
Returns:
Vector3D instance in which the value of each element is the product of the scalar argument and the corresponding element of the Vector3D argument.

Definition at line 487 of file vector3D.h.

Vector3D dlr::numeric::operator* ( const Vector3D &  vector0,
double  scalar0 
)

This operator multiplies a Vector3D by scalar.

Parameters:
vector0 This is the Vector3D instance which is to be multiplied by the scalar.
scalar0 This is amount by which should argument vector0 is to be multiplied.
Returns:
A Vector3D instance in which the value of each element is equal to the corresponding value of the first argument multiplied by the value of the second argument.

Definition at line 70 of file vector3D.cpp.

References dlr::numeric::Vector3D::x(), dlr::numeric::Vector3D::y(), and dlr::numeric::Vector3D::z().

Vector3D dlr::numeric::operator* ( const Vector3D &  vector0,
const Vector3D &  vector1 
)

This operator returns the elementwise product of two Vector3D instances.

Parameters:
vector0 This is the first of the two Vector3D instances to be multiplied.
vector1 This is the second of the two Vector3D instances to be multiplied.
Returns:
A Vector3D instance in which the value of each element is equal to the product of the corresponding elements of the two arguments.

Definition at line 38 of file vector3D.cpp.

References dlr::numeric::Vector3D::x(), dlr::numeric::Vector3D::y(), and dlr::numeric::Vector3D::z().

Vector2D dlr::numeric::operator* ( double  scalar0,
const Vector2D &  vector0 
) [inline]

This operator multiplies a scalar value with each element of a Vector2D instance.

Parameters:
scalar0 Scalar argument of the multiplication.
vector0 Vector argument of the multiplication.
Returns:
Vector2D instance in which the value of each element is the product of the scalar argument and the corresponding element of the Vector2D argument.

Definition at line 503 of file vector2D.h.

Vector2D dlr::numeric::operator* ( const Vector2D &  vector0,
double  scalar0 
)

This operator multiplies a Vector2D by scalar.

Parameters:
vector0 This is the Vector2D instance which is to be multiplied by the scalar.
scalar0 This is amount by which should argument vector0 is to be multiplied.
Returns:
A Vector2D instance in which the value of each element is equal to the corresponding value of the first argument multiplied by the value of the second argument.

Definition at line 57 of file vector2D.cpp.

References dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().

Vector2D dlr::numeric::operator* ( const Vector2D &  vector0,
const Vector2D &  vector1 
)

This operator returns the elementwise product of two Vector2D instances.

Parameters:
vector0 This is the first of the two Vector2D instances to be multiplied.
vector1 This is the second of the two Vector2D instances to be multiplied.
Returns:
A Vector2D instance in which the value of each element is equal to the product of the corresponding elements of the two arguments.

Definition at line 33 of file vector2D.cpp.

References dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().

Transform3DTo2D dlr::numeric::operator* ( const Transform3DTo2D &  transform0,
const Transform3D &  transform1 
)

This operator composes a Transform3DTo2D instance with a Transform3D instance.

The resulting Transform3DTo2D instance the equation:

(transform0 * transform1) * v0 = transform0 * (transform1 * v0),

where v0 is a Vector3D instance.

Parameters:
transform0 This is the Transform3DTo2D instance to be composed.
transform1 This is the Transform3D instance to be composed.
Returns:
A Transform3DTo2D instance which is equivalent to the composition of the two arguments.

Definition at line 207 of file transform3DTo2D.cpp.

References dlr::numeric::Transform3D::value(), and dlr::numeric::Transform3DTo2D::value().

Transform3D dlr::numeric::operator* ( const Transform3D &  transform0,
const Transform3D &  transform1 
)

This operator composes two Transform3D instances.

The resulting transform satisfies the equation:

(transform0 * transform1) * v0 = transform0 * (transform1 * v0),

where v0 is a Vector3D instance.

Parameters:
transform0 This is the first of the two Transform3D instances to be composed.
transform1 This is the second of the two Transform3D instances to be composed.
Returns:
A Transform3D instance which is equivalent to the composition of the two arguments.

Definition at line 336 of file transform3D.cpp.

References dlr::numeric::Transform3D::value().

Transform2D dlr::numeric::operator* ( const Transform2D &  transform0,
const Transform2D &  transform1 
)

This operator composes two Transform2D instances.

The resulting transform satisfies the equation:

(transform0 * transform1) * v0 = transform0 * (transform1 * v0),

where v0 is a Vector2D instance.

Parameters:
transform0 This is the first of the two Transform2D instances to be composed.
transform1 This is the second of the two Transform2D instances to be composed.
Returns:
A Transform2D instance which is equivalent to the composition of the two arguments.

Definition at line 253 of file transform2D.cpp.

References dlr::numeric::Transform2D::value().

template<class Type >
Polynomial< Type > dlr::numeric::operator* ( const Polynomial< Type > &  arg0,
const Polynomial< Type > &  arg1 
) [inline]

This operator multiplies two Polynomial instances.

Values returned by operator()(xValue) of the result of this multiplication will be equal to the product of the values returned by the operator()(xValue) of arg0 and arg1.

Parameters:
arg0 This argument is one of the Polynomial instances to be multiplied.
arg1 This argument is one of the Polynomial instances to be multiplied.
Returns:
The return value is the result of the multiplication.

Definition at line 492 of file polynomial.h.

Index3D dlr::numeric::operator* ( int  scalar0,
const Index3D &  index0 
) [inline]

This operator multiplies a scalar value with each element of a Index3D instance.

Parameters:
scalar0 Scalar argument of the multiplication.
index0 Index3D argument of the multiplication.
Returns:
Index3D instance in which the value of each element is the product of the scalar argument and the corresponding element of the Index3D argument.

Definition at line 465 of file index3D.h.

Index3D dlr::numeric::operator* ( const Index3D &  index0,
int  scalar0 
)

This operator multiplies an Index3D by scalar.

Parameters:
index0 This is the Index3D instance which is to be multiplied by the scalar.
scalar0 This is amount by which should argument index0 is to be multiplied.
Returns:
An Index3D instance in which the value of each element is equal to the corresponding value of the first argument multiplied by the value of the second argument.

Definition at line 69 of file index3D.cpp.

References dlr::numeric::Index3D::getColumn(), dlr::numeric::Index3D::getRow(), and dlr::numeric::Index3D::getSlice().

Index3D dlr::numeric::operator* ( const Index3D &  index0,
const Index3D &  index1 
)

This operator returns the elementwise product of two Index3D instances.

Parameters:
index0 This is the first of the two Index3D instances to be multiplied.
index1 This is the second of the two Index3D instances to be multiplied.
Returns:
An Index3D instance in which the value of each element is equal to the product of the corresponding elements of the two arguments.

Definition at line 37 of file index3D.cpp.

References dlr::numeric::Index3D::getColumn(), dlr::numeric::Index3D::getRow(), and dlr::numeric::Index3D::getSlice().

Index2D dlr::numeric::operator* ( int  scalar0,
const Index2D &  index0 
) [inline]

This operator multiplies a scalar value with each element of a Index2D instance.

Parameters:
scalar0 Scalar argument of the multiplication.
index0 Index2D argument of the multiplication.
Returns:
Index2D instance in which the value of each element is the product of the scalar argument and the corresponding element of the Index2D argument.

Definition at line 477 of file index2D.h.

Index2D dlr::numeric::operator* ( const Index2D &  index0,
int  scalar0 
)

This operator multiplies an Index2D by scalar.

Parameters:
index0 This is the Index2D instance which is to be multiplied by the scalar.
scalar0 This is amount by which should argument index0 is to be multiplied.
Returns:
An Index2D instance in which the value of each element is equal to the corresponding value of the first argument multiplied by the value of the second argument.

Definition at line 63 of file index2D.cpp.

References dlr::numeric::Index2D::getColumn(), and dlr::numeric::Index2D::getRow().

Index2D dlr::numeric::operator* ( const Index2D &  index0,
const Index2D &  index1 
)

This operator returns the elementwise product of two Index2D instances.

Parameters:
index0 This is the first of the two Index2D instances to be multiplied.
index1 This is the second of the two Index2D instances to be multiplied.
Returns:
An Index2D instance in which the value of each element is equal to the product of the corresponding elements of the two arguments.

Definition at line 35 of file index2D.cpp.

References dlr::numeric::Index2D::getColumn(), and dlr::numeric::Index2D::getRow().

template<size_t Dimension, class Type >
ArrayND< Dimension, Type > dlr::numeric::operator* ( Type  scalar,
const ArrayND< Dimension, Type > &  array0 
) [inline]

Multiplication of scalar and ArrayND.

Parameters:
scalar Scalar argument of the multiplication.
array0 ArrayND argument of the multiplication.
Returns:
ArrayND instance in which the value of each element is the product of the scalar argument and the corresponding element of the ArrayND argument.

Definition at line 1450 of file arrayND.h.

template<size_t Dimension, class Type >
ArrayND< Dimension, Type > dlr::numeric::operator* ( const ArrayND< Dimension, Type > &  array0,
Type  scalar 
) [inline]

Multiplication of ArrayND and scalar.

Parameters:
array0 ArrayND argument of the multiplication.
scalar Scalar argument of the multiplication.
Returns:
ArrayND instance in which the value of each element is the product of the corresponding element of the ArrayND argument and the scalar argument.

Definition at line 1413 of file arrayND.h.

References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), and dlr::numeric::ArrayND< Dimension, Type >::getShape().

template<size_t Dimension, class Type >
ArrayND< Dimension, Type > dlr::numeric::operator* ( const ArrayND< Dimension, Type > &  array0,
const ArrayND< Dimension, Type > &  arrayN 
) [inline]

Elementwise multiplication of ArrayND instances.

Parameters:
array0 First argument for multiplication.
arrayN Second argument for multiplication.
Exceptions:
ValueException on incompatible array sizes
Returns:
ArrayND instance in which the value of each element is the product of the values of the corresponding elements of the two ArrayND arguments.

Definition at line 1357 of file arrayND.h.

References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), dlr::numeric::ArrayND< Dimension, Type >::getShape(), and dlr::numeric::ArrayND< Dimension, Type >::size().

template<class Type >
Array3D< Type > dlr::numeric::operator* ( Type  scalar,
const Array3D< Type > &  array0 
) [inline]

Multiplication of scalar and Array3D.

Parameters:
scalar Scalar argument of the multiplication.
array0 Array3D argument of the multiplication.
Returns:
Array3D instance in which the value of each element is the product of the scalar argument and the corresponding element of the Array3D argument.

Definition at line 1973 of file array3D.h.

template<class Type >
Array3D< Type > dlr::numeric::operator* ( const Array3D< Type > &  array0,
Type  scalar 
) [inline]

Multiplication of Array3D and scalar.

Parameters:
array0 Array3D argument of the multiplication.
scalar Scalar argument of the multiplication.
Returns:
Array3D instance in which the value of each element is the product of the corresponding element of the Array3D argument and the scalar argument.

Definition at line 1946 of file array3D.h.

References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().

template<class Type >
Array3D< Type > dlr::numeric::operator* ( const Array3D< Type > &  array0,
const Array3D< Type > &  array1 
) [inline]

Elementwise multiplication of Array3D instances.

Parameters:
array0 First argument for multiplication.
array1 Second argument for multiplication.
Exceptions:
ValueException on incompatible array sizes
Returns:
Array3D instance in which the value of each element is the product of the values of the corresponding elements of the two Array3D arguments.

Definition at line 1880 of file array3D.h.

References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().

template<class Type >
Array2D< Type > dlr::numeric::operator* ( Type  scalar,
const Array2D< Type > &  array0 
) [inline]

Multiplication of scalar and Array2D.

Parameters:
scalar Scalar argument of the multiplication.
array0 Array2D argument of the multiplication.
Returns:
Array2D instance in which the value of each element is the product of the scalar argument and the corresponding element of the Array2D argument.

Definition at line 2133 of file array2D.h.

template<class Type >
Array2D< Type > dlr::numeric::operator* ( const Array2D< Type > &  array0,
Type  scalar 
) [inline]

Multiplication of Array2D and scalar.

Parameters:
array0 Array2D argument of the multiplication.
scalar Scalar argument of the multiplication.
Returns:
Array2D instance in which the value of each element is the product of the corresponding element of the Array2D argument and the scalar argument.

Definition at line 2109 of file array2D.h.

References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().

template<class Type >
Array2D< Type > dlr::numeric::operator* ( const Array2D< Type > &  array0,
const Array2D< Type > &  array1 
) [inline]

Elementwise multiplication of Array2D instances.

Parameters:
array0 First argument for multiplication.
array1 Second argument for multiplication.
Exceptions:
ValueException thrown when array sizes differ.
Returns:
Array2D instance in which the value of each element is the product of the values of the corresponding elements of the two Array2D arguments.

Definition at line 2055 of file array2D.h.

References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().

template<class Type >
Array1D< Type > dlr::numeric::operator* ( Type  scalar,
const Array1D< Type > &  array0 
) [inline]

Multiplication of scalar and Array1D.

Parameters:
scalar Scalar argument of the multiplication.
array0 Array1D argument of the multiplication.
Returns:
Array1D instance in which the value of each element is the product of the scalar argument and the corresponding element of the Array1D argument.

Definition at line 1606 of file array1D.h.

template<class Type >
Array1D< Type > dlr::numeric::operator* ( const Array1D< Type > &  array0,
Type  scalar 
) [inline]

Multiplication of Array1D and scalar.

Parameters:
array0 Array1D argument of the multiplication.
scalar Scalar argument of the multiplication.
Returns:
Array1D instance in which the value of each element is the product of the corresponding element of the Array1D argument and the scalar argument.

Definition at line 1569 of file array1D.h.

References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().

template<class Type >
Array1D< Type > dlr::numeric::operator* ( const Array1D< Type > &  array0,
const Array1D< Type > &  array1 
) [inline]

Elementwise multiplication of Array1D instances.

Parameters:
array0 First argument for multiplication.
array1 Second argument for multiplication.
Exceptions:
ValueException on incompatible array sizes
Returns:
Array1D instance in which the value of each element is the product of the values of the corresponding elements of the two Array1D arguments.

Definition at line 1513 of file array1D.h.

References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().

Vector3D dlr::numeric::operator+ ( double  scalar0,
const Vector3D &  vector0 
) [inline]

This operator adds a scalar value to each element of a Vector3D instance.

Parameters:
scalar0 Scalar argument of the addition.
vector0 Vector argument of the addition.
Returns:
Vector3D instance in which the value of each element is the sum of the scalar argument and the corresponding element of the Vector3D argument.

Definition at line 482 of file vector3D.h.

Vector3D dlr::numeric::operator+ ( const Vector3D &  vector0,
double  scalar0 
)

This operator adds a scalar and a Vector3D.

Parameters:
vector0 This is the Vector3D instance to which the scalar should be added.
scalar0 This is amount which should be added to each element of argument vector0.
Returns:
A Vector3D instance in which the value of each element is equal to the corresponding value of the first argument plus the value of the second argument.

Definition at line 54 of file vector3D.cpp.

References dlr::numeric::Vector3D::x(), dlr::numeric::Vector3D::y(), and dlr::numeric::Vector3D::z().

Vector3D dlr::numeric::operator+ ( const Vector3D &  vector0,
const Vector3D &  vector1 
)

This operator returns the elementwise sum of two Vector3D instances.

Parameters:
vector0 This is the first of the two Vector3D instances to be added.
vector1 This is the second of the two Vector3D instances to be added.
Returns:
A Vector3D instance in which the value of each element is equal to the sum of the corresponding elements of the two arguments.

Definition at line 22 of file vector3D.cpp.

References dlr::numeric::Vector3D::x(), dlr::numeric::Vector3D::y(), and dlr::numeric::Vector3D::z().

Vector2D dlr::numeric::operator+ ( double  scalar0,
const Vector2D &  vector0 
) [inline]

This operator adds a scalar value to each element of a Vector2D instance.

Parameters:
scalar0 Scalar argument of the addition.
vector0 Vector argument of the addition.
Returns:
Vector2D instance in which the value of each element is the sum of the scalar argument and the corresponding element of the Vector2D argument.

Definition at line 498 of file vector2D.h.

Vector2D dlr::numeric::operator+ ( const Vector2D &  vector0,
double  scalar0 
)

This operator adds a scalar and a Vector2D.

Parameters:
vector0 This is the Vector2D instance to which the scalar should be added.
scalar0 This is amount which should be added to each element of argument vector0.
Returns:
A Vector2D instance in which the value of each element is equal to the corresponding value of the first argument plus the value of the second argument.

Definition at line 45 of file vector2D.cpp.

References dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().

Vector2D dlr::numeric::operator+ ( const Vector2D &  vector0,
const Vector2D &  vector1 
)

This operator returns the elementwise sum of two Vector2D instances.

Parameters:
vector0 This is the first of the two Vector2D instances to be added.
vector1 This is the second of the two Vector2D instances to be added.
Returns:
A Vector2D instance in which the value of each element is equal to the sum of the corresponding elements of the two arguments.

Definition at line 21 of file vector2D.cpp.

References dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().

template<class Type >
Polynomial< Type > dlr::numeric::operator+ ( const Polynomial< Type > &  arg0,
const Polynomial< Type > &  arg1 
) [inline]

This operator adds two Polynomial instances.

Values returned by operator()(xValue) of the result of this multiplication will be equal to the sum of the values returned by the operator()(xValue) of arg0 and arg1.

Parameters:
arg0 This argument is one of the Polynomial instances to be added.
arg1 This argument is one of the Polynomial instances to be added.
Returns:
The return value is the result of the addition.

Definition at line 503 of file polynomial.h.

Index3D dlr::numeric::operator+ ( int  scalar0,
const Index3D &  index0 
) [inline]

This operator adds a scalar value to each element of an Index3D instance.

Parameters:
scalar0 Scalar argument of the addition.
index0 Index3D argument of the addition.
Returns:
Index3D instance in which the value of each element is the sum of the scalar argument and the corresponding element of the Index3D argument.

Definition at line 460 of file index3D.h.

Index3D dlr::numeric::operator+ ( const Index3D &  index0,
int  scalar0 
)

This operator adds a scalar and an Index3D.

Parameters:
index0 This is the Index3D instance to which the scalar should be added.
scalar0 This is amount which should be added to each element of argument index0.
Returns:
An Index3D instance in which the value of each element is equal to the corresponding value of the first argument plus the value of the second argument.

Definition at line 53 of file index3D.cpp.

References dlr::numeric::Index3D::getColumn(), dlr::numeric::Index3D::getRow(), and dlr::numeric::Index3D::getSlice().

Index3D dlr::numeric::operator+ ( const Index3D &  index0,
const Index3D &  index1 
)

This operator returns the elementwise sum of two Index3D instances.

Parameters:
index0 This is the first of the two Index3D instances to be added.
index1 This is the second of the two Index3D instances to be added.
Returns:
An Index3D instance in which the value of each element is equal to the sum of the corresponding elements of the two arguments.

Definition at line 21 of file index3D.cpp.

References dlr::numeric::Index3D::getColumn(), dlr::numeric::Index3D::getRow(), and dlr::numeric::Index3D::getSlice().

Index2D dlr::numeric::operator+ ( int  scalar0,
const Index2D &  index0 
) [inline]

This operator adds a scalar value to each element of an Index2D instance.

Parameters:
scalar0 Scalar argument of the addition.
index0 Index2D argument of the addition.
Returns:
Index2D instance in which the value of each element is the sum of the scalar argument and the corresponding element of the Index2D argument.

Definition at line 472 of file index2D.h.

Index2D dlr::numeric::operator+ ( const Index2D &  index0,
int  scalar0 
)

This operator adds a scalar and an Index2D.

Parameters:
index0 This is the Index2D instance to which the scalar should be added.
scalar0 This is amount which should be added to each element of argument index0.
Returns:
An Index2D instance in which the value of each element is equal to the corresponding value of the first argument plus the value of the second argument.

Definition at line 49 of file index2D.cpp.

References dlr::numeric::Index2D::getColumn(), and dlr::numeric::Index2D::getRow().

Index2D dlr::numeric::operator+ ( const Index2D &  index0,
const Index2D &  index1 
)

This operator returns the elementwise sum of two Index2D instances.

Parameters:
index0 This is the first of the two Index2D instances to be added.
index1 This is the second of the two Index2D instances to be added.
Returns:
An Index2D instance in which the value of each element is equal to the sum of the corresponding elements of the two arguments.

Definition at line 21 of file index2D.cpp.

References dlr::numeric::Index2D::getColumn(), and dlr::numeric::Index2D::getRow().

template<size_t Dimension, class Type >
ArrayND< Dimension, Type > dlr::numeric::operator+ ( Type  scalar,
const ArrayND< Dimension, Type > &  array0 
) [inline]

Addition of scalar and ArrayND.

Parameters:
scalar Scalar argument of the addition.
array0 ArrayND argument of the addition.
Returns:
ArrayND instance in which the value of each element is the sum of the scalar argument and the corresponding element of the ArrayND argument.

Definition at line 1433 of file arrayND.h.

template<size_t Dimension, class Type >
ArrayND< Dimension, Type > dlr::numeric::operator+ ( const ArrayND< Dimension, Type > &  array,
Type  scalar 
) [inline]

Addition of ArrayND and scalar.

Parameters:
array ArrayND argument of the addition.
scalar Scalar argument of the addition.
Returns:
ArrayND instance in which the value of each element is the sum of the corresponding element of the ArrayND argument and the scalar argument.

Definition at line 1393 of file arrayND.h.

References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), and dlr::numeric::ArrayND< Dimension, Type >::getShape().

template<size_t Dimension, class Type >
ArrayND< Dimension, Type > dlr::numeric::operator+ ( const ArrayND< Dimension, Type > &  array0,
const ArrayND< Dimension, Type > &  arrayN 
) [inline]

Elementwise addition of ArrayND instances.

Parameters:
array0 First argument for addition.
arrayN Second argument for addition.
Exceptions:
ValueException on incompatible array sizes
Returns:
ArrayND instance in which the value of each element is the sum of the values of the corresponding elements of the two ArrayND arguments.

Definition at line 1321 of file arrayND.h.

References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), dlr::numeric::ArrayND< Dimension, Type >::getShape(), and dlr::numeric::ArrayND< Dimension, Type >::size().

template<class Type >
Array3D< Type > dlr::numeric::operator+ ( Type  scalar,
const Array3D< Type > &  array0 
) [inline]

Addition of scalar and Array3D.

Parameters:
scalar Scalar argument of the addition.
array0 Array3D argument of the addition.
Returns:
Array3D instance in which the value of each element is the sum of the scalar argument and the corresponding element of the Array3D argument.

Definition at line 1966 of file array3D.h.

template<class Type >
Array3D< Type > dlr::numeric::operator+ ( const Array3D< Type > &  array0,
Type  scalar 
) [inline]

Addition of Array3D and scalar.

Parameters:
array0 Array3D argument of the addition.
scalar Scalar argument of the addition.
Returns:
Array3D instance in which the value of each element is the sum of the corresponding element of the Array3D argument and the scalar argument.

Definition at line 1926 of file array3D.h.

References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().

template<class Type >
Array3D< Type > dlr::numeric::operator+ ( const Array3D< Type > &  array0,
const Array3D< Type > &  array1 
) [inline]

This function returns the maximum element of the an Array3D instance.

Parameters:
array This argument is the Array3D instance in which to search for the largest element.
Returns:
The return value is the value of the largest element. This function returns the minimum element of the an Array3D instance.
Parameters:
array This argument is the Array3D instance in which to search for the smallest element.
Returns:
The return value is the value of the smallest element. This function computes the sum of the elements of its argument. The summation is accumulated into a variable of type NumericTraits<Type>::SumType, which for now defaults to Type, but ultimately should be a type which (for fixed point and integral types) has enough bits to hold the sum of at least 65535 elements.
Parameters:
array0 This argument is the array to be summed.
Returns:
The summation of all the elements of array0. Elementwise addition of Array3D instances.
Parameters:
array0 First argument for addition.
array1 Second argument for addition.
Exceptions:
ValueException on incompatible array sizes
Returns:
Array3D instance in which the value of each element is the sum of the values of the corresponding elements of the two Array3D arguments.

Definition at line 1834 of file array3D.h.

References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().

template<class Type >
Array2D< Type > dlr::numeric::operator+ ( Type  scalar,
const Array2D< Type > &  array0 
) [inline]

Addition of scalar and Array2D.

Parameters:
scalar Scalar argument of the addition.
array0 Array2D argument of the addition.
Returns:
Array2D instance in which the value of each element is the sum of the scalar argument and the corresponding element of the Array2D argument.

Definition at line 2127 of file array2D.h.

template<class Type >
Array2D< Type > dlr::numeric::operator+ ( const Array2D< Type > &  array0,
Type  scalar 
) [inline]

Addition of Array2D and scalar.

Parameters:
array0 Array2D argument of the addition.
scalar Scalar argument of the addition.
Returns:
Array2D instance in which the value of each element is the sum of the corresponding element of the Array2D argument and the scalar argument.

Definition at line 2091 of file array2D.h.

References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().

template<class Type >
Array2D< Type > dlr::numeric::operator+ ( const Array2D< Type > &  array0,
const Array2D< Type > &  array1 
) [inline]

Elementwise addition of Array2D instances.

Parameters:
array0 First argument for addition.
array1 Second argument for addition.
Exceptions:
ValueException thrown when array sizes differ.
Returns:
Array2D instance in which the value of each element is the sum of the values of the corresponding elements of the two Array2D arguments.

Definition at line 2019 of file array2D.h.

References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().

template<class Type >
Array1D< Type > dlr::numeric::operator+ ( Type  scalar,
const Array1D< Type > &  array0 
) [inline]

Addition of scalar and Array1D.

Parameters:
scalar Scalar argument of the addition.
array0 Array1D argument of the addition.
Returns:
Array1D instance in which the value of each element is the sum of the scalar argument and the corresponding element of the Array1D argument.

Definition at line 1589 of file array1D.h.

template<class Type >
Array1D< Type > dlr::numeric::operator+ ( const Array1D< Type > &  array,
Type  scalar 
) [inline]

Addition of Array1D and scalar.

Parameters:
array Array1D argument of the addition.
scalar Scalar argument of the addition.
Returns:
Array1D instance in which the value of each element is the sum of the corresponding element of the Array1D argument and the scalar argument.

Definition at line 1549 of file array1D.h.

References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().

template<class Type >
Array1D< Type > dlr::numeric::operator+ ( const Array1D< Type > &  array0,
const Array1D< Type > &  array1 
) [inline]

Elementwise addition of Array1D instances.

Parameters:
array0 First argument for addition.
array1 Second argument for addition.
Exceptions:
ValueException on incompatible array sizes
Returns:
Array1D instance in which the value of each element is the sum of the values of the corresponding elements of the two Array1D arguments.

Definition at line 1477 of file array1D.h.

References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().

Vector3D dlr::numeric::operator- ( const Vector3D &  vector0,
double  scalar0 
)

This operator subtracts a scalar from a Vector3D.

Parameters:
vector0 This is the Vector3D instance from which the scalar should be subtracted.
scalar0 This is amount which should be subtracted from each element of argument vector0.
Returns:
A Vector3D instance in which the value of each element is equal to the corresponding value of the first argument minus the value of the second argument.

Definition at line 62 of file vector3D.cpp.

References dlr::numeric::Vector3D::x(), dlr::numeric::Vector3D::y(), and dlr::numeric::Vector3D::z().

Vector3D dlr::numeric::operator- ( const Vector3D &  vector0,
const Vector3D &  vector1 
)

This operator returns the elementwise difference of two Vector3D instances.

Parameters:
vector0 This is the first of the two Vector3D instances to be subtracted.
vector1 This is the second of the two Vector3D instances to be subtracted.
Returns:
A Vector3D instance in which the value of each element is equal to the difference of the corresponding elements of the two arguments.

Definition at line 30 of file vector3D.cpp.

References dlr::numeric::Vector3D::x(), dlr::numeric::Vector3D::y(), and dlr::numeric::Vector3D::z().

Vector2D dlr::numeric::operator- ( const Vector2D &  vector0,
double  scalar0 
)

This operator subtracts a scalar from a Vector2D.

Parameters:
vector0 This is the Vector2D instance from which the scalar should be subtracted.
scalar0 This is amount which should be subtracted from each element of argument vector0.
Returns:
A Vector2D instance in which the value of each element is equal to the corresponding value of the first argument minus the value of the second argument.

Definition at line 51 of file vector2D.cpp.

References dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().

Vector2D dlr::numeric::operator- ( const Vector2D &  vector0,
const Vector2D &  vector1 
)

This operator returns the elementwise difference of two Vector2D instances.

Parameters:
vector0 This is the first of the two Vector2D instances to be subtracted.
vector1 This is the second of the two Vector2D instances to be subtracted.
Returns:
A Vector2D instance in which the value of each element is equal to the difference of the corresponding elements of the two arguments.

Definition at line 27 of file vector2D.cpp.

References dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().

template<class Type >
Polynomial< Type > dlr::numeric::operator- ( const Polynomial< Type > &  arg0,
const Polynomial< Type > &  arg1 
) [inline]

This operator subtracts two Polynomial instances.

Values returned by operator()(xValue) of the result of this multiplication will be equal to arg0.operator(xValue) - arg1.operator()(xValue).

Parameters:
arg0 This argument is the Polynomial instances from which arg1 is to be subtracted.
arg1 This argument is the Polynomial instances to be subtracted from arg0.
Returns:
The return value is the result of the subtraction.

Definition at line 514 of file polynomial.h.

Index3D dlr::numeric::operator- ( const Index3D &  index0,
int  scalar0 
)

This operator subtracts a scalar from an Index3D.

Parameters:
index0 This is the Index3D instance from which the scalar should be subtracted.
scalar0 This is amount which should be subtracted from each element of argument index0.
Returns:
An Index3D instance in which the value of each element is equal to the corresponding value of the first argument minus the value of the second argument.

Definition at line 61 of file index3D.cpp.

References dlr::numeric::Index3D::getColumn(), dlr::numeric::Index3D::getRow(), and dlr::numeric::Index3D::getSlice().

Index3D dlr::numeric::operator- ( const Index3D &  index0,
const Index3D &  index1 
)

This operator returns the elementwise difference of two Index3D instances.

Parameters:
index0 This is the first of the two Index3D instances to be subtracted.
index1 This is the second of the two Index3D instances to be subtracted.
Returns:
An Index3D instance in which the value of each element is equal to the difference of the corresponding elements of the two arguments.

Definition at line 29 of file index3D.cpp.

References dlr::numeric::Index3D::getColumn(), dlr::numeric::Index3D::getRow(), and dlr::numeric::Index3D::getSlice().

Index2D dlr::numeric::operator- ( const Index2D &  index0,
int  scalar0 
)

This operator subtracts a scalar from an Index2D.

Parameters:
index0 This is the Index2D instance from which the scalar should be subtracted.
scalar0 This is amount which should be subtracted from each element of argument index0.
Returns:
An Index2D instance in which the value of each element is equal to the corresponding value of the first argument minus the value of the second argument.

Definition at line 56 of file index2D.cpp.

References dlr::numeric::Index2D::getColumn(), and dlr::numeric::Index2D::getRow().

Index2D dlr::numeric::operator- ( const Index2D &  index0,
const Index2D &  index1 
)

This operator returns the elementwise difference of two Index2D instances.

Parameters:
index0 This is the first of the two Index2D instances to be subtracted.
index1 This is the second of the two Index2D instances to be subtracted.
Returns:
An Index2D instance in which the value of each element is equal to the difference of the corresponding elements of the two arguments.

Definition at line 28 of file index2D.cpp.

References dlr::numeric::Index2D::getColumn(), and dlr::numeric::Index2D::getRow().

template<size_t Dimension, class Type >
ArrayND< Dimension, Type > dlr::numeric::operator- ( Type  scalar,
const ArrayND< Dimension, Type > &  array0 
) [inline]

Subtraction of scalar and ArrayND.

Parameters:
scalar Scalar argument of the subtraction.
array0 ArrayND argument of the subtraction.
Returns:
ArrayND instance in which the value of each element is the difference of the scalar argument and the corresponding element of the ArrayND argument.

Definition at line 1440 of file arrayND.h.

References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), and dlr::numeric::ArrayND< Dimension, Type >::getShape().

template<size_t Dimension, class Type >
ArrayND< Dimension, Type > dlr::numeric::operator- ( const ArrayND< Dimension, Type > &  array0,
Type  scalar 
) [inline]

Subtraction of ArrayND and scalar.

Parameters:
array0 ArrayND argument of the subtraction.
scalar Scalar argument of the subtraction.
Returns:
ArrayND instance in which the value of each element is the difference of the corresponding element of the ArrayND argument and the scalar argument.

Definition at line 1403 of file arrayND.h.

References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), and dlr::numeric::ArrayND< Dimension, Type >::getShape().

template<size_t Dimension, class Type >
ArrayND< Dimension, Type > dlr::numeric::operator- ( const ArrayND< Dimension, Type > &  array0,
const ArrayND< Dimension, Type > &  arrayN 
) [inline]

Elementwise subtraction of ArrayND instances.

Parameters:
array0 First argument for subtraction.
arrayN Second argument for subtraction.
Exceptions:
ValueException on incompatible array sizes
Returns:
ArrayND instance in which the value of each element is the difference of the values of the corresponding elements of the two ArrayND arguments.

Definition at line 1339 of file arrayND.h.

References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), dlr::numeric::ArrayND< Dimension, Type >::getShape(), and dlr::numeric::ArrayND< Dimension, Type >::size().

template<class Type >
Array3D< Type > dlr::numeric::operator- ( const Array3D< Type > &  array0,
Type  scalar 
) [inline]

Subtraction of Array3D and scalar.

Parameters:
array0 Array3D argument of the subtraction.
scalar Scalar argument of the subtraction.
Returns:
Array3D instance in which the value of each element is the difference of the corresponding element of the Array3D argument and the scalar argument.

Definition at line 1936 of file array3D.h.

References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().

template<class Type >
Array3D< Type > dlr::numeric::operator- ( const Array3D< Type > &  array0,
const Array3D< Type > &  array1 
) [inline]

Elementwise subtraction of Array3D instances.

Parameters:
array0 First argument for subtraction.
array1 Second argument for subtraction.
Exceptions:
ValueException on incompatible array sizes
Returns:
Array3D instance in which the value of each element is the difference of the values of the corresponding elements of the two Array3D arguments.

Definition at line 1857 of file array3D.h.

References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().

template<class Type >
Array2D< Type > dlr::numeric::operator- ( const Array2D< Type > &  array0,
Type  scalar 
) [inline]

Subtraction of Array2D and scalar.

Parameters:
array0 Array2D argument of the subtraction.
scalar Scalar argument of the subtraction.
Returns:
Array2D instance in which the value of each element is the difference of the corresponding element of the Array2D argument and the scalar argument.

Definition at line 2100 of file array2D.h.

References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().

template<class Type >
Array2D< Type > dlr::numeric::operator- ( const Array2D< Type > &  array0,
const Array2D< Type > &  array1 
) [inline]

Elementwise subtraction of Array2D instances.

Parameters:
array0 First argument for subtraction.
array1 Second argument for subtraction.
Exceptions:
ValueException thrown when array sizes differ.
Returns:
Array2D instance in which the value of each element is the difference of the values of the corresponding elements of the two Array2D arguments.

Definition at line 2037 of file array2D.h.

References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().

template<class Type >
Array1D< Type > dlr::numeric::operator- ( Type  scalar,
const Array1D< Type > &  array0 
) [inline]

Subtraction of scalar and Array1D.

Parameters:
scalar Scalar argument of the subtraction.
array0 Array1D argument of the subtraction.
Returns:
Array1D instance in which the value of each element is the difference of the scalar argument and the corresponding element of the Array1D argument.

Definition at line 1596 of file array1D.h.

References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().

template<class Type >
Array1D< Type > dlr::numeric::operator- ( const Array1D< Type > &  array0,
Type  scalar 
) [inline]

Subtraction of Array1D and scalar.

Parameters:
array0 Array1D argument of the subtraction.
scalar Scalar argument of the subtraction.
Returns:
Array1D instance in which the value of each element is the difference of the corresponding element of the Array1D argument and the scalar argument.

Definition at line 1559 of file array1D.h.

References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().

template<class Type >
Array1D< Type > dlr::numeric::operator- ( const Array1D< Type > &  array0,
const Array1D< Type > &  array1 
) [inline]

Elementwise subtraction of Array1D instances.

Parameters:
array0 First argument for subtraction.
array1 Second argument for subtraction.
Exceptions:
ValueException on incompatible array sizes
Returns:
Array1D instance in which the value of each element is the difference of the values of the corresponding elements of the two Array1D arguments.

Definition at line 1495 of file array1D.h.

References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().

Vector3D dlr::numeric::operator/ ( const Vector3D &  vector0,
double  scalar0 
)

This operator divides a Vector3D by scalar.

Parameters:
vector0 This is the Vector3D instance which is to be divided by the scalar.
scalar0 This is amount by which should argument vector0 is to be divided.
Returns:
A Vector3D instance in which the value of each element is equal to the corresponding value of the first argument divided by the value of the second argument.

Definition at line 78 of file vector3D.cpp.

References dlr::numeric::Vector3D::x(), dlr::numeric::Vector3D::y(), and dlr::numeric::Vector3D::z().

Vector3D dlr::numeric::operator/ ( const Vector3D &  vector0,
const Vector3D &  vector1 
)

This operator returns the elementwise dividend of two Vector3D instances.

Parameters:
vector0 This is the Vector3D instance whose element values are to be divided.
vector1 This is the Vector3D instance by whose elements the first argument is to be divided.
Returns:
A Vector3D instance in which the value of each element is equal to the corresponding value of the first argument divided by the corresponding value of the second argument.

Definition at line 46 of file vector3D.cpp.

References dlr::numeric::Vector3D::x(), dlr::numeric::Vector3D::y(), and dlr::numeric::Vector3D::z().

Vector2D dlr::numeric::operator/ ( const Vector2D &  vector0,
double  scalar0 
)

This operator divides a Vector2D by scalar.

Parameters:
vector0 This is the Vector2D instance which is to be divided by the scalar.
scalar0 This is amount by which should argument vector0 is to be divided.
Returns:
A Vector2D instance in which the value of each element is equal to the corresponding value of the first argument divided by the value of the second argument.

Definition at line 62 of file vector2D.cpp.

References dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().

Vector2D dlr::numeric::operator/ ( const Vector2D &  vector0,
const Vector2D &  vector1 
)

This operator returns the elementwise dividend of two Vector2D instances.

Parameters:
vector0 This is the Vector2D instance whose element values are to be divided.
vector1 This is the Vector2D instance by whose elements the first argument is to be divided.
Returns:
A Vector2D instance in which the value of each element is equal to the corresponding value of the first argument divided by the corresponding value of the second argument.

Definition at line 39 of file vector2D.cpp.

References dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().

Index3D dlr::numeric::operator/ ( const Index3D &  index0,
int  scalar0 
)

This operator divides an Index3D by scalar.

Parameters:
index0 This is the Index3D instance which is to be divided by the scalar.
scalar0 This is amount by which should argument index0 is to be divided.
Returns:
An Index3D instance in which the value of each element is equal to the corresponding value of the first argument divided by the value of the second argument.

Definition at line 77 of file index3D.cpp.

References dlr::numeric::Index3D::getColumn(), dlr::numeric::Index3D::getRow(), and dlr::numeric::Index3D::getSlice().

Index3D dlr::numeric::operator/ ( const Index3D &  index0,
const Index3D &  index1 
)

This operator returns the elementwise dividend of two Index3D instances.

Parameters:
index0 This is the Index3D instance whose element values are to be divided.
index1 This is the Index3D instance by whose elements the first argument is to be divided.
Returns:
An Index3D instance in which the value of each element is equal to the corresponding value of the first argument divided by the corresponding value of the second argument.

Definition at line 45 of file index3D.cpp.

References dlr::numeric::Index3D::getColumn(), dlr::numeric::Index3D::getRow(), and dlr::numeric::Index3D::getSlice().

Index2D dlr::numeric::operator/ ( const Index2D &  index0,
int  scalar0 
)

This operator divides an Index2D by scalar.

Parameters:
index0 This is the Index2D instance which is to be divided by the scalar.
scalar0 This is amount by which should argument index0 is to be divided.
Returns:
An Index2D instance in which the value of each element is equal to the corresponding value of the first argument divided by the value of the second argument.

Definition at line 70 of file index2D.cpp.

References dlr::numeric::Index2D::getColumn(), and dlr::numeric::Index2D::getRow().

Index2D dlr::numeric::operator/ ( const Index2D &  index0,
const Index2D &  index1 
)

This operator returns the elementwise dividend of two Index2D instances.

Parameters:
index0 This is the Index2D instance whose element values are to be divided.
index1 This is the Index2D instance by whose elements the first argument is to be divided.
Returns:
An Index2D instance in which the value of each element is equal to the corresponding value of the first argument divided by the corresponding value of the second argument.

Definition at line 42 of file index2D.cpp.

References dlr::numeric::Index2D::getColumn(), and dlr::numeric::Index2D::getRow().

template<size_t Dimension, class Type >
ArrayND< Dimension, Type > dlr::numeric::operator/ ( Type  scalar,
const ArrayND< Dimension, Type > &  array0 
) [inline]

Division of scalar and ArrayND.

Parameters:
scalar Scalar argument of the division.
array0 ArrayND argument of the division.
Returns:
ArrayND instance in which the value of each element is the dividend of the scalar argument and the corresponding element of the ArrayND argument.

Definition at line 1457 of file arrayND.h.

References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), and dlr::numeric::ArrayND< Dimension, Type >::getShape().

template<size_t Dimension, class Type >
ArrayND< Dimension, Type > dlr::numeric::operator/ ( const ArrayND< Dimension, Type > &  array0,
Type  scalar 
) [inline]

Division of ArrayND and scalar.

Parameters:
array0 ArrayND argument of the division.
scalar Scalar argument of the division.
Returns:
ArrayND instance in which the value of each element is the difference of the corresponding element of the ArrayND argument and the scalar argument.

Definition at line 1423 of file arrayND.h.

References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), and dlr::numeric::ArrayND< Dimension, Type >::getShape().

template<size_t Dimension, class Type >
ArrayND< Dimension, Type > dlr::numeric::operator/ ( const ArrayND< Dimension, Type > &  array0,
const ArrayND< Dimension, Type > &  arrayN 
) [inline]

Elementwise division of ArrayND instances.

Parameters:
array0 First argument for division.
arrayN Second argument for division.
Exceptions:
ValueException on incompatible array sizes
Returns:
ArrayND instance in which the value of each element is the dividend of the values of the corresponding elements of the two ArrayND arguments.

Definition at line 1375 of file arrayND.h.

References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), dlr::numeric::ArrayND< Dimension, Type >::getShape(), and dlr::numeric::ArrayND< Dimension, Type >::size().

template<class Type >
Array3D< Type > dlr::numeric::operator/ ( const Array3D< Type > &  array0,
Type  scalar 
) [inline]

Division of Array3D and scalar.

Parameters:
array0 Array3D argument of the division.
scalar Scalar argument of the division.
Returns:
Array3D instance in which the value of each element is the difference of the corresponding element of the Array3D argument and the scalar argument.

Definition at line 1956 of file array3D.h.

References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().

template<class Type >
Array3D< Type > dlr::numeric::operator/ ( const Array3D< Type > &  array0,
const Array3D< Type > &  array1 
) [inline]

Elementwise division of Array3D instances.

Parameters:
array0 First argument for division.
array1 Second argument for division.
Exceptions:
ValueException on incompatible array sizes
Returns:
Array3D instance in which the value of each element is the dividend of the values of the corresponding elements of the two Array3D arguments.

Definition at line 1903 of file array3D.h.

References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().

template<class Type >
Array2D< Type > dlr::numeric::operator/ ( const Array2D< Type > &  array0,
Type  scalar 
) [inline]

Division of Array2D and scalar.

Parameters:
array0 Array2D argument of the division.
scalar Scalar argument of the division.
Returns:
Array2D instance in which the value of each element is the difference of the corresponding element of the Array2D argument and the scalar argument.

Definition at line 2118 of file array2D.h.

References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().

template<class Type >
Array2D< Type > dlr::numeric::operator/ ( const Array2D< Type > &  array0,
const Array2D< Type > &  array1 
) [inline]

Elementwise division of Array2D instances.

Parameters:
array0 First argument for division.
array1 Second argument for division.
Exceptions:
ValueException thrown when array sizes differ.
Returns:
Array2D instance in which the value of each element is the dividend of the values of the corresponding elements of the two Array2D arguments.

Definition at line 2073 of file array2D.h.

References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().

template<class Type >
Array1D< Type > dlr::numeric::operator/ ( Type  scalar,
const Array1D< Type > &  array0 
) [inline]

Division of scalar and Array1D.

Parameters:
scalar Scalar argument of the division.
array0 Array1D argument of the division.
Returns:
Array1D instance in which the value of each element is the dividend of the scalar argument and the corresponding element of the Array1D argument.

Definition at line 1613 of file array1D.h.

References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().

template<class Type >
Array1D< Type > dlr::numeric::operator/ ( const Array1D< Type > &  array0,
Type  scalar 
) [inline]

Division of Array1D and scalar.

Parameters:
array0 Array1D argument of the division.
scalar Scalar argument of the division.
Returns:
Array1D instance in which the value of each element is the difference of the corresponding element of the Array1D argument and the scalar argument.

Definition at line 1579 of file array1D.h.

References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().

template<class Type >
Array1D< Type > dlr::numeric::operator/ ( const Array1D< Type > &  array0,
const Array1D< Type > &  array1 
) [inline]

Elementwise division of Array1D instances.

Parameters:
array0 First argument for division.
array1 Second argument for division.
Exceptions:
ValueException on incompatible array sizes
Returns:
Array1D instance in which the value of each element is the dividend of the values of the corresponding elements of the two Array1D arguments.

Definition at line 1531 of file array1D.h.

References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().

template<size_t Dimension, class Type >
ArrayND< Dimension, bool > dlr::numeric::operator< ( const ArrayND< Dimension, Type > &  array0,
const Type  arg 
) [inline]

Elementwise comparison of an ArrayND with a constant.

Parameters:
array0 An ArrayND instance.
arg Value to which array elements should be compared.
Returns:
An ArrayND<bool> in which each element has value "true" if the corresponding element of array0 is less than arg.

Definition at line 1516 of file arrayND.h.

template<class Type >
Array3D< bool > dlr::numeric::operator< ( const Array3D< Type > &  array0,
Type  arg 
) [inline]

Elementwise comparison of Array2D with a constant.

Parameters:
array0 Array2D instance.
arg Value to which array0 elements should be compared.
Returns:
Array2D<bool> in which each element has value "true" if the corresponding element of array0 is less than arg.

Definition at line 2015 of file array3D.h.

template<class Type >
Array2D< bool > dlr::numeric::operator< ( const Array2D< Type > &  array0,
Type  arg 
) [inline]

Elementwise comparison of Array2D with a constant.

Parameters:
array0 An Array2D instance.
arg Value to which the elements of array0 should be compared.
Returns:
An Array2D<bool> in which each element has value "true" if the corresponding element of array0 is less than arg.

Definition at line 2174 of file array2D.h.

template<class Type >
Array1D< bool > dlr::numeric::operator< ( const Array1D< Type > &  array0,
const Type  arg 
) [inline]

Elementwise comparison of an Array1D with a constant.

Parameters:
array0 An Array1D instance.
arg Value to which array elements should be compared.
Returns:
An Array1D<bool> in which each element has value "true" if the corresponding element of array0 is less than arg.

Definition at line 1671 of file array1D.h.

std::ostream & dlr::numeric::operator<< ( std::ostream &  stream,
const Vector3D &  vector0 
)

This function outputs a text representation of a Vector3D instance to a std::ostream.

The output format looks like this:

Vector3D(1.0, 2.0, 3.0)

Parameters:
stream This argument is a reference to the the output stream.
vector0 This argument is a const reference to the Vector3D instance to be output.
Returns:
The return value is a reference to the input stream after the write has taken place.

Definition at line 100 of file vector3D.cpp.

References dlr::numeric::Vector3D::x(), dlr::numeric::Vector3D::y(), and dlr::numeric::Vector3D::z().

std::ostream & dlr::numeric::operator<< ( std::ostream &  stream,
const Vector2D &  vector0 
)

This function outputs a text representation of a Vector2D instance to a std::ostream.

The output format looks like this:

Vector2D(1.0, 2.0)

Parameters:
stream This argument is a reference to the the output stream.
vector0 This argument is a const reference to the Vector2D instance to be output.
Returns:
The return value is a reference to the input stream after the write has taken place.

Definition at line 82 of file vector2D.cpp.

References dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().

std::ostream & dlr::numeric::operator<< ( std::ostream &  stream,
const Transform3DTo2D &  transform0 
)

Outputs a text representation of a Transform3D instance to a std::ostream.

The output format looks like this:

Transform3DTo2D(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 1.0)

Parameters:
stream Reference to the the output stream.
transform0 Const reference to the Transform3DTo2D instance to be output.
Returns:
Reference to the output stream after writing.

Definition at line 264 of file transform3DTo2D.cpp.

References dlr::numeric::Transform3DTo2D::value().

std::ostream & dlr::numeric::operator<< ( std::ostream &  stream,
const Transform3D &  transform0 
)

Outputs a text representation of a Transform3D instance to a std::ostream.

The output format looks like this:

Transform3D(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 1.0)

Parameters:
stream Reference to the the output stream.
transform0 Const reference to the Transform3D instance to be output.
Returns:
Reference to the output stream.

Definition at line 410 of file transform3D.cpp.

References dlr::numeric::Transform3D::value().

std::ostream & dlr::numeric::operator<< ( std::ostream &  stream,
const Transform2D &  transform0 
)

Outputs a text representation of a Transform2D instance to a std::ostream.

The output format looks like this:

Transform2D(1.0, 2.0, 3.0, 5.0, 6.0, 7.0, 9.0, 10.0, 1.0)

Parameters:
stream Reference to the the output stream.
transform0 Const reference to the Transform2D instance to be output.
Returns:
Reference to the output stream.

Definition at line 289 of file transform2D.cpp.

References dlr::numeric::Transform2D::value().

template<class Type >
std::ostream & dlr::numeric::operator<< ( std::ostream &  stream,
const SubArray2D< Type > &  subArray0 
) [inline]

This stream output operator sends a text representation of the SubArray2D instance to the supplied stream instance.

Parameters:
stream The stream to which data should be written.
subArray0 The SubArray2D instance to be written.
Returns:
A reference to argument stream.

Definition at line 710 of file subArray2D.h.

References dlr::numeric::SubArray2D< Type >::columns(), and dlr::numeric::SubArray2D< Type >::rows().

template<class Type >
std::ostream & dlr::numeric::operator<< ( std::ostream &  stream,
const SubArray1D< Type > &  subArray0 
) [inline]

This stream output operator sends a text representation of the SubArray1D instance to the supplied stream instance.

Parameters:
stream The stream to which data should be written.
subArray0 The SubArray1D instance to be written.
Returns:
A reference to argument stream.

Definition at line 504 of file subArray1D.h.

References dlr::numeric::SubArray1D< Type >::size().

std::ostream & dlr::numeric::operator<< ( std::ostream &  stream,
const Index3D &  index0 
)

This function outputs a text representation of an Index3D instance to a std::ostream.

The output format looks like this:

Index3D(1.0, 2.0)

Parameters:
stream This argument is a reference to the the output stream.
index0 This argument is a const reference to the Index3D instance to be output.
Returns:
The return value is a reference to the input stream after the write has taken place.

Definition at line 102 of file index3D.cpp.

References dlr::numeric::Index3D::getColumn(), dlr::numeric::Index3D::getRow(), and dlr::numeric::Index3D::getSlice().

std::ostream & dlr::numeric::operator<< ( std::ostream &  stream,
const Index2D &  index0 
)

This function outputs a text representation of an Index2D instance to a std::ostream.

The output format looks like this:

Index2D(1.0, 2.0)

Parameters:
stream This argument is a reference to the the output stream.
index0 This argument is a const reference to the Index2D instance to be output.
Returns:
The return value is a reference to the input stream after the write has taken place.

Definition at line 93 of file index2D.cpp.

References dlr::numeric::Index2D::getColumn(), and dlr::numeric::Index2D::getRow().

template<class Type >
std::ostream & dlr::numeric::operator<< ( std::ostream &  stream,
const Array3D< Type > &  array0 
) [inline]

This operator outputs a text representation of an Array3D instance to a std::ostream.

The output format looks like this:

Array3D([[[1, 2, 4, 8, 16], [5, 1, 6, 7, 2]], [[8, 2, 4, 1, 0], [3, 3, 4, 5, 1]]])

Where the array elements are output using operator<<(std::ostream&, const Type&) and each element is separated from its neighbors by a comma and whitespace.

Parameters:
stream Reference to the the output stream.
array0 Const reference to the Array3D to be output.
Returns:
Reference to output stream.

Definition at line 2047 of file array3D.h.

template<class Type >
std::ostream & dlr::numeric::operator<< ( std::ostream &  stream,
const Array2D< Type > &  array0 
) [inline]

Outputs a text representation of an Array2D instance to a std::ostream.

The output format looks like this:

Array2D([[1, 2, 4, 8, 16], [5, 1, 6, 7, 2]])

Where the array elements are output using operator<<(std::ostream&, const Type&) and each element is separated from its neighbors by a comma and whitespace.

Parameters:
stream Reference to the the output stream.
array0 Const reference to the Array2D to be output.
Returns:
Reference to output stream.

Definition at line 2201 of file array2D.h.

template<class Type >
std::ostream & dlr::numeric::operator<< ( std::ostream &  stream,
const Array1D< Type > &  array0 
) [inline]

Outputs a text representation of an Array1D instance to a std::ostream.

The output format looks like this:

Array1D([1, 2, 4, 8, 16])

Where the array elements are output using operator<<(std::ostream&, const Type&) and each element is separated from its neighbors by a comma and whitespace.

Parameters:
stream Reference to the the output stream.
array0 const Reference to the Array1D to be output.
Exceptions:
IOException on invalid stream.
Returns:
Reference to output stream.

Definition at line 1692 of file array1D.h.

template<size_t Dimension, class Type >
ArrayND< Dimension, bool > dlr::numeric::operator<= ( const ArrayND< Dimension, Type > &  array0,
const Type  arg 
) [inline]

Elementwise comparison of an ArrayND with a constant.

Parameters:
array0 An ArrayND instance.
arg Value to which array elements should be compared.
Returns:
An ArrayND<bool> in which each element has value "true" if the corresponding element of array0 is less than or equal to arg.

Definition at line 1527 of file arrayND.h.

template<class Type >
Array3D< bool > dlr::numeric::operator<= ( const Array3D< Type > &  array0,
Type  arg 
) [inline]

Elementwise comparison of Array3D with a constant.

Parameters:
array0 Array3D instance.
arg Value to which array0 elements should be compared.
Returns:
Array3D<bool> in which each element has value "true" if the corresponding element of array0 is less than or equal to arg.

Definition at line 2035 of file array3D.h.

template<class Type >
Array2D< bool > dlr::numeric::operator<= ( const Array2D< Type > &  array0,
Type  arg 
) [inline]

Elementwise comparison of Array2D with a constant.

Parameters:
array0 An Array2D instance.
arg Value to which the elements of array0 should be compared.
Returns:
An Array2D<bool> in which each element has value "true" if the corresponding element of array0 is less than or equal to arg.

Definition at line 2192 of file array2D.h.

template<class Type >
Array1D< bool > dlr::numeric::operator<= ( const Array1D< Type > &  array0,
const Type  arg 
) [inline]

Elementwise comparison of an Array1D with a constant.

Parameters:
array0 An Array1D instance.
arg Value to which array elements should be compared.
Returns:
An Array1D<bool> in which each element has value "true" if the corresponding element of array0 is less than or equal to arg.

Definition at line 1682 of file array1D.h.

bool dlr::numeric::operator== ( const Vector3D &  vector0,
const Vector3D &  vector1 
)

This operator checks the supplied vectors for equality.

Parameters:
vector0 First vector to compare.
vector1 Second vector to compare.
Returns:
Result of comparing vector0 to vector1 for equality.

Definition at line 86 of file vector3D.cpp.

References dlr::numeric::Vector3D::x(), dlr::numeric::Vector3D::y(), and dlr::numeric::Vector3D::z().

bool dlr::numeric::operator== ( const Vector2D &  vector0,
const Vector2D &  vector1 
)

This operator checks the supplied vectors for equality.

Parameters:
vector0 First vector to compare.
vector1 Second vector to compare.
Returns:
Result of comparing vector0 to vector1 for equality.

Definition at line 69 of file vector2D.cpp.

References dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().

bool dlr::numeric::operator== ( const Index3D &  index0,
const Index3D &  index1 
)

This operator checks the supplied indexs for equality.

Parameters:
index0 First Index3D instance to compare.
index1 Second Index3D instance to compare.
Returns:
Result of comparing index0 to index1 for equality.

Definition at line 86 of file index3D.cpp.

References dlr::numeric::Index3D::getColumn(), dlr::numeric::Index3D::getRow(), and dlr::numeric::Index3D::getSlice().

bool dlr::numeric::operator== ( const Index2D &  index0,
const Index2D &  index1 
)

This operator checks the supplied indexs for equality.

Parameters:
index0 First Index2D instance to compare.
index1 Second Index2D instance to compare.
Returns:
Result of comparing index0 to index1 for equality.

Definition at line 78 of file index2D.cpp.

References dlr::numeric::Index2D::getColumn(), and dlr::numeric::Index2D::getRow().

template<size_t Dimension, class Type >
ArrayND< Dimension, bool > dlr::numeric::operator== ( const ArrayND< Dimension, Type > &  array0,
const ArrayND< Dimension, Type > &  arrayN 
) [inline]

Elementwise comparison of an ArrayND with another array.

Parameters:
array0 An ArrayND instance.
arrayN A second ArrayND instance with the same size as array0.
Returns:
An ArrayND<bool> in which each element has value "true" if the corresponding element of array0 is equal to the corresponding element of arrayN.

Definition at line 1481 of file arrayND.h.

References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::checkDimension(), dlr::numeric::ArrayND< Dimension, Type >::end(), and dlr::numeric::ArrayND< Dimension, Type >::getShape().

template<size_t Dimension, class Type >
ArrayND< Dimension, bool > dlr::numeric::operator== ( const ArrayND< Dimension, Type > &  array0,
const Type  arg 
) [inline]

Elementwise comparison of an ArrayND with a constant.

Parameters:
array0 An ArrayND instance.
arg Value to which the elements of array0 should be compared.
Returns:
An ArrayND<bool> in which each element has value "true" if the corresponding element of array0 is equal to arg.

Definition at line 1469 of file arrayND.h.

References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), and dlr::numeric::ArrayND< Dimension, Type >::getShape().

template<class Type >
Array3D< bool > dlr::numeric::operator== ( const Array3D< Type > &  array0,
const Array3D< Type > &  array1 
) [inline]

Elementwise comparison of an Array3D with another array.

Parameters:
array0 An Array3D instance.
array1 A second Array3D instance with the same size as array0.
Returns:
An Array3D<bool> in which each element has value "true" if the corresponding element of array0 is equal to the corresponding element of array1.

Definition at line 1994 of file array3D.h.

References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::checkDimension(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().

template<class Type >
Array3D< bool > dlr::numeric::operator== ( const Array3D< Type > &  array0,
const Type  arg 
) [inline]

Elementwise comparison of an Array3D with a constant.

Parameters:
array0 An Array3D instance.
arg Value to which the elements of array0 should be compared.
Returns:
An Array3D<bool> in which each element has value "true" if the corresponding element of array0 is equal to arg.

Definition at line 1982 of file array3D.h.

References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().

template<class Type >
Array2D< bool > dlr::numeric::operator== ( const Array2D< Type > &  array0,
const Array2D< Type > &  array1 
) [inline]

Elementwise comparison of an Array2D with another array.

Parameters:
array0 An Array2D instance.
array1 A second Array2D instance with the same size as array0.
Returns:
An Array2D<bool> in which each element has value "true" if the corresponding element of array0 is equal to the corresponding element of array1.

Definition at line 2154 of file array2D.h.

References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::checkDimension(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().

template<class Type >
Array2D< bool > dlr::numeric::operator== ( const Array2D< Type > &  array0,
const Type  arg 
) [inline]

Elementwise comparison of an Array2D with a constant.

Parameters:
array0 An Array2D instance.
arg Value to which the elements of array0 should be compared.
Returns:
An Array2D<bool> in which each element has value "true" if the corresponding element of array0 is equal to arg.

Definition at line 2142 of file array2D.h.

References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().

template<class Type >
Array1D< bool > dlr::numeric::operator== ( const Array1D< Type > &  array0,
const Array1D< Type > &  array1 
) [inline]

Elementwise comparison of an Array1D with another array.

Parameters:
array0 An Array1D instance.
array1 A second Array1D instance with the same size as array0.
Returns:
An Array1D<bool> in which each element has value "true" if the corresponding element of array0 is equal to the corresponding element of array1.

Definition at line 1637 of file array1D.h.

References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::checkDimension(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().

template<class Type >
Array1D< bool > dlr::numeric::operator== ( const Array1D< Type > &  array0,
const Type  arg 
) [inline]

Elementwise comparison of an Array1D with a constant.

Parameters:
array0 An Array1D instance.
arg Value to which the elements of array0 should be compared.
Returns:
An Array1D<bool> in which each element has value "true" if the corresponding element of array0 is equal to arg.

Definition at line 1625 of file array1D.h.

References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().

template<size_t Dimension, class Type >
ArrayND< Dimension, bool > dlr::numeric::operator> ( const ArrayND< Dimension, Type > &  array0,
const Type  arg 
) [inline]

Elementwise comparison of an ArrayND with a constant.

Parameters:
array0 An ArrayND instance.
arg Value to which array elements should be compared.
Returns:
An ArrayND<bool> in which each element has value "true" if the corresponding element of array0 is greater than arg.

Definition at line 1494 of file arrayND.h.

References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), and dlr::numeric::ArrayND< Dimension, Type >::getShape().

template<class Type >
Array3D< bool > dlr::numeric::operator> ( const Array3D< Type > &  array0,
Type  arg 
) [inline]

Elementwise comparison of Array3D with a constant.

Parameters:
array0 Array3D instance.
arg Value to which array0 elements should be compared.
Returns:
Array3D<bool> in which each element has value "true" if the corresponding element of array0 is greater than arg.

Definition at line 2005 of file array3D.h.

References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().

template<class Type >
Array2D< bool > dlr::numeric::operator> ( const Array2D< Type > &  array0,
Type  arg 
) [inline]

Elementwise comparison of Array2D with a constant.

Parameters:
array0 An Array2D instance.
arg Value to which the elements of array0 should be compared.
Returns:
An Array2D<bool> in which each element has value "true" if the corresponding element of array0 is greater than arg.

Definition at line 2165 of file array2D.h.

References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().

template<class Type >
Array1D< bool > dlr::numeric::operator> ( const Array1D< Type > &  array0,
const Type  arg 
) [inline]

Elementwise comparison of an Array1D with a constant.

Parameters:
array0 An Array1D instance.
arg Value to which array elements should be compared.
Returns:
An Array1D<bool> in which each element has value "true" if the corresponding element of array0 is greater than arg.

Definition at line 1649 of file array1D.h.

References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().

template<size_t Dimension, class Type >
ArrayND< Dimension, bool > dlr::numeric::operator>= ( const ArrayND< Dimension, Type > &  array0,
const Type  arg 
) [inline]

Elementwise comparison of an ArrayND with a constant.

Parameters:
array0 An ArrayND instance.
arg Value to which array elements should be compared.
Returns:
An ArrayND<bool> in which each element has value "true" if the corresponding element of array0 is greater than or equal to arg.

Definition at line 1505 of file arrayND.h.

References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), and dlr::numeric::ArrayND< Dimension, Type >::getShape().

template<class Type >
Array3D< bool > dlr::numeric::operator>= ( const Array3D< Type > &  array0,
Type  arg 
) [inline]

Elementwise comparison of Array3D with a constant.

Parameters:
array0 Array3D instance.
arg Value to which array0 elements should be compared.
Returns:
Array3D<bool> in which each element has value "true" if the corresponding element of array0 is greater than or equal to arg.

Definition at line 2025 of file array3D.h.

References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().

template<class Type >
Array2D< bool > dlr::numeric::operator>= ( const Array2D< Type > &  array0,
Type  arg 
) [inline]

Elementwise comparison of Array2D with a constant.

Parameters:
array0 An Array2D instance.
arg Value to which the elements of array0 should be compared.
Returns:
An Array2D<bool> in which each element has value "true" if the corresponding element of array0 is greater than or equal to arg.

Definition at line 2183 of file array2D.h.

References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().

template<class Type >
Array1D< bool > dlr::numeric::operator>= ( const Array1D< Type > &  array0,
const Type  arg 
) [inline]

Elementwise comparison of an Array1D with a constant.

Parameters:
array0 An Array1D instance.
arg Value to which array elements should be compared.
Returns:
An Array1D<bool> in which each element has value "true" if the corresponding element of array0 is greater than or equal to arg.

Definition at line 1660 of file array1D.h.

References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().

std::istream & dlr::numeric::operator>> ( std::istream &  stream,
Vector3D &  vector0 
)

This function sets the value of a Vector3D instance from a std::istream.

The input format is as described for operator<<(std::ostream&, const Vector3D&) above.

Parameters:
stream This argument is a reference to the the input stream from which to read.
vector0 This argument is a reference to the Vector3D which will take the input.
Returns:
The return value is a reference to the input stream after the read has taken place.

Definition at line 108 of file vector3D.cpp.

References dlr::numeric::Vector3D::setValue().

std::istream & dlr::numeric::operator>> ( std::istream &  stream,
Vector2D &  vector0 
)

This function sets the value of a Vector2D instance from a std::istream.

The input format is as described for operator<<(std::ostream&, const Vector2D&) above.

Parameters:
stream This argument is a reference to the the input stream from which to read.
vector0 This argument is a reference to the Vector2D which will take the input.
Returns:
The return value is a reference to the input stream after the read has taken place.

Definition at line 89 of file vector2D.cpp.

References dlr::numeric::Vector2D::setValue().

std::istream & dlr::numeric::operator>> ( std::istream &  stream,
Transform3DTo2D &  transform0 
)

Sets the value of a Transform3DTo2D instance from a std::istream.

The input format is as described for operator<<(std::ostream&, const Transform3DTo2D&), above.

Parameters:
stream Reference to the the input stream.
transform0 Reference to the Transform3DTo2D that will take the input.
Returns:
Reference to the input stream.

Definition at line 284 of file transform3DTo2D.cpp.

References dlr::numeric::Transform3DTo2D::setTransform().

std::istream & dlr::numeric::operator>> ( std::istream &  stream,
Transform3D &  transform0 
)

Sets the value of a Transform3D instance from a std::istream.

The input format is as described for operator<<(std::ostream&, const Transform3D&), above.

Parameters:
stream Reference to the the input stream.
transform0 Reference to the Transform3D that will take the input.
Returns:
Reference to the input stream.

Definition at line 433 of file transform3D.cpp.

References dlr::numeric::Transform3D::setTransform().

std::istream & dlr::numeric::operator>> ( std::istream &  stream,
Transform2D &  transform0 
)

Sets the value of a Transform2D instance from a std::istream.

The input format is as described for operator<<(std::ostream&, const Transform2D&), above.

Parameters:
stream Reference to the the input stream.
transform0 Reference to the Transform2D that will take the input.
Returns:
Reference to the input stream.

Definition at line 306 of file transform2D.cpp.

References dlr::numeric::Transform2D::setTransform().

std::istream & dlr::numeric::operator>> ( std::istream &  stream,
Index3D &  index0 
)

This function sets the value of an Index3D instance from a std::istream.

The input format is as described for operator<<(std::ostream&, const Index3D&) above.

Parameters:
stream This argument is a reference to the the input stream from which to read.
index0 This argument is a reference to the Index3D which will take the input.
Returns:
The return value is a reference to the input stream after the read has taken place.

Definition at line 112 of file index3D.cpp.

References dlr::numeric::Index3D::setValue().

std::istream & dlr::numeric::operator>> ( std::istream &  stream,
Index2D &  index0 
)

This function sets the value of an Index2D instance from a std::istream.

The input format is as described for operator<<(std::ostream&, const Index2D&) above.

Parameters:
stream This argument is a reference to the the input stream from which to read.
index0 This argument is a reference to the Index2D which will take the input.
Returns:
The return value is a reference to the input stream after the read has taken place.

Definition at line 102 of file index2D.cpp.

References dlr::numeric::Index2D::setValue().

template<class Type >
std::istream & dlr::numeric::operator>> ( std::istream &  stream,
Array3D< Type > &  array0 
) [inline]

This operator sets the value of an Array3D instance from a std::istream.

The input format is as described for operator<<(std::ostream&, const Array3D<Type>&) above.

Parameters:
stream Reference to the the input stream.
array0 Reference to the Array3D which will take the input.
Returns:
Reference to the input stream.

Definition at line 2088 of file array3D.h.

References dlr::numeric::Array3D< Type >::readFromStream().

template<class Type >
std::istream & dlr::numeric::operator>> ( std::istream &  stream,
Array2D< Type > &  array0 
) [inline]

Sets the value of an Array2D instance from a std::istream.

The input format is as described for operator<<(std::ostream&, const Array2D<Type>&) above.

Parameters:
stream Reference to the the input stream.
array0 Reference to the Array2D which will take the input.
Returns:
Reference to input stream.

Definition at line 2226 of file array2D.h.

References dlr::numeric::Array2D< Type >::readFromStream().

template<class Type >
std::istream & dlr::numeric::operator>> ( std::istream &  stream,
Array1D< Type > &  array0 
) [inline]

Sets the value of an Array1D instance from a std::istream.

The input format is as described for operator<<(std::ostream&, const Array1D<Type>&) above.

Parameters:
stream Reference to the the input stream.
array0 Reference to the Array1D which will take the input.
Returns:
Reference to input stream.

Definition at line 1716 of file array1D.h.

References dlr::numeric::Array1D< Type >::readFromStream().

template<class Type >
void dlr::numeric::solveCubic ( Type  c0,
Type  c1,
Type  c2,
std::complex< Type > &  root0,
std::complex< Type > &  root1,
std::complex< Type > &  root2 
) [inline]

This function computes the (possibly complex) roots of the cubic polynomial x^3 + c0*x^2 + c1*x + c2 = 0.

Parameters:
c0 This argument is the cubic coefficient of the polynomial.
c1 This argument is the linear coefficient of the polynomial.
c2 This argument is the constant coefficient of the polynomial.
root0 This reference argument is used to return the first root of the polynomial.
root1 This reference argument is used to return the second root of the polynomial.
root2 This reference argument is used to return the third root of the polynomial.

Definition at line 159 of file solveCubic.h.

References sqrt().

template<class Type >
bool dlr::numeric::solveCubic ( Type  c0,
Type  c1,
Type  c2,
Type &  root0,
Type &  root1,
Type &  root2 
) [inline]

This function computes the real roots of the cubic polynomial x^3 + c0*x^2 + c1*x + c2 = 0.

Parameters:
c0 This argument is the quadratic coefficient of the polynomial.
c1 This argument is the linear coefficient of the polynomial.
c2 This argument is the constant coefficient of the polynomial.
root0 This reference argument is used to return the first real root of the polynomial.
root1 If the polynomial has three real roots, this reference argument is used to return the second root.
root2 If the polynomial has three real roots, this argument is used to return the third root.
Returns:
If the polynomial has three real roots, the return value is true. If the polynomial has only one real root, the return value is false, and arguments root1 and root2 are not changed.

Definition at line 105 of file solveCubic.h.

References sqrt().

Referenced by solveQuartic().

template<class Type >
void dlr::numeric::solveQuadratic ( std::complex< Type >  c0,
std::complex< Type >  c1,
std::complex< Type > &  root0,
std::complex< Type > &  root1 
) [inline]

This function computes the roots of the quadratic polynomial x^2 + c0*x + c1 = 0, where c0 and c1 are complex.

Parameters:
c0 This argument is the linear coefficient of the polynomial.
c1 This argument is the constant coefficient of the polynomial.
root0 This reference argument is used to return the first root of the polynomial.
root1 This reference argument is used to return the second root of the polynomial.

Definition at line 185 of file solveQuadratic.h.

References sqrt().

template<class Type >
void dlr::numeric::solveQuadratic ( Type  c0,
Type  c1,
Type  c2,
std::complex< Type > &  root0,
std::complex< Type > &  root1 
) [inline]

This function computes the (possibly complex) roots of the quadratic polynomial c0*x^2 + c1*x + c2 = 0.

Parameters:
c0 This argument is the quadratic coefficient of the polynomial.
c1 This argument is the linear coefficient of the polynomial.
c2 This argument is the constant coefficient of the polynomial.
root0 This reference argument is used to return the first root of the polynomial.
root1 This reference argument is used to return the second root of the polynomial.

Definition at line 160 of file solveQuadratic.h.

References sqrt().

template<class Type >
bool dlr::numeric::solveQuadratic ( Type  c0,
Type  c1,
Type  c2,
Type &  root0,
Type &  root1 
) [inline]

This function computes the real roots of the quadratic polynomial c0*x^2 + c1*x + c2 = 0.

Note that the two well known versions of the quadratic formula:

x = (-c1 +|- sqrt(c1**2 - 4c0*c2)) / (2*c0)

and

x = 2*c2 / (-c1 +|- sqrt(c1**2 - 4*c0*c2))

both tend to be inaccurate when c0 and/or c2 are small, since then the quantity (-c1 +|- sqrt(c1**2 - 4*c0*c2)) gets very small and loses significance. Instead we use the form advocated by Press and Flannery (Numerical Recipes):

q = -(1/2)(c1 + sgn(c1)*sqrt(c1**2 - 4*c1*c2)) x1 = q/c0, x2 = c2/q

This is just the same as using both of the first two forms, each one for the root at which it is most numerically stable.

Parameters:
c0 This argument is the quadratic coefficient of the polynomial.
c1 This argument is the linear coefficient of the polynomial.
c2 This argument is the constant coefficient of the polynomial.
root0 If the polynomial has real roots, this reference argument is used to return the first root.
root1 If the polynomial has real roots, this reference argument is used to return the second root.
Returns:
If the polynomial has real roots, the return value is true. If the polynomial does not have real roots, the return value is false, and arguments root0 and root1 are not changed.

Definition at line 137 of file solveQuadratic.h.

References sqrt().

Referenced by solveQuartic().

template<class Type >
void dlr::numeric::solveQuartic ( Type  c0,
Type  c1,
Type  c2,
Type  c3,
std::complex< Type > &  root0,
std::complex< Type > &  root1,
std::complex< Type > &  root2,
std::complex< Type > &  root3 
) [inline]

This function computes the (possibly complex) roots of the quartic polynomial x^4 + c0*x^3 + c1*x^2 + c2*x + c3 = 0.

Parameters:
c0 This argument is the cubic coefficient of the polynomial.
c1 This argument is the quadratic coefficient of the polynomial.
c2 This argument is the linear coefficient of the polynomial.
c3 This argument is the constant coefficient of the polynomial.
root0 This reference argument is used to return the first root of the polynomial.
root1 This reference argument is used to return the second root of the polynomial.
root2 This reference argument is used to return the third root of the polynomial.
root3 This reference argument is used to return the fourth root of the polynomial.

Definition at line 83 of file solveQuartic.h.

References solveCubic(), solveQuadratic(), and sqrt().

template<class Type >
Array2D< Type > dlr::numeric::sqrt ( const Array2D< Type > &  array0  )  [inline]

This function returns an array which is the same size as its argument, and in which the value of each element is the square root of the corresponding element of the argument.

It is really just an alias for the function squareRoot(), below.

Parameters:
array0 The square root calculation will be performed for each element of this array.
Returns:
An array of square root values.

Definition at line 2000 of file array2D.h.

References squareRoot().

Referenced by bilaterate(), dlr::numeric::NormalizedCorrelator< Type >::getNormalizedCorrelation(), dlr::numeric::Quaternion::normalize(), dlr::numeric::SquareRootFunctor< Type >::operator()(), solveCubic(), solveQuadratic(), and solveQuartic().

template<class Type >
Array2D< Type > dlr::numeric::squareRoot ( const Array2D< Type > &  array0  )  [inline]

This function returns an array which is the same size as its argument, and in which the value of each element is the square root of the corresponding element of the argument.

Parameters:
array0 The square root calculation will be performed for each element of this array.
Returns:
An array of square root values.

Definition at line 2010 of file array2D.h.

References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().

Referenced by sqrt().

template<class Type >
SubArray2D<Type> dlr::numeric::subArray ( const Array2D< Type > &  source,
const Slice &  rowSlice,
int  column 
) [inline]

This function is just like subArray(const Array2D<Type>&, const Slice&, const Slice&), above except that it constructs a SubArray2D instance which references only selected elements _of a particular column_ in the source array.

For example, you might use the following to copy the 3 elements at the intersections of rows [0, 2, 4] and column 2 of array1 into the elements at the intersections of rows [2, 4, 6] and column 6 array0:

subArray(array0, Slice(2, 8, 2), 6) = subArray(array1, Slice(0, 6, 2), 2);

Parameters:
source This argument specifies the Array2D into which to index.
rowSlice A slice instance indicating the target rows.
column An index indicating the target column.
Returns:
A SubArray2D instance referencing the elements of the source array which lie at the intersections of the selected rows and the target column.

Definition at line 358 of file subArray2D.h.

template<class Type >
SubArray2D<Type> dlr::numeric::subArray ( const Array2D< Type > &  source,
const int  row,
const Slice &  columnSlice 
) [inline]

This function is just like subArray(const Array2D<Type>&, const Slice&, const Slice&), above except that it constructs a SubArray2D instance which references only selected elements _of a particular row_ in the source array.

For example, you might use the following to copy the 3 elements at the intersections of row 2 and columns [1, 2, 3] of array1 into the elements at the intersections of rows 4 and columns [3, 6, 9] of array0:

subArray(array0, 6, Slice(3, 12, 3) = subArray(array1, 2, Slice(1, 4));

Parameters:
source This argument specifies the Array2D into which to index.
row An index indicating the target row.
columnSlice A slice instance indicating the target columns.
Returns:
A SubArray2D instance referencing the elements of the source array which lie at the intersections of the target row and the selected columns.

Definition at line 330 of file subArray2D.h.

template<class Type >
SubArray2D<Type> dlr::numeric::subArray ( const Array2D< Type > &  source,
const Slice &  rowSlice,
const Slice &  columnSlice 
) [inline]

This is a convenience function for constructing SubArray2D instances which reference only selected elements of the source array.

Use this function when you want to modify only some of the elements of an Array2D instance. For example, you might use the following to copy the 9 elements at the intersections of rows [0, 2, 4] and columns [1, 2, 3] of array1 into the elements at the intersections of rows [2, 4, 6] and columns [3, 6, 9] of array0:

subArray(array0, Slice(2, 8, 2), Slice(3, 12, 3) = subArray(array1, Slice(0, 6, 2), Slice(1, 4));

Parameters:
source This argument specifies the Array2D into which to index.
rowSlice A slice instance indicating the target rows.
columnSlice A slice instance indicating the target columns.
Returns:
A SubArray2D instance referencing the elements of the source array which lie at the intersections of the selected rows and columns.

Definition at line 302 of file subArray2D.h.

template<class Type >
SubArray2D<Type> dlr::numeric::subArray ( const Array2D< Type > &  source  )  [inline]

This is a convenience function for constructing SubArray2D instances which reference every element of the source array.

Use this function when you want to modify every element of an Array2D instance. For example, you might use the following to copy the 9 elements at the intersections of rows [0, 2, 4] and columns [1, 2, 3] of array1 into an appropriately sized array0:

subArray(array0) = subArray(array1, Slice(0, 6, 2), Slice(1, 4));

Parameters:
source This argument specifies the Array2D into which to index.
Returns:
A SubArray2D instance referencing every element of the source array.

Definition at line 277 of file subArray2D.h.

template<class Type >
SubArray1D<Type> dlr::numeric::subArray ( const Array1D< Type > &  source,
const Slice &  rowSlice 
) [inline]

This is a convenience function for constructing SubArray1D instances which reference only selected elements of the source array.

Use this function when you want to modify only some of the elements of an Array1D instance. For example, you might use the following to copy the first, sixth, eleventh, and sixteenth elements of array1 into the second, sixth, tenth, and fourteenth elements of array0:

subArray(array0, Slice(1, 15, 4)) = subArray(array1, Slice(0, 16, 5));

Parameters:
source This argument specifies the Array1D into which to index.
rowSlice A slice instance indicating the target elements.
Returns:
A SubArray1D instance referencing the selected elements of the source array.

Definition at line 264 of file subArray1D.h.

template<class Type >
SubArray1D<Type> dlr::numeric::subArray ( const Array1D< Type > &  source  )  [inline]

This is a convenience function for constructing SubArray1D instances which reference every element of the source array.

Use this function when you want to modify every element of an Array1D instance.

Parameters:
source This argument specifies the Array1D into which to index.
Returns:
A SubArray1D instance referencing every element of the source array.

Definition at line 240 of file subArray1D.h.

Referenced by dlr::numeric::SubArray1D< Type >::operator Array1D< Type >(), and dlr::numeric::SubArray2D< Type >::operator Array2D< Type >().

template<class Type0 , class Type1 >
bool dlr::numeric::subpixelInterpolate ( double  centerPosition,
Type0  value0,
Type0  value1,
Type0  value2,
double &  extremumPosition,
Type1 &  extremeValue 
) [inline]

Given pixel values in a 3x1 arrangement centerPosition, this function fits a quadratic to the values and returns the location and interpolated value of the extremum (max or min value) of the quadratic.

Note that when choosing the values of parameter centerPosition, you have to think carefully about your pixel coordinate system. It is necessary to decide whether a coordinate of 6.0 means "the center of the sixth pixel," or "On the border between the fifth and sixth pixels". We encourage the convention that the pixel at integer coordinate i has boundaries at i and (i+1). Under this convention, the center of pixel i is at coordinate (i + 0.5).

Parameters:
centerPosition This argument is the coordinate of the center of the center pixel of the 3x1 neighborhood.
value0 This argument is the pixel value at (centerPosition - 1).
value1 This argument is the pixel value at centerPosition.
value2 This argument is the pixel value at (centerPosition + 1).
extremumPosition This argument returns the (subpixel) position of the recovered extremum.
extremeValue This argument returns the interpolated pixel value at the recovered extremum.
Returns:
The return value is true if the extremum is well defined, false otherwise. Note that this function does not check to see whether the location is extremum is reasonable. You'll have to check for yourself to make sure that it doesn't think the extremum is miles from centerPosition.

Definition at line 428 of file subpixelInterpolate.h.

template<class Type0 , class Type1 >
bool dlr::numeric::subpixelInterpolate ( double  centerRowCoord,
double  centerColumnCoord,
Type0  value00,
Type0  value01,
Type0  value02,
Type0  value10,
Type0  value11,
Type0  value12,
Type0  value20,
Type0  value21,
Type0  value22,
double &  extremumRowCoord,
double &  extremumColumnCoord,
Type1 &  extremeValue 
) [inline]

Given pixel values in a 3x3 array around (centerRow, centerColumn), this function fits a quadratic to the array values and returns the location and interpolated value of the extremum (max or min value) of the quadratic.

Note that when choosing the values of parameters centerRowCoord and centerColumnCoord, you have to think carefully about your pixel coordinate system. It is necessary to decide whether a row coordinate of 6.0 means "the center of the sixth row," or "On the border between the fifth and sixth rows". We encourage the convention that the pixel at integer coordinates [i, j] has corners at (i, j), (i, j+1), (i+1, j), and (i+1, j+1). Under this convention, the center of pixel [i, j] is at row coordinate (i + 0.5), column coordinate (j + 0.5).

Parameters:
centerRowCoord This argument is the row coordinate of the center of the center pixel of the 3x3 neighborhood.
centerColumnCoord This argument is the column coordinate of the center of the center pixels of the 3x3 neighborhood.
value00 This argument is the pixel value at (centerRowCoord - 1, centerColumnCoord - 1).
value01 This argument is the pixel value at (centerRowCoord - 1, centerColumnCoord).
value02 This argument is the pixel value at (centerRowCoord - 1, centerColumnCoord + 1).
value10 This argument is the pixel value at (centerRowCoord, centerColumnCoord - 1).
value11 This argument is the pixel value at (centerRowCoord, centerColumnCoord).
value12 This argument is the pixel value at (centerRowCoord, centerColumnCoord + 1).
value20 This argument is the pixel value at (centerRowCoord + 1, centerColumnCoord - 1).
value21 This argument is the pixel value at (centerRowCoord + 1, centerColumnCoord).
value22 This argument is the pixel value at (centerRowCoord + 1, centerColumnCoord + 1).
extremumRowCoord This argument returns the (subpixel) row coordinate of the recovered extremum.
extremumColumnCoord This argument returns the (subpixel) column coordinate of the recovered extremum.
extremeValue This argument returns the interpolated pixel value at the recovered extremum.
Returns:
The return value is true if the extremum is well defined, false otherwise. Note that this function does not check to see whether the location is extremum is reasonable. You'll have to check for yourself to make sure that it doesn't think the extremum is miles from (centerRowCoord, centerColumnCoord). A reasonable check is to make sure it's within the original 3x3 neighborhood.

Definition at line 329 of file subpixelInterpolate.h.

References getQuadraticCoefficients3x3().


Generated on Wed Nov 25 00:42:47 2009 for dlrUtilities Utility Library by  doxygen 1.5.8