DiCurveFitting< T1, T2 > Class Template Reference

Template class for polynomial curve fitting algorithm. More...

List of all members.

Static Public Member Functions

static int calculateCoefficients (const T1 *x, const T2 *y, const unsigned int n, const unsigned int o, T3_ *c)
 calculate coefficients for resulting polynomial function.
static int calculateValues (const T1 xs, const T1 xe, T2 *y, const unsigned int n, const unsigned int o, const T3_ *c)
 calculate y coordinates for the given range of x coordinates.

Static Private Member Functions

static void convertValue (const T3_ input, Uint8 &output)
 helper routine: convert to unsigned 8 bit value
static void convertValue (const T3_ input, Sint8 &output)
 helper routine: convert to signed 8 bit value
static void convertValue (const T3_ input, Uint16 &output)
 helper routine: convert to unsigned 16 bit value
static void convertValue (const T3_ input, Sint16 &output)
 helper routine: convert to signed 16 bit value
static void convertValue (const T3_ input, double &output)
 helper routine: convert to floating point value (double precision)
static int solve (T3_ *a, T3_ *b, const unsigned int n)
 solve the equation given by the two matrixes.


Detailed Description

template<class T1, class T2>
class DiCurveFitting< T1, T2 >

Template class for polynomial curve fitting algorithm.

Definition at line 57 of file dicrvfit.h.


Member Function Documentation

template<class T1, class T2>
static int DiCurveFitting< T1, T2 >::calculateCoefficients ( const T1 *  x,
const T2 *  y,
const unsigned int  n,
const unsigned int  o,
T3_ *  c 
) [inline, static]

calculate coefficients for resulting polynomial function.

T1 = type of x coordinates T2 = type of y coordinates T3_ = type of coefficients (and for internal calculations)

Parameters:
x array with x coordinates of given points
y array with y coordinates of given points
n number of entries in array (= points)
o order of polynomial function
c array to store the resulting coefficients (o+1 entries !)
Returns:
true if successful, false otherwise

Definition at line 75 of file dicrvfit.h.

References DiCurveFitting< T1, T2 >::solve().

template<class T1, class T2>
static int DiCurveFitting< T1, T2 >::calculateValues ( const T1  xs,
const T1  xe,
T2 *  y,
const unsigned int  n,
const unsigned int  o,
const T3_ *  c 
) [inline, static]

calculate y coordinates for the given range of x coordinates.

The polynomial function is defined by the specified coefficients. T1 = type of x coordinates T2 = type of y coordinates T3_ = type of coefficients (and for internal calculations)

Parameters:
xs first x coordinate for computation
xe last x coordinate for computation
y array to store the resulting y coordinates (n entries !)
n number of entries in array (= points)
o order of polynomial function
c array of coefficients computed by the above method (o+1 entries !)
Returns:
true if successful, false otherwise

Definition at line 156 of file dicrvfit.h.

References DiCurveFitting< T1, T2 >::convertValue().

template<class T1, class T2>
static void DiCurveFitting< T1, T2 >::convertValue ( const T3_  input,
Uint8 &  output 
) [inline, static, private]

helper routine: convert to unsigned 8 bit value

Parameters:
input input value to be converted
output output value (range: 0..255)
Returns:
output value

Definition at line 200 of file dicrvfit.h.

Referenced by DiCurveFitting< T1, T2 >::calculateValues().

template<class T1, class T2>
static void DiCurveFitting< T1, T2 >::convertValue ( const T3_  input,
Sint8 &  output 
) [inline, static, private]

helper routine: convert to signed 8 bit value

Parameters:
input input value to be converted
output output value (range: -128..127)
Returns:
output value

Definition at line 212 of file dicrvfit.h.

template<class T1, class T2>
static void DiCurveFitting< T1, T2 >::convertValue ( const T3_  input,
Uint16 &  output 
) [inline, static, private]

helper routine: convert to unsigned 16 bit value

Parameters:
input input value to be converted
output output value (range: 0..65535)
Returns:
output value

Definition at line 224 of file dicrvfit.h.

template<class T1, class T2>
static void DiCurveFitting< T1, T2 >::convertValue ( const T3_  input,
Sint16 &  output 
) [inline, static, private]

helper routine: convert to signed 16 bit value

Parameters:
input input value to be converted
output output value (range: -32768..32767)
Returns:
output value

Definition at line 236 of file dicrvfit.h.

template<class T1, class T2>
static void DiCurveFitting< T1, T2 >::convertValue ( const T3_  input,
double &  output 
) [inline, static, private]

helper routine: convert to floating point value (double precision)

Parameters:
input input value to be converted
output output value (double)
Returns:
output value

Definition at line 248 of file dicrvfit.h.

template<class T1, class T2>
static int DiCurveFitting< T1, T2 >::solve ( T3_ *  a,
T3_ *  b,
const unsigned int  n 
) [inline, static, private]

solve the equation given by the two matrixes.

T3_ = type of coefficients (and for internal calculations)

Parameters:
a first matrix (array of values)
b second matrix (array of values)
n number of entries in array
Returns:
true if successful, false otherwise

Definition at line 262 of file dicrvfit.h.

Referenced by DiCurveFitting< T1, T2 >::calculateCoefficients().


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


Generated on 6 Jan 2011 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.5.1