|
| TransformationModelInterpolated (const DataPoints &data, const Param ¶ms) |
| Constructor. More...
|
|
| TransformationModelInterpolated (const std::vector< std::pair< double, double >> &data, const Param ¶ms, bool preprocess) |
|
| ~TransformationModelInterpolated () override |
| Destructor. More...
|
|
double | evaluate (double value) const override |
| Evaluate the interpolation model at the given value. More...
|
|
| TransformationModel () |
| Constructor. More...
|
|
| TransformationModel (const TransformationModel::DataPoints &, const Param &) |
|
virtual | ~TransformationModel () |
| Destructor. More...
|
|
virtual void | weightData (DataPoints &data) |
| Weight the data by the given weight function. More...
|
|
virtual void | unWeightData (DataPoints &data) |
| Unweight the data by the given weight function. More...
|
|
bool | checkValidWeight (const String &weight, const std::vector< String > &valid_weights) const |
| Check for a valid weighting function string. More...
|
|
double | checkDatumRange (const double &datum, const double &datum_min, const double &datum_max) |
| Check that the datum is within the valid min and max bounds. More...
|
|
double | weightDatum (const double &datum, const String &weight) const |
| Weight the data according to the weighting function. More...
|
|
double | unWeightDatum (const double &datum, const String &weight) const |
| Apply the reverse of the weighting function to the data. More...
|
|
const Param & | getParameters () const |
| Gets the (actual) parameters. More...
|
|
std::vector< String > | getValidXWeights () const |
| Returns a list of valid x weight function strings. More...
|
|
std::vector< String > | getValidYWeights () const |
| Returns a list of valid y weight function strings. More...
|
|
Interpolation model for transformations.
Between the data points, the interpolation uses the neighboring points to interpolate. The following interpolation methods are available:
- linear: Linearly interpolate between neighboring points
- cspline: Use a cubic spline to interpolate between neighboring points
- akima: Use an akima spline to interpolate between neighboring points (less affected by outliers)
Outside the range spanned by the points, we extrapolate using one of the following methods:
- two-point-linear: Uses a line through the first and last point to extrapolate
- four-point-linear: Uses a line through the first and second point to extrapolate in front and and a line through the last and second-to-last point in the end. If the data is non-linear, this may yield better approximations for extrapolation.
- global-linear: Uses a linear regression to fit a line through all data points and use it for extrapolation. Note that global-linear extrapolation may not be continuous with the interpolation at the border.