OpenMS
Loading...
Searching...
No Matches
TransformationDescription.h
Go to the documentation of this file.
1// Copyright (c) 2002-present, OpenMS Inc. -- EKU Tuebingen, ETH Zurich, and FU Berlin
2// SPDX-License-Identifier: BSD-3-Clause
3//
4// --------------------------------------------------------------------------
5// $Maintainer: Timo Sachsenberg $
6// $Authors: Clemens Groepl, Hendrik Weisser $
7// --------------------------------------------------------------------------
8
9#pragma once
10
14#include <iosfwd>
15#include <map>
16
17namespace OpenMS
18{
36 class OPENMS_DLLAPI TransformationDescription
37 {
38 // friend class MapAlignmentAlgorithm;
39
40public:
41
47 {
48 // default constructor
50
51 // copy constructor
53
54 // copy assignment
56
57 std::vector<Size> percents = {100, 99, 95, 90, 75, 50, 25}; // TODO: use constexpr array
58 double xmin = 0;
59 double xmax = 0;
60 double ymin = 0;
61 double ymax = 0;
62
63 std::map<Size, double> percentiles_before;
64 std::map<Size, double> percentiles_after;
65 };
66
67
72
75
78
81
86
88 void fitModel(const String& model_type, const Param& params = Param());
89
96 double apply(double value) const;
97
99 const String& getModelType() const;
100
102 static void getModelTypes(StringList& result);
103
109 void setDataPoints(const DataPoints& data);
110
116 void setDataPoints(const std::vector<std::pair<double, double> >& data);
117
119 const DataPoints& getDataPoints() const;
120
122 const Param& getModelParameters() const;
123
125 void invert();
126
134 void getDeviations(std::vector<double>& diffs, bool do_apply = false,
135 bool do_sort = true) const;
136
139
141 void printSummary(std::ostream& os) const;
142
182 double estimateWindow(double quantile = 0.99,
183 bool invert = true,
184 bool full_window = true,
185 double padding_factor = 1.0) const;
186
187protected:
194 };
195
196} // end of namespace OpenMS
197
Management and storage of parameters / INI files.
Definition Param.h:46
A more convenient string class.
Definition String.h:34
Generic description of a coordinate transformation.
Definition TransformationDescription.h:37
const String & getModelType() const
Gets the type of the fitted model.
void setDataPoints(const DataPoints &data)
Sets the data points.
TransformationDescription()
Default constructor.
void getDeviations(std::vector< double > &diffs, bool do_apply=false, bool do_sort=true) const
Get the deviations between the data pairs.
TransformationStatistics getStatistics() const
Get summary statistics (ranges and errors before/after)
void printSummary(std::ostream &os) const
Print summary statistics for the transformation.
String model_type_
Type of model.
Definition TransformationDescription.h:191
DataPoints data_
Data points.
Definition TransformationDescription.h:189
static void getModelTypes(StringList &result)
Gets the possible types of models.
const DataPoints & getDataPoints() const
Returns the data points.
double apply(double value) const
Applies the transformation to value.
TransformationDescription(const DataPoints &data)
Constructor from data.
void setDataPoints(const std::vector< std::pair< double, double > > &data)
Sets the data points (backwards-compatible overload)
void fitModel(const String &model_type, const Param &params=Param())
Fits a model to the data.
void invert()
Computes an (approximate) inverse of the transformation.
TransformationModel::DataPoint DataPoint
Coordinate pair.
Definition TransformationDescription.h:69
const Param & getModelParameters() const
Non-mutable access to the model parameters.
TransformationDescription(const TransformationDescription &rhs)
Copy constructor.
double estimateWindow(double quantile=0.99, bool invert=true, bool full_window=true, double padding_factor=1.0) const
Estimate a coordinate-transformation, residual-based extraction window.
TransformationModel::DataPoints DataPoints
Vector of coordinate pairs.
Definition TransformationDescription.h:71
TransformationModel * model_
Pointer to model.
Definition TransformationDescription.h:193
TransformationDescription & operator=(const TransformationDescription &rhs)
Assignment operator.
Base class for transformation models.
Definition TransformationModel.h:29
std::vector< DataPoint > DataPoints
Vector of coordinate pairs.
Definition TransformationModel.h:65
std::vector< String > StringList
Vector of String.
Definition ListUtils.h:44
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
Summary statistics before/after applying the transformation. For deviations before/after transformati...
Definition TransformationDescription.h:47
TransformationStatistics & operator=(const TransformationStatistics &rhs)=default
std::map< Size, double > percentiles_after
percentiles of x/y deviations after transformation
Definition TransformationDescription.h:64
TransformationStatistics(const TransformationStatistics &rhs)=default
std::map< Size, double > percentiles_before
percentiles of x/y deviations before transformation
Definition TransformationDescription.h:63
Coordinate pair (with optional annotation)
Definition TransformationModel.h:33