|
| | 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.