#include <imgclass.hpp>
exp4kurve is an eichkurve that uses four overlayed exponential decays with different timescales and weights for the absorption of non-monochromatic radiation. The formula is:
Definition at line 568 of file imgclass.hpp.
Public Member Functions | |
exp4kurve (double sA, double sa1, double sa2, double sa3, double sb1, double sb2, double sb3, double sb4) | |
double | eichfun (double x) const |
Calibration function, which will be inverted. | |
double | deichfun_dx (double x) const |
Derivative of the calibration function. | |
double | initguess (bild16::data_t val) const |
Starting point for the iteration. | |
double | operator() (bild16::data_t val) const |
Conversion operator. | |
void | table_write (const char *name) const |
Write the lookup table to a file. | |
Protected Member Functions | |
double | fsolve (bild16::data_t val, double hmin, double hmax) const |
void | table_init (double hmin, double hmax) |
Protected Attributes | |
double * | lookup |
Static Protected Attributes | |
static const char | magic [] = "EICHTABELLE" |
Private Attributes | |
double | A |
double | a1 |
double | a2 |
double | a3 |
double | b1 |
double | b2 |
double | b3 |
double | b4 |
exp4kurve::exp4kurve | ( | double | sA, | |
double | sa1, | |||
double | sa2, | |||
double | sa3, | |||
double | sb1, | |||
double | sb2, | |||
double | sb3, | |||
double | sb4 | |||
) |
double exp4kurve::eichfun | ( | double | x | ) | const [virtual] |
double exp4kurve::deichfun_dx | ( | double | x | ) | const [virtual] |
double exp4kurve::initguess | ( | bild16::data_t | val | ) | const [virtual] |
double eichkurve::operator() | ( | bild16::data_t | val | ) | const [inline, inherited] |
Conversion operator.
The function evaluation operator looks up an element in the lookup table and returns it. Initially, it was meant for usage such as:
tablekurve tk("somecalib.data"); bild16 bild("someimage.his"); bildfloat bfl; MAP(bild) { bfl(y,x)=tk(bild(y,x)); }
But because of point-wise float corrections necessary to overcome the deficiencies of the detector, it must now be applied to floating point images. bildfloat features a special member function for this purpose.
Definition at line 530 of file imgclass.hpp.
References eichkurve::lookup.
void eichkurve::table_write | ( | const char * | name | ) | const [inherited] |
Write the lookup table to a file.
Definition at line 462 of file imgclass.cpp.
References eichkurve::lookup, and eichkurve::magic.
double eichkurve::fsolve | ( | bild16::data_t | val, | |
double | hmin, | |||
double | hmax | |||
) | const [protected, inherited] |
Definition at line 388 of file imgclass.cpp.
References abs(), eichkurve::eichfun(), and signum().
Referenced by eichkurve::table_init().
void eichkurve::table_init | ( | double | hmin, | |
double | hmax | |||
) | [protected, inherited] |
Definition at line 380 of file imgclass.cpp.
References eichkurve::fsolve(), and eichkurve::lookup.
Referenced by exp4kurve(), and expkurve::expkurve().
double exp4kurve::A [private] |
Definition at line 580 of file imgclass.hpp.
Referenced by deichfun_dx(), eichfun(), and initguess().
double exp4kurve::a1 [private] |
double exp4kurve::a2 [private] |
double exp4kurve::a3 [private] |
Definition at line 580 of file imgclass.hpp.
Referenced by deichfun_dx(), eichfun(), and initguess().
double exp4kurve::b1 [private] |
double exp4kurve::b2 [private] |
double exp4kurve::b3 [private] |
Definition at line 580 of file imgclass.hpp.
Referenced by deichfun_dx(), eichfun(), and initguess().
double exp4kurve::b4 [private] |
const char eichkurve::magic = "EICHTABELLE" [static, protected, inherited] |
Definition at line 506 of file imgclass.hpp.
Referenced by eichkurve::table_write(), and tablekurve::tablekurve().
double* eichkurve::lookup [protected, inherited] |
Definition at line 507 of file imgclass.hpp.
Referenced by eichkurve::eichkurve(), flatkurve::flatkurve(), eichkurve::operator()(), eichkurve::table_init(), eichkurve::table_write(), tablekurve::tablekurve(), and eichkurve::~eichkurve().