OpenMS  2.8.0
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
EGHTraceFitter Class Reference

A RT Profile fitter using an Exponential Gaussian Hybrid background model. More...

#include <OpenMS/TRANSFORMATIONS/FEATUREFINDER/EGHTraceFitter.h>

Inheritance diagram for EGHTraceFitter:
[legend]
Collaboration diagram for EGHTraceFitter:
[legend]

Classes

class  EGHTraceFunctor
 

Public Member Functions

 EGHTraceFitter ()
 
 EGHTraceFitter (const EGHTraceFitter &other)
 
EGHTraceFitteroperator= (const EGHTraceFitter &source)
 
 ~EGHTraceFitter () override
 
void fit (FeatureFinderAlgorithmPickedHelperStructs::MassTraces &traces) override
 
double getLowerRTBound () const override
 
double getTau () const
 
double getUpperRTBound () const override
 
double getHeight () const override
 
double getSigma () const
 
double getCenter () const override
 
bool checkMaximalRTSpan (const double max_rt_span) override
 
bool checkMinimalRTSpan (const std::pair< double, double > &rt_bounds, const double min_rt_span) override
 
double getValue (double rt) const override
 
double getArea () override
 
double getFWHM () const override
 
String getGnuplotFormula (const FeatureFinderAlgorithmPickedHelperStructs::MassTrace &trace, const char function_name, const double baseline, const double rt_shift) override
 
- Public Member Functions inherited from TraceFitter
 TraceFitter ()
 default constructor More...
 
 TraceFitter (const TraceFitter &source)
 copy constructor More...
 
TraceFitteroperator= (const TraceFitter &source)
 assignment operator More...
 
 ~TraceFitter () override
 destructor More...
 
double computeTheoretical (const FeatureFinderAlgorithmPickedHelperStructs::MassTrace &trace, Size k) const
 
- Public Member Functions inherited from DefaultParamHandler
 DefaultParamHandler (const String &name)
 Constructor with name that is displayed in error messages. More...
 
 DefaultParamHandler (const DefaultParamHandler &rhs)
 Copy constructor. More...
 
virtual ~DefaultParamHandler ()
 Destructor. More...
 
virtual DefaultParamHandleroperator= (const DefaultParamHandler &rhs)
 Assignment operator. More...
 
virtual bool operator== (const DefaultParamHandler &rhs) const
 Equality operator. More...
 
void setParameters (const Param &param)
 Sets the parameters. More...
 
const ParamgetParameters () const
 Non-mutable access to the parameters. More...
 
const ParamgetDefaults () const
 Non-mutable access to the default parameters. More...
 
const StringgetName () const
 Non-mutable access to the name. More...
 
void setName (const String &name)
 Mutable access to the name. More...
 
const std::vector< String > & getSubsections () const
 Non-mutable access to the registered subsections. More...
 

Protected Member Functions

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. More...
 
void getOptimizedParameters_ (const Eigen::VectorXd &x_init) override
 
void setInitialParameters_ (FeatureFinderAlgorithmPickedHelperStructs::MassTraces &traces)
 
void updateMembers_ () override
 This method is used to update extra member variables at the end of the setParameters() method. More...
 
- Protected Member Functions inherited from TraceFitter
void updateMembers_ () override
 This method is used to update extra member variables at the end of the setParameters() method. More...
 
void optimize_ (Eigen::VectorXd &x_init, GenericFunctor &functor)
 
- Protected Member Functions inherited from DefaultParamHandler
void defaultsToParam_ ()
 Updates the parameters after the defaults have been set in the constructor. More...
 

Protected Attributes

double apex_rt_
 
double height_
 
double sigma_
 
double tau_
 
std::pair< double, double > sigma_5_bound_
 
double region_rt_span_
 
- Protected Attributes inherited from TraceFitter
SignedSize max_iterations_
 Maximum number of iterations. More...
 
bool weighted_
 Whether to weight mass traces by theoretical intensity during the optimization. More...
 
- Protected Attributes inherited from DefaultParamHandler
Param param_
 Container for current parameters. More...
 
Param defaults_
 Container for default parameters. This member should be filled in the constructor of derived classes! More...
 
std::vector< Stringsubsections_
 Container for registered subsections. This member should be filled in the constructor of derived classes! More...
 
String error_name_
 Name that is displayed in error messages during the parameter checking. More...
 
bool check_defaults_
 If this member is set to false no checking if parameters in done;. More...
 
bool warn_empty_defaults_
 If this member is set to false no warning is emitted when defaults are empty;. More...
 

Static Protected Attributes

static const double EPSILON_COEFS_ []
 Coefficients to calculate the proportionality factor for the peak area. More...
 
static const Size NUM_PARAMS_
 

Additional Inherited Members

- Static Public Member Functions inherited from DefaultParamHandler
static void writeParametersToMetaValues (const Param &write_this, MetaInfoInterface &write_here, const String &key_prefix="")
 Writes all parameters to meta values. More...
 

Detailed Description

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:

NameTypeDefaultRestrictionsDescription
max_iteration int500  Maximum number of iterations used by the Levenberg-Marquardt algorithm.
weighted stringfalse true, falseWeight mass traces according to their theoretical intensities.

Note:
Experimental classes:
Needs further testing on real data. Note that the tests are currently also focused on testing the EGH as replacement for the gaussian.

Constructor & Destructor Documentation

◆ EGHTraceFitter() [1/2]

◆ EGHTraceFitter() [2/2]

EGHTraceFitter ( const EGHTraceFitter other)

◆ ~EGHTraceFitter()

~EGHTraceFitter ( )
override

Member Function Documentation

◆ checkMaximalRTSpan()

bool checkMaximalRTSpan ( const double  max_rt_span)
overridevirtual

Checks if the fitted model is not to big

Parameters
max_rt_spanMaximum RT span in relation to extended area that the model is allowed to have

Implements TraceFitter.

◆ checkMinimalRTSpan()

bool checkMinimalRTSpan ( const std::pair< double, double > &  rt_bounds,
const double  min_rt_span 
)
overridevirtual

Checks if the fitted model fills out at least 'min_rt_span' of the RT span

Parameters
rt_boundsRT boundaries of the fitted model
min_rt_spanMinimum RT span in relation to extended area that has to remain after model fitting

Implements TraceFitter.

◆ fit()

void fit ( FeatureFinderAlgorithmPickedHelperStructs::MassTraces traces)
overridevirtual

Main method of the TraceFitter which triggers the actual fitting.

Implements TraceFitter.

◆ getAlphaBoundaries_()

std::pair<double, double> getAlphaBoundaries_ ( const double  alpha) const
protected

Return an ordered pair of the positions where the EGH reaches a height of alpha * height of the EGH.

Parameters
alphaThe alpha at which the boundaries should be computed

◆ getArea()

double getArea ( )
overridevirtual

Returns the peak area of the fitted model

Implements TraceFitter.

◆ getCenter()

double getCenter ( ) const
overridevirtual

Returns the center position of the fitted model

Implements TraceFitter.

◆ getFWHM()

double getFWHM ( ) const
overridevirtual

Returns the mass trace width at half max (FWHM)

Implements TraceFitter.

◆ getGnuplotFormula()

String getGnuplotFormula ( const FeatureFinderAlgorithmPickedHelperStructs::MassTrace trace,
const char  function_name,
const double  baseline,
const double  rt_shift 
)
overridevirtual

Returns a textual representation of the fitted model function, that can be plotted using Gnuplot

Parameters
traceThe mass trace that should be plotted
function_nameThe name of the function (e.g. f(x) -> function_name = f)
baselineThe intensity of the baseline
rt_shiftA 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.

◆ getHeight()

double getHeight ( ) const
overridevirtual

Returns the height of the fitted model

Implements TraceFitter.

◆ getLowerRTBound()

double getLowerRTBound ( ) const
overridevirtual

Returns the lower bound of the fitted RT model

Implements TraceFitter.

◆ getOptimizedParameters_()

void getOptimizedParameters_ ( const Eigen::VectorXd )
overrideprotectedvirtual

Updates all member variables to the fitted values stored in the solver.

Parameters
sThe solver containing the fitted parameter values.

Implements TraceFitter.

◆ getSigma()

double getSigma ( ) const

◆ getTau()

double getTau ( ) const

◆ getUpperRTBound()

double getUpperRTBound ( ) const
overridevirtual

Returns the upper bound of the fitted RT model

Implements TraceFitter.

◆ getValue()

double getValue ( double  rt) const
overridevirtual

Evaluate the fitted model at a time point

Implements TraceFitter.

◆ operator=()

EGHTraceFitter& operator= ( const EGHTraceFitter source)

◆ setInitialParameters_()

void setInitialParameters_ ( FeatureFinderAlgorithmPickedHelperStructs::MassTraces traces)
protected

◆ updateMembers_()

void updateMembers_ ( )
overrideprotectedvirtual

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

Member Data Documentation

◆ apex_rt_

double apex_rt_
protected

◆ EPSILON_COEFS_

const double EPSILON_COEFS_[]
staticprotected

Coefficients to calculate the proportionality factor for the peak area.

◆ height_

double height_
protected

◆ NUM_PARAMS_

const Size NUM_PARAMS_
staticprotected

◆ region_rt_span_

double region_rt_span_
protected

◆ sigma_

double sigma_
protected

◆ sigma_5_bound_

std::pair<double, double> sigma_5_bound_
protected

◆ tau_

double tau_
protected