Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
EGHTraceFitter< PeakType > Class Template Reference

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

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

Inheritance diagram for EGHTraceFitter< PeakType >:
TraceFitter< PeakType > DefaultParamHandler

Public Member Functions

 EGHTraceFitter ()
 
 EGHTraceFitter (const EGHTraceFitter &other)
 
EGHTraceFitteroperator= (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)
 
- Public Member Functions inherited from TraceFitter< PeakType >
 TraceFitter ()
 default constructor. More...
 
 TraceFitter (const TraceFitter &source)
 copy constructor More...
 
virtual TraceFitteroperator= (const TraceFitter &source)
 assignment operator More...
 
virtual ~TraceFitter ()
 destructor More...
 
- 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< DoubleReal, DoubleRealgetAlphaBoundaries_ (const DoubleReal alpha) const
 Return an ordered pair of the positions where the EGH reaches a height of alpha * height of the EGH. More...
 
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. More...
 
void printState_ (SignedSize iter, gsl_multifit_fdfsolver *s)
 
- Protected Member Functions inherited from TraceFitter< PeakType >
void optimize_ (FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType > &traces, const Size num_params, double x_init[], Int(*residual)(const gsl_vector *x, void *params, gsl_vector *f), Int(*jacobian)(const gsl_vector *x, void *params, gsl_matrix *J), Int(*evaluate)(const gsl_vector *x, void *params, gsl_vector *f, gsl_matrix *J))
 
- Protected Member Functions inherited from DefaultParamHandler
void defaultsToParam_ ()
 Updates the parameters after the defaults have been set in the constructor. More...
 

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, DoubleRealsigma_5_bound_
 
std::pair< DoubleReal, DoubleRealfwhm_bound_
 
DoubleReal region_rt_span_
 
- Protected Attributes inherited from TraceFitter< PeakType >
DoubleReal epsilon_abs_
 Absolute error. More...
 
DoubleReal epsilon_rel_
 Relative error. More...
 
SignedSize max_iterations_
 Maximum number of iterations. 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 Size NUM_PARAMS_ = 4
 

Detailed Description

template<class PeakType>
class OpenMS::EGHTraceFitter< PeakType >

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 using by Levenberg-Marquardt algorithm.
epsilon_abs float0.0001  Absolute error used by the Levenberg-Marquardt algorithm.
epsilon_rel float0.0001  Relative error used by the Levenberg-Marquardt algorithm.

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 ( )
inline
EGHTraceFitter ( const EGHTraceFitter< PeakType > &  other)
inline
virtual ~EGHTraceFitter ( )
inlinevirtual

Member Function Documentation

bool checkMaximalRTSpan ( const DoubleReal  max_rt_span)
inlinevirtual

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< 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 
)
inlinevirtual

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

References EGHTraceFitter< PeakType >::sigma_5_bound_.

DoubleReal computeTheoretical ( const FeatureFinderAlgorithmPickedHelperStructs::MassTrace< PeakType > &  trace,
Size  k 
)
inlinevirtual

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

Implements TraceFitter< PeakType >.

References EGHTraceFitter< PeakType >::apex_rt_, EGHTraceFitter< PeakType >::height_, OpenMS::Constants::k, 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 
)
inlinestaticprotected
void fit ( FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType > &  traces)
inlinevirtual
std::pair<DoubleReal, DoubleReal> getAlphaBoundaries_ ( const DoubleReal  alpha) const
inlineprotected

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

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
inlinevirtual

Returns the center position of the fitted model

Implements TraceFitter< PeakType >.

References EGHTraceFitter< PeakType >::apex_rt_.

virtual DoubleReal getFeatureIntensityContribution ( )
inlinevirtual
DoubleReal getFWHM ( ) const
inlinevirtual

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 
)
inlinevirtual

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

Parameters
traceThe MassTrace 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< 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
inlinevirtual

Returns the height of the fitted model

Implements TraceFitter< PeakType >.

References EGHTraceFitter< PeakType >::height_.

DoubleReal getLowerRTBound ( ) const
inlinevirtual

Returns the lower bound of the fitted RT model

Implements TraceFitter< PeakType >.

References EGHTraceFitter< PeakType >::sigma_5_bound_.

void getOptimizedParameters_ ( gsl_multifit_fdfsolver *  s)
inlineprotectedvirtual
DoubleReal getSigmaSquare ( ) const
inline
DoubleReal getTau ( ) const
inline
DoubleReal getUpperRTBound ( ) const
inlinevirtual

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 
)
inlinestaticprotected
EGHTraceFitter& operator= ( const EGHTraceFitter< PeakType > &  source)
inline
void printState_ ( SignedSize  iter,
gsl_multifit_fdfsolver *  s 
)
inlineprotectedvirtual

Prints the state of the current iteration (e.g., values of the parameters)

Parameters
iterNumber of current iteration.
sThe 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 
)
inlinestaticprotected
void setInitialParameters_ ( FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType > &  traces)
inlineprotected
virtual void updateMembers_ ( )
inlineprotectedvirtual

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

References TraceFitter< PeakType >::updateMembers_().

Referenced by EGHTraceFitter< PeakType >::EGHTraceFitter(), and EGHTraceFitter< PeakType >::operator=().

Member Data Documentation

DoubleReal apex_rt_
protected
std::pair<DoubleReal, DoubleReal> fwhm_bound_
protected
DoubleReal height_
protected
const Size NUM_PARAMS_ = 4
staticprotected
DoubleReal region_rt_span_
protected
std::pair<DoubleReal, DoubleReal> sigma_5_bound_
protected
DoubleReal sigma_square_
protected
DoubleReal tau_
protected

OpenMS / TOPP release 1.11.1 Documentation generated on Thu Nov 14 2013 11:19:34 using doxygen 1.8.5