OpenMS
TraceFitter Class Referenceabstract

Abstract fitter for RT profile fitting. More...

#include <OpenMS/FEATUREFINDER/TraceFitter.h>

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

Classes

class  GenericFunctor
 
struct  ModelData
 

Public Member Functions

 TraceFitter ()
 default constructor More...
 
 TraceFitter (const TraceFitter &source)
 copy constructor More...
 
TraceFitteroperator= (const TraceFitter &source)
 assignment operator More...
 
 ~TraceFitter () override
 destructor More...
 
virtual void fit (FeatureFinderAlgorithmPickedHelperStructs::MassTraces &traces)=0
 
virtual double getLowerRTBound () const =0
 
virtual double getUpperRTBound () const =0
 
virtual double getHeight () const =0
 
virtual double getCenter () const =0
 
virtual double getFWHM () const =0
 
virtual double getValue (double rt) const =0
 
double computeTheoretical (const FeatureFinderAlgorithmPickedHelperStructs::MassTrace &trace, Size k) const
 
virtual bool checkMinimalRTSpan (const std::pair< double, double > &rt_bounds, const double min_rt_span)=0
 
virtual bool checkMaximalRTSpan (const double max_rt_span)=0
 
virtual double getArea ()=0
 
virtual String getGnuplotFormula (const FeatureFinderAlgorithmPickedHelperStructs::MassTrace &trace, const char function_name, const double baseline, const double rt_shift)=0
 
- 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...
 
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

void updateMembers_ () override
 This method is used to update extra member variables at the end of the setParameters() method. More...
 
virtual void getOptimizedParameters_ (const Eigen::VectorXd &s)=0
 
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

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

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

Abstract fitter for RT profile fitting.

This class provides the basic interface and some functionality to fit multiple mass traces to a given RT shape model using the Levenberg-Marquardt algorithm.

Todo:
docu needs update

Class Documentation

◆ OpenMS::TraceFitter::ModelData

struct OpenMS::TraceFitter::ModelData
Collaboration diagram for TraceFitter::ModelData:
[legend]
Class Members
MassTraces * traces_ptr
bool weighted

Constructor & Destructor Documentation

◆ TraceFitter() [1/2]

default constructor

◆ TraceFitter() [2/2]

TraceFitter ( const TraceFitter source)

copy constructor

◆ ~TraceFitter()

~TraceFitter ( )
override

destructor

Member Function Documentation

◆ checkMaximalRTSpan()

virtual bool checkMaximalRTSpan ( const double  max_rt_span)
pure virtual

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

Implemented in GaussTraceFitter, and EGHTraceFitter.

◆ checkMinimalRTSpan()

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

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

Implemented in GaussTraceFitter, and EGHTraceFitter.

◆ computeTheoretical()

double computeTheoretical ( const FeatureFinderAlgorithmPickedHelperStructs::MassTrace trace,
Size  k 
) const

Returns the theoretical value of the fitted model at position k in the passed mass trace

Parameters
tracethe mass trace for which the value should be computed
kuse the position of the k-th peak to compute the value

◆ fit()

virtual void fit ( FeatureFinderAlgorithmPickedHelperStructs::MassTraces traces)
pure virtual

Main method of the TraceFitter which triggers the actual fitting.

Implemented in GaussTraceFitter, and EGHTraceFitter.

◆ getArea()

virtual double getArea ( )
pure virtual

Returns the peak area of the fitted model

Implemented in GaussTraceFitter, and EGHTraceFitter.

◆ getCenter()

virtual double getCenter ( ) const
pure virtual

Returns the center position of the fitted model

Implemented in GaussTraceFitter, and EGHTraceFitter.

◆ getFWHM()

virtual double getFWHM ( ) const
pure virtual

Returns the mass trace width at half max (FWHM)

Implemented in GaussTraceFitter, and EGHTraceFitter.

◆ getGnuplotFormula()

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

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.

Implemented in GaussTraceFitter, and EGHTraceFitter.

◆ getHeight()

virtual double getHeight ( ) const
pure virtual

Returns the height of the fitted model

Implemented in GaussTraceFitter, and EGHTraceFitter.

◆ getLowerRTBound()

virtual double getLowerRTBound ( ) const
pure virtual

Returns the lower bound of the fitted RT model

Implemented in GaussTraceFitter, and EGHTraceFitter.

◆ getOptimizedParameters_()

virtual void getOptimizedParameters_ ( const Eigen::VectorXd s)
protectedpure virtual

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

Parameters
sThe solver containing the fitted parameter values.

Implemented in EGHTraceFitter, and GaussTraceFitter.

◆ getUpperRTBound()

virtual double getUpperRTBound ( ) const
pure virtual

Returns the upper bound of the fitted RT model

Implemented in GaussTraceFitter, and EGHTraceFitter.

◆ getValue()

virtual double getValue ( double  rt) const
pure virtual

Evaluate the fitted model at a time point

Implemented in GaussTraceFitter, and EGHTraceFitter.

◆ operator=()

TraceFitter& operator= ( const TraceFitter source)

assignment operator

◆ optimize_()

void optimize_ ( Eigen::VectorXd x_init,
GenericFunctor functor 
)
protected

Optimize the given parameters using the Levenberg-Marquardt algorithm.

◆ 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

◆ max_iterations_

SignedSize max_iterations_
protected

Maximum number of iterations.

◆ weighted_

bool weighted_
protected

Whether to weight mass traces by theoretical intensity during the optimization.