OpenMS
Loading...
Searching...
No Matches
EGHTraceFitter.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: Stephan Aiche $
7// --------------------------------------------------------------------------
8
9#pragma once
10
12
13namespace OpenMS
14{
15
28 class OPENMS_DLLAPI EGHTraceFitter :
29 public TraceFitter
30 {
31public:
35 {
36public:
37
38 EGHTraceFunctor(int dimensions,
39 const TraceFitter::ModelData* data);
40
41 ~EGHTraceFunctor() override;
42
43 int operator()(const double* x, double* fvec) override;
44
45 // compute Jacobian matrix for the different parameters
46 int df(const double* x, double* J) override;
47
48protected:
50 };
51
53
55
57
58 ~EGHTraceFitter() override;
59
60 // override important methods
62
63 double getLowerRTBound() const override;
64
65 double getTau() const;
66
67 double getUpperRTBound() const override;
68
69 double getHeight() const override;
70
71 double getSigma() const;
72
73 double getCenter() const override;
74
75 bool checkMaximalRTSpan(const double max_rt_span) override;
76
77 bool checkMinimalRTSpan(const std::pair<double, double>& rt_bounds, const double min_rt_span) override;
78
79 double getValue(double rt) const override;
80
81 double getArea() override;
82
83 double getFWHM() const override;
84
85 String getGnuplotFormula(const FeatureFinderAlgorithmPickedHelperStructs::MassTrace& trace, const char function_name, const double baseline, const double rt_shift) override;
86
87protected:
88 double apex_rt_;
89 double height_;
90
91 double sigma_;
92 double tau_;
93
94 std::pair<double, double> sigma_5_bound_;
95
97
99 static const double EPSILON_COEFS_[];
100
101 static const Size NUM_PARAMS_;
102
108 std::pair<double, double> getAlphaBoundaries_(const double alpha) const;
109
110 void getOptimizedParameters_(const std::vector<double>& x_init) override;
111
113
114 void updateMembers_() override;
115 };
116
117} // namespace OpenMS
118
Definition EGHTraceFitter.h:35
EGHTraceFunctor(int dimensions, const TraceFitter::ModelData *data)
int operator()(const double *x, double *fvec) override
Compute residuals. x has size inputs(), fvec has size values()
int df(const double *x, double *J) override
Compute Jacobian matrix. x has size inputs(), J is values() x inputs() (column-major)
const TraceFitter::ModelData * m_data
Definition EGHTraceFitter.h:49
A RT Profile fitter using an Exponential Gaussian Hybrid background model.
Definition EGHTraceFitter.h:30
void getOptimizedParameters_(const std::vector< double > &x_init) override
double getLowerRTBound() const override
double getHeight() const override
bool checkMaximalRTSpan(const double max_rt_span) override
double tau_
Definition EGHTraceFitter.h:92
double getTau() const
double getFWHM() const override
double getArea() override
double sigma_
Definition EGHTraceFitter.h:91
void fit(FeatureFinderAlgorithmPickedHelperStructs::MassTraces &traces) override
double getUpperRTBound() const override
double getValue(double rt) const override
EGHTraceFitter & operator=(const EGHTraceFitter &source)
String getGnuplotFormula(const FeatureFinderAlgorithmPickedHelperStructs::MassTrace &trace, const char function_name, const double baseline, const double rt_shift) override
std::pair< double, double > getAlphaBoundaries_(const double alpha) const
Return an ordered pair of the positions where the EGH reaches a height of alpha * height of the EGH.
double getCenter() const override
std::pair< double, double > sigma_5_bound_
Definition EGHTraceFitter.h:94
double height_
Definition EGHTraceFitter.h:89
double getSigma() const
~EGHTraceFitter() override
void updateMembers_() override
This method is used to update extra member variables at the end of the setParameters() method.
static const Size NUM_PARAMS_
Definition EGHTraceFitter.h:101
double region_rt_span_
Definition EGHTraceFitter.h:96
EGHTraceFitter(const EGHTraceFitter &other)
void setInitialParameters_(FeatureFinderAlgorithmPickedHelperStructs::MassTraces &traces)
bool checkMinimalRTSpan(const std::pair< double, double > &rt_bounds, const double min_rt_span) override
double apex_rt_
Definition EGHTraceFitter.h:88
A more convenient string class.
Definition String.h:34
Definition TraceFitter.h:39
Abstract fitter for RT profile fitting.
Definition TraceFitter.h:30
Definition TraceFitter.h:145
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition Types.h:97
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
Helper struct for mass traces used in FeatureFinderAlgorithmPicked.
Definition FeatureFinderAlgorithmPickedHelperStructs.h:54
Helper struct for a collection of mass traces used in FeatureFinderAlgorithmPicked.
Definition FeatureFinderAlgorithmPickedHelperStructs.h:85