#include <vtkExponentialFunctions.h>
Inheritance diagram for vtkExponentialFunctions:


vtkExponentialFunctions provides methods to perform fittings of various exponential functions using Non-linear least squares Levenberg-Marquardt.
Definition at line 55 of file vtkExponentialFunctions.h.
Public Member Functions | |
| vtkTypeRevisionMacro (vtkExponentialFunctions, vtkObject) | |
Static Public Member Functions | |
| static vtkExponentialFunctions * | New () |
| static void | exponential (double *p, double *x, int m, int n, void *data) |
| static void | exponentialWithConstant (double *p, double *x, int m, int n, void *data) |
| static void | jacexponential (double *p, double *jac, int m, int n, void *data) |
| static void | oneminusexponential (double *p, double *x, int m, int n, void *data) |
| static void | jaconeminusexponential (double *p, double *jac, int m, int n, void *data) |
| static double | sinc (double x) |
| static void | exponentialSincMod (double *p, double *x, int m, int n, void *data) |
| static void | exponentialSincModWithConstant (double *p, double *x, int m, int n, void *data) |
| static void | jacexponentialSincMod (double *p, double *jac, int m, int n, void *data) |
| static void | exponentialSincModThreeParam (double *p, double *x, int m, int n, void *data) |
| static void | exponentialSincModThreeParamWithConstant (double *p, double *x, int m, int n, void *data) |
| static void | jacexponentialSincModThreeParam (double *p, double *jac, int m, int n, void *data) |
| static void | CalculateParameterApproximates (double *x, double *y, unsigned int num, double &A, double &B) |
| static void | CalculateParameterApproximatesWithConstant (double *x, double *y, unsigned int num, double &A, double &B, double &C) |
Protected Member Functions | |
| vtkExponentialFunctions () | |
| ~vtkExponentialFunctions () | |
| vtkExponentialFunctions::vtkExponentialFunctions | ( | ) | [inline, protected] |
Definition at line 274 of file vtkExponentialFunctions.h.
| vtkExponentialFunctions::~vtkExponentialFunctions | ( | ) | [inline, protected] |
Definition at line 275 of file vtkExponentialFunctions.h.
| static vtkExponentialFunctions* vtkExponentialFunctions::New | ( | ) | [static] |
Reimplemented from vtkObject.
| vtkExponentialFunctions::vtkTypeRevisionMacro | ( | vtkExponentialFunctions | , | |
| vtkObject | ||||
| ) |
| static void vtkExponentialFunctions::exponential | ( | double * | p, | |
| double * | x, | |||
| int | m, | |||
| int | n, | |||
| void * | data | |||
| ) | [inline, static] |
The function below is used for fitting 'x=p[0]*e^-(data*p[1])' using Levenberg-Marquardt non-linear least squares algorithms. The # of elements in data must match 'n'.
Definition at line 66 of file vtkExponentialFunctions.h.
References EXP.
| static void vtkExponentialFunctions::exponentialWithConstant | ( | double * | p, | |
| double * | x, | |||
| int | m, | |||
| int | n, | |||
| void * | data | |||
| ) | [inline, static] |
The function below is used for fitting 'x=p[0]*e^-(data*p[1]) + p[3]' using Levenberg-Marquardt non-linear least squares algorithms. The # of elements in data must match 'n'.
Definition at line 82 of file vtkExponentialFunctions.h.
References EXP.
| static void vtkExponentialFunctions::jacexponential | ( | double * | p, | |
| double * | jac, | |||
| int | m, | |||
| int | n, | |||
| void * | data | |||
| ) | [inline, static] |
The Jacobian of the above two functions. 'jac=-p[1]*p[0]*e^-(data*p[1])' The # of elements in data must match 'n'.
Definition at line 97 of file vtkExponentialFunctions.h.
References EXP.
| static void vtkExponentialFunctions::oneminusexponential | ( | double * | p, | |
| double * | x, | |||
| int | m, | |||
| int | n, | |||
| void * | data | |||
| ) | [inline, static] |
The function below is used for fitting 'x=p[0]*(1-e^-(data*p[1]))' using Levenberg-Marquardt non-linear least squares algorithms. The # of elements in data must match 'n'.
Definition at line 113 of file vtkExponentialFunctions.h.
References EXP.
| static void vtkExponentialFunctions::jaconeminusexponential | ( | double * | p, | |
| double * | jac, | |||
| int | m, | |||
| int | n, | |||
| void * | data | |||
| ) | [inline, static] |
The Jacobian of the above function. 'jac=p[1]*p[0]*e^-(data*p[1])' The # of elements in data must match 'n'.
Definition at line 128 of file vtkExponentialFunctions.h.
References EXP.
| static double vtkExponentialFunctions::sinc | ( | double | x | ) | [inline, static] |
Standard sinc function.
Definition at line 141 of file vtkExponentialFunctions.h.
References SIN.
Referenced by exponentialSincMod(), exponentialSincModThreeParam(), exponentialSincModThreeParamWithConstant(), exponentialSincModWithConstant(), jacexponentialSincMod(), and jacexponentialSincModThreeParam().
| static void vtkExponentialFunctions::exponentialSincMod | ( | double * | p, | |
| double * | x, | |||
| int | m, | |||
| int | n, | |||
| void * | data | |||
| ) | [inline, static] |
The function below is used for fitting 'x=p[0]*|sinc(data[0]*data)|*e^-(p[1]*data)' using Levenberg-Marquardt non-linear least squares algorithms. data[0] = (gamma/2)*deltaB data[1-(n+1)] = time points The # of elements in data must match 'n+1'.
Definition at line 153 of file vtkExponentialFunctions.h.
| static void vtkExponentialFunctions::exponentialSincModWithConstant | ( | double * | p, | |
| double * | x, | |||
| int | m, | |||
| int | n, | |||
| void * | data | |||
| ) | [inline, static] |
The function below is used for fitting 'x=p[0]*|sinc(data[0]*data)|*e^-(p[1]*data) + p[2]' using Levenberg-Marquardt non-linear least squares algorithms. data[0] = (gamma/2)*deltaB data[1-(n+1)] = time points The # of elements in data must match 'n+1'.
Definition at line 171 of file vtkExponentialFunctions.h.
| static void vtkExponentialFunctions::jacexponentialSincMod | ( | double * | p, | |
| double * | jac, | |||
| int | m, | |||
| int | n, | |||
| void * | data | |||
| ) | [inline, static] |
| static void vtkExponentialFunctions::exponentialSincModThreeParam | ( | double * | p, | |
| double * | x, | |||
| int | m, | |||
| int | n, | |||
| void * | data | |||
| ) | [inline, static] |
The function below is used for fitting 'x=p[0]*|sinc(p[2]*data)|*e^-(p[1]*data)' using Levenberg-Marquardt non-linear least squares algorithms. data[0] = (gamma/2) data[1-(n+1)] = time points The # of elements in data must match 'n+1'.
Definition at line 209 of file vtkExponentialFunctions.h.
| static void vtkExponentialFunctions::exponentialSincModThreeParamWithConstant | ( | double * | p, | |
| double * | x, | |||
| int | m, | |||
| int | n, | |||
| void * | data | |||
| ) | [inline, static] |
The function below is used for fitting 'x=data[0]*p[0]*|sinc(p[2]*data)|*e^-(p[1]*data) + p[3]' using Levenberg-Marquardt non-linear least squares algorithms. data[0] = (gamma/2) data[1-(n+1)] = time points The # of elements in data must match 'n+1'.
Definition at line 227 of file vtkExponentialFunctions.h.
| static void vtkExponentialFunctions::jacexponentialSincModThreeParam | ( | double * | p, | |
| double * | jac, | |||
| int | m, | |||
| int | n, | |||
| void * | data | |||
| ) | [inline, static] |
| static void vtkExponentialFunctions::CalculateParameterApproximates | ( | double * | x, | |
| double * | y, | |||
| unsigned int | num, | |||
| double & | A, | |||
| double & | B | |||
| ) | [static] |
Calculate parameter approximates for the function 'y=A*e^-(B*x)'.
| static void vtkExponentialFunctions::CalculateParameterApproximatesWithConstant | ( | double * | x, | |
| double * | y, | |||
| unsigned int | num, | |||
| double & | A, | |||
| double & | B, | |||
| double & | C | |||
| ) | [static] |
Calculate parameter approximates for the function 'y=A*e^-(B*x) + C'.
1.4.7