Template class for polynomial curve fitting algorithm.
More...
|
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. More...
|
|
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. More...
|
|
|
static void | convertValue (const T3_ input, Uint8 &output) |
| helper routine: convert to unsigned 8 bit value More...
|
|
static void | convertValue (const T3_ input, Sint8 &output) |
| helper routine: convert to signed 8 bit value More...
|
|
static void | convertValue (const T3_ input, Uint16 &output) |
| helper routine: convert to unsigned 16 bit value More...
|
|
static void | convertValue (const T3_ input, Sint16 &output) |
| helper routine: convert to signed 16 bit value More...
|
|
static void | convertValue (const T3_ input, double &output) |
| helper routine: convert to floating point value (double precision) More...
|
|
static int | solve (T3_ *a, T3_ *b, const unsigned int n) |
| solve the equation given by the two matrixes. More...
|
|
template<class T1, class T2>
class DiCurveFitting< T1, T2 >
Template class for polynomial curve fitting algorithm.
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 |
|
) |
| |
|
inlinestatic |
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
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 |
|
) |
| |
|
inlinestatic |
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
References DiCurveFitting< T1, T2 >::convertValue().
template<class T1 , class T2 >
static void DiCurveFitting< T1, T2 >::convertValue |
( |
const T3_ |
input, |
|
|
Uint8 & |
output |
|
) |
| |
|
inlinestaticprivate |
template<class T1 , class T2 >
static void DiCurveFitting< T1, T2 >::convertValue |
( |
const T3_ |
input, |
|
|
Sint8 & |
output |
|
) |
| |
|
inlinestaticprivate |
helper routine: convert to signed 8 bit value
- Parameters
-
input | input value to be converted |
output | output value (range: -128..127) |
- Returns
- output value
template<class T1 , class T2 >
static void DiCurveFitting< T1, T2 >::convertValue |
( |
const T3_ |
input, |
|
|
Uint16 & |
output |
|
) |
| |
|
inlinestaticprivate |
helper routine: convert to unsigned 16 bit value
- Parameters
-
input | input value to be converted |
output | output value (range: 0..65535) |
- Returns
- output value
template<class T1 , class T2 >
static void DiCurveFitting< T1, T2 >::convertValue |
( |
const T3_ |
input, |
|
|
Sint16 & |
output |
|
) |
| |
|
inlinestaticprivate |
helper routine: convert to signed 16 bit value
- Parameters
-
input | input value to be converted |
output | output value (range: -32768..32767) |
- Returns
- output value
template<class T1 , class T2 >
static void DiCurveFitting< T1, T2 >::convertValue |
( |
const T3_ |
input, |
|
|
double & |
output |
|
) |
| |
|
inlinestaticprivate |
helper routine: convert to floating point value (double precision)
- Parameters
-
input | input value to be converted |
output | output value (double) |
- Returns
- output value
template<class T1 , class T2 >
static int DiCurveFitting< T1, T2 >::solve |
( |
T3_ * |
a, |
|
|
T3_ * |
b, |
|
|
const unsigned int |
n |
|
) |
| |
|
inlinestaticprivate |
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
Referenced by DiCurveFitting< T1, T2 >::calculateCoefficients().
The documentation for this class was generated from the following file:
- dcmimgle/include/dcmtk/dcmimgle/dicrvfit.h