flatkurve Class Reference

#include <imgclass.hpp>

Inheritance diagram for flatkurve:

Inheritance graph
base refererrect $classeichkurve.html 6,18 73,42
[legend]

List of all members.


Detailed Description

linear transform eichkurve, deprecated

flatkurve does nothing when converting from an unsigned 16 bit integer to floats. It is only dummy for functions expecting an eichkurve and should not be used any longer, since those functions have been eliminated.

Deprecated:
Don't use flatkurve if there is no need to. For example, the code
          flatkurve fk;
          bild16 test("test.his");
          bildfloat tbf(test, fk);
should be replaced by
          bild16 test("test.his");
          bildfloat tbf(test);
which does the same. You should not used unnormalized bildfloats

Definition at line 636 of file imgclass.hpp.


Public Member Functions

 flatkurve (bool normalize_=true)
virtual double eichfun (double x) const
 Calibration function, which will be inverted.
virtual double deichfun_dx (double x) const
 Derivative of the calibration function.
virtual 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

bool normalize

Constructor & Destructor Documentation

flatkurve::flatkurve ( bool  normalize_ = true  ) 


Member Function Documentation

double flatkurve::eichfun ( double  x  )  const [virtual]

Calibration function, which will be inverted.

Implements eichkurve.

Definition at line 527 of file imgclass.cpp.

References bild16::intensity_max, and normalize.

double flatkurve::deichfun_dx ( double  x  )  const [virtual]

Derivative of the calibration function.

Implements eichkurve.

Definition at line 532 of file imgclass.cpp.

References bild16::intensity_max, and normalize.

double flatkurve::initguess ( bild16::data_t  val  )  const [virtual]

Starting point for the iteration.

The implementation of initguess must return a starting value that triggers convergence to the solution. Otherwise table_init may hang.

Implements eichkurve.

Definition at line 522 of file imgclass.cpp.

References bild16::intensity_max, and normalize.

Referenced by flatkurve().

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::exp4kurve(), and expkurve::expkurve().


Member Data Documentation

bool flatkurve::normalize [private]

Definition at line 643 of file imgclass.hpp.

Referenced by deichfun_dx(), eichfun(), and initguess().

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]


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

Generated on Fri Jul 24 12:49:18 2009 for Xgrayimg Library by  doxygen 1.5.5