A RT Profile fitter using an Exponential Gaussian Hybrid background model. More...
#include <OpenMS/TRANSFORMATIONS/FEATUREFINDER/EGHTraceFitter.h>
Public Member Functions | |
| EGHTraceFitter () | |
| EGHTraceFitter (const EGHTraceFitter &other) | |
| EGHTraceFitter & | operator= (const EGHTraceFitter &source) |
| virtual | ~EGHTraceFitter () |
| void | fit (FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType > &traces) |
| DoubleReal | getLowerRTBound () const |
| DoubleReal | getTau () const |
| DoubleReal | getUpperRTBound () const |
| DoubleReal | getHeight () const |
| DoubleReal | getSigmaSquare () const |
| DoubleReal | getCenter () const |
| bool | checkMaximalRTSpan (const DoubleReal max_rt_span) |
| virtual bool | checkMinimalRTSpan (const std::pair< DoubleReal, DoubleReal > &rt_bounds, const DoubleReal min_rt_span) |
| DoubleReal | computeTheoretical (const FeatureFinderAlgorithmPickedHelperStructs::MassTrace< PeakType > &trace, Size k) |
| virtual DoubleReal | getFeatureIntensityContribution () |
| DoubleReal | getFWHM () const |
| virtual String | getGnuplotFormula (FeatureFinderAlgorithmPickedHelperStructs::MassTrace< PeakType > const &trace, const char function_name, const DoubleReal baseline, const DoubleReal rt_shift) |
Protected Member Functions | |
| std::pair< DoubleReal, DoubleReal > | getAlphaBoundaries_ (const DoubleReal alpha) const |
| Return an ordered pair of the positions where the EGH reaches a height of alpha * height of the EGH. | |
| void | getOptimizedParameters_ (gsl_multifit_fdfsolver *fdfsolver) |
| void | setInitialParameters_ (FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType > &traces) |
| virtual void | updateMembers_ () |
| This method is used to update extra member variables at the end of the setParameters() method. | |
| void | printState_ (SignedSize iter, gsl_multifit_fdfsolver *s) |
Static Protected Member Functions | |
| static Int | residual_ (const gsl_vector *param, void *data, gsl_vector *f) |
| static Int | jacobian_ (const gsl_vector *param, void *data, gsl_matrix *J) |
| static Int | evaluate_ (const gsl_vector *param, void *data, gsl_vector *f, gsl_matrix *J) |
Protected Attributes | |
| DoubleReal | apex_rt_ |
| DoubleReal | height_ |
| DoubleReal | sigma_square_ |
| DoubleReal | tau_ |
| std::pair< DoubleReal, DoubleReal > | sigma_5_bound_ |
| std::pair< DoubleReal, DoubleReal > | fwhm_bound_ |
| DoubleReal | region_rt_span_ |
Static Protected Attributes | |
| static const Size | NUM_PARAMS_ = 4 |
A RT Profile fitter using an Exponential Gaussian Hybrid background model.
Lan K, Jorgenson JW. A hybrid of exponential and gaussian functions as a simple model of asymmetric chromatographic peaks. Journal of Chromatography A. 915 (1-2)p. 1-13. Available at: http://linkinghub.elsevier.com/retrieve/pii/S0021967301005945
Parameters of this class are:| Name | Type | Default | Restrictions | Description |
|---|---|---|---|---|
| max_iteration | int | 500 | Maximum number of iterations using by Levenberg-Marquardt algorithm. | |
| epsilon_abs | float | 0.0001 | Absolute error used by the Levenberg-Marquardt algorithm. | |
| epsilon_rel | float | 0.0001 | Relative error used by the Levenberg-Marquardt algorithm. |
| EGHTraceFitter | ( | ) | [inline] |
| EGHTraceFitter | ( | const EGHTraceFitter< PeakType > & | other | ) | [inline] |
| virtual ~EGHTraceFitter | ( | ) | [inline, virtual] |
| bool checkMaximalRTSpan | ( | const DoubleReal | max_rt_span | ) | [inline, virtual] |
Checks if the fitted model is not to big
| max_rt_span | Maximum RT span in relation to extended area that the model is allowed to have |
Implements TraceFitter< PeakType >.
References EGHTraceFitter< PeakType >::region_rt_span_, and EGHTraceFitter< PeakType >::sigma_5_bound_.
| virtual bool checkMinimalRTSpan | ( | const std::pair< DoubleReal, DoubleReal > & | rt_bounds, | |
| const DoubleReal | min_rt_span | |||
| ) | [inline, virtual] |
Checks if the fitted model fills out at least 'min_rt_span' of the RT span
| rt_bounds | RT boundaries of the fitted model | |
| min_rt_span | Minimum RT span in relation to extended area that has to remain after model fitting |
Implements TraceFitter< PeakType >.
References EGHTraceFitter< PeakType >::sigma_5_bound_.
| DoubleReal computeTheoretical | ( | const FeatureFinderAlgorithmPickedHelperStructs::MassTrace< PeakType > & | trace, | |
| Size | k | |||
| ) | [inline, virtual] |
Returns the theoretical value of the fitted model at position k in the passed Mass Trace
| trace | the mass trace for which the value should be computed | |
| k | use the position of the k-th peak to compute the value |
Implements TraceFitter< PeakType >.
References EGHTraceFitter< PeakType >::apex_rt_, EGHTraceFitter< PeakType >::height_, FeatureFinderAlgorithmPickedHelperStructs::MassTrace< PeakType >::peaks, EGHTraceFitter< PeakType >::sigma_square_, EGHTraceFitter< PeakType >::tau_, and FeatureFinderAlgorithmPickedHelperStructs::MassTrace< PeakType >::theoretical_int.
| static Int evaluate_ | ( | const gsl_vector * | param, | |
| void * | data, | |||
| gsl_vector * | f, | |||
| gsl_matrix * | J | |||
| ) | [inline, static, protected] |
| void fit | ( | FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType > & | traces | ) | [inline, virtual] |
Main method of the TraceFitter which triggers the actual fitting.
Implements TraceFitter< PeakType >.
References EGHTraceFitter< PeakType >::apex_rt_, EGHTraceFitter< PeakType >::height_, EGHTraceFitter< PeakType >::NUM_PARAMS_, TraceFitter< PeakType >::optimize_(), EGHTraceFitter< PeakType >::setInitialParameters_(), EGHTraceFitter< PeakType >::sigma_square_, and EGHTraceFitter< PeakType >::tau_.
| std::pair<DoubleReal, DoubleReal> getAlphaBoundaries_ | ( | const DoubleReal | alpha | ) | const [inline, protected] |
Return an ordered pair of the positions where the EGH reaches a height of alpha * height of the EGH.
| alpha | The alpha at which the boundaries should be computed |
References EGHTraceFitter< PeakType >::apex_rt_, EGHTraceFitter< PeakType >::sigma_square_, and EGHTraceFitter< PeakType >::tau_.
Referenced by EGHTraceFitter< PeakType >::getFWHM(), and EGHTraceFitter< PeakType >::getOptimizedParameters_().
| DoubleReal getCenter | ( | ) | const [inline, virtual] |
Returns the center position of the fitted model
Implements TraceFitter< PeakType >.
References EGHTraceFitter< PeakType >::apex_rt_.
| virtual DoubleReal getFeatureIntensityContribution | ( | ) | [inline, virtual] |
???
Implements TraceFitter< PeakType >.
References EGHTraceFitter< PeakType >::fwhm_bound_, and EGHTraceFitter< PeakType >::height_.
| DoubleReal getFWHM | ( | ) | const [inline, virtual] |
Returns the mass trace width at half max (FWHM)
Implements TraceFitter< PeakType >.
References EGHTraceFitter< PeakType >::getAlphaBoundaries_().
| virtual String getGnuplotFormula | ( | FeatureFinderAlgorithmPickedHelperStructs::MassTrace< PeakType > const & | trace, | |
| const char | function_name, | |||
| const DoubleReal | baseline, | |||
| const DoubleReal | rt_shift | |||
| ) | [inline, virtual] |
Returns a textual representation of the fitted model function, that can be plotted using Gnuplot
| trace | The MassTrace that should be plotted | |
| function_name | The name of the function (e.g. f(x) -> function_name = f) | |
| baseline | The intensity of the baseline | |
| rt_shift | A shift value, that allows to plot all RT profiles side by side, even if they would overlap in reality. This should be 0 for the first mass trace and increase by a fixed value for each mass trace. |
Implements TraceFitter< PeakType >.
References EGHTraceFitter< PeakType >::apex_rt_, EGHTraceFitter< PeakType >::height_, EGHTraceFitter< PeakType >::sigma_square_, EGHTraceFitter< PeakType >::tau_, and FeatureFinderAlgorithmPickedHelperStructs::MassTrace< PeakType >::theoretical_int.
| DoubleReal getHeight | ( | ) | const [inline, virtual] |
Returns the height of the fitted model
Implements TraceFitter< PeakType >.
References EGHTraceFitter< PeakType >::height_.
| DoubleReal getLowerRTBound | ( | ) | const [inline, virtual] |
Returns the lower bound of the fitted RT model
Implements TraceFitter< PeakType >.
References EGHTraceFitter< PeakType >::sigma_5_bound_.
| void getOptimizedParameters_ | ( | gsl_multifit_fdfsolver * | s | ) | [inline, protected, virtual] |
Updates all member variables to the fitted values stored in the solver.
| s | The solver containing the fitted parameter values. |
Implements TraceFitter< PeakType >.
References EGHTraceFitter< PeakType >::apex_rt_, EGHTraceFitter< PeakType >::fwhm_bound_, EGHTraceFitter< PeakType >::getAlphaBoundaries_(), EGHTraceFitter< PeakType >::height_, EGHTraceFitter< PeakType >::sigma_5_bound_, EGHTraceFitter< PeakType >::sigma_square_, and EGHTraceFitter< PeakType >::tau_.
| DoubleReal getSigmaSquare | ( | ) | const [inline] |
References EGHTraceFitter< PeakType >::sigma_square_.
| DoubleReal getTau | ( | ) | const [inline] |
References EGHTraceFitter< PeakType >::tau_.
| DoubleReal getUpperRTBound | ( | ) | const [inline, virtual] |
Returns the upper bound of the fitted RT model
Implements TraceFitter< PeakType >.
References EGHTraceFitter< PeakType >::sigma_5_bound_.
| static Int jacobian_ | ( | const gsl_vector * | param, | |
| void * | data, | |||
| gsl_matrix * | J | |||
| ) | [inline, static, protected] |
| EGHTraceFitter& operator= | ( | const EGHTraceFitter< PeakType > & | source | ) | [inline] |
| void printState_ | ( | SignedSize | iter, | |
| gsl_multifit_fdfsolver * | s | |||
| ) | [inline, protected, virtual] |
Prints the state of the current iteration (e.g., values of the parameters)
| iter | Number of current iteration. | |
| s | The solver that also contains all the parameters. |
Implements TraceFitter< PeakType >.
References LOG_DEBUG.
| static Int residual_ | ( | const gsl_vector * | param, | |
| void * | data, | |||
| gsl_vector * | f | |||
| ) | [inline, static, protected] |
References FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType >::baseline, FeatureFinderAlgorithmPickedHelperStructs::MassTrace< PeakType >::peaks, and FeatureFinderAlgorithmPickedHelperStructs::MassTrace< PeakType >::theoretical_int.
Referenced by EGHTraceFitter< PeakType >::evaluate_().
| void setInitialParameters_ | ( | FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType > & | traces | ) | [inline, protected] |
References EGHTraceFitter< PeakType >::apex_rt_, FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType >::baseline, Peak2D::getIntensity(), EGHTraceFitter< PeakType >::height_, LOG_DEBUG, FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType >::max_trace, EGHTraceFitter< PeakType >::region_rt_span_, EGHTraceFitter< PeakType >::sigma_square_, and EGHTraceFitter< PeakType >::tau_.
Referenced by EGHTraceFitter< PeakType >::fit().
| virtual void updateMembers_ | ( | ) | [inline, protected, virtual] |
This method is used to update extra member variables at the end of the setParameters() method.
Also call it at the end of the derived classes' copy constructor and assignment operator.
The default implementation is empty.
Reimplemented from TraceFitter< PeakType >.
Referenced by EGHTraceFitter< PeakType >::EGHTraceFitter(), and EGHTraceFitter< PeakType >::operator=().
DoubleReal apex_rt_ [protected] |
Referenced by EGHTraceFitter< PeakType >::computeTheoretical(), EGHTraceFitter< PeakType >::EGHTraceFitter(), EGHTraceFitter< PeakType >::fit(), EGHTraceFitter< PeakType >::getAlphaBoundaries_(), EGHTraceFitter< PeakType >::getCenter(), EGHTraceFitter< PeakType >::getGnuplotFormula(), EGHTraceFitter< PeakType >::getOptimizedParameters_(), EGHTraceFitter< PeakType >::operator=(), and EGHTraceFitter< PeakType >::setInitialParameters_().
std::pair<DoubleReal, DoubleReal> fwhm_bound_ [protected] |
DoubleReal height_ [protected] |
Referenced by EGHTraceFitter< PeakType >::computeTheoretical(), EGHTraceFitter< PeakType >::EGHTraceFitter(), EGHTraceFitter< PeakType >::fit(), EGHTraceFitter< PeakType >::getFeatureIntensityContribution(), EGHTraceFitter< PeakType >::getGnuplotFormula(), EGHTraceFitter< PeakType >::getHeight(), EGHTraceFitter< PeakType >::getOptimizedParameters_(), EGHTraceFitter< PeakType >::operator=(), and EGHTraceFitter< PeakType >::setInitialParameters_().
const Size NUM_PARAMS_ = 4 [static, protected] |
Referenced by EGHTraceFitter< PeakType >::fit().
DoubleReal region_rt_span_ [protected] |
std::pair<DoubleReal, DoubleReal> sigma_5_bound_ [protected] |
Referenced by EGHTraceFitter< PeakType >::checkMaximalRTSpan(), EGHTraceFitter< PeakType >::checkMinimalRTSpan(), EGHTraceFitter< PeakType >::EGHTraceFitter(), EGHTraceFitter< PeakType >::getLowerRTBound(), EGHTraceFitter< PeakType >::getOptimizedParameters_(), EGHTraceFitter< PeakType >::getUpperRTBound(), and EGHTraceFitter< PeakType >::operator=().
DoubleReal sigma_square_ [protected] |
Referenced by EGHTraceFitter< PeakType >::computeTheoretical(), EGHTraceFitter< PeakType >::EGHTraceFitter(), EGHTraceFitter< PeakType >::fit(), EGHTraceFitter< PeakType >::getAlphaBoundaries_(), EGHTraceFitter< PeakType >::getGnuplotFormula(), EGHTraceFitter< PeakType >::getOptimizedParameters_(), EGHTraceFitter< PeakType >::getSigmaSquare(), EGHTraceFitter< PeakType >::operator=(), and EGHTraceFitter< PeakType >::setInitialParameters_().
DoubleReal tau_ [protected] |
Referenced by EGHTraceFitter< PeakType >::computeTheoretical(), EGHTraceFitter< PeakType >::EGHTraceFitter(), EGHTraceFitter< PeakType >::fit(), EGHTraceFitter< PeakType >::getAlphaBoundaries_(), EGHTraceFitter< PeakType >::getGnuplotFormula(), EGHTraceFitter< PeakType >::getOptimizedParameters_(), EGHTraceFitter< PeakType >::getTau(), EGHTraceFitter< PeakType >::operator=(), and EGHTraceFitter< PeakType >::setInitialParameters_().
| OpenMS / TOPP release 1.10.0 | Documentation generated on Thu Mar 7 2013 09:42:56 using doxygen 1.7.1 |