OpenMS  2.4.0
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
EGHModel Class Reference

Exponential-Gaussian hybrid distribution model for elution profiles. More...

#include <OpenMS/SIMULATION/EGHModel.h>

Inheritance diagram for EGHModel:
InterpolationModel BaseModel< 1 > DefaultParamHandler

Public Types

typedef InterpolationModel::CoordinateType CoordinateType
 
typedef Math::BasicStatistics< CoordinateTypeBasicStatistics
 
typedef LinearInterpolation::container_type ContainerType
 
- Public Types inherited from InterpolationModel
typedef double IntensityType
 
typedef DPosition< 1 > PositionType
 
typedef double CoordinateType
 
typedef Math::LinearInterpolation< doubleLinearInterpolation
 
- Public Types inherited from BaseModel< 1 >
typedef double IntensityType
 
typedef double CoordinateType
 
typedef DPosition< D > PositionType
 
typedef DPeak< D >::Type PeakType
 
typedef std::vector< PeakTypeSamplesType
 

Public Member Functions

 EGHModel ()
 Default constructor. More...
 
 EGHModel (const EGHModel &source)
 copy constructor More...
 
 ~EGHModel () override
 destructor More...
 
virtual EGHModeloperator= (const EGHModel &source)
 assignment operator More...
 
void setOffset (CoordinateType offset) override
 set offset without being computing all over and without any discrepancy More...
 
void setSamples () override
 set sample/supporting points of interpolation More...
 
CoordinateType getCenter () const override
 get the center of the Gaussian model i.e. the position of the maximum More...
 
- Public Member Functions inherited from InterpolationModel
 InterpolationModel ()
 Default constructor. More...
 
 InterpolationModel (const InterpolationModel &source)
 copy constructor More...
 
 ~InterpolationModel () override
 destructor More...
 
virtual InterpolationModeloperator= (const InterpolationModel &source)
 assignment operator More...
 
IntensityType getIntensity (const PositionType &pos) const override
 access model predicted intensity at position pos More...
 
IntensityType getIntensity (CoordinateType coord) const
 access model predicted intensity at position pos More...
 
const LinearInterpolationgetInterpolation () const
 Returns the interpolation class. More...
 
CoordinateType getScalingFactor () const
 get the scaling for the model More...
 
void getSamples (SamplesType &cont) const override
 get reasonable set of samples from the model (i.e. for printing) More...
 
void setInterpolationStep (CoordinateType interpolation_step)
 Set the interpolation step for the linear interpolation of the model. More...
 
void setScalingFactor (CoordinateType scaling)
 
- Public Member Functions inherited from BaseModel< 1 >
 BaseModel ()
 Default constructor. More...
 
 BaseModel (const BaseModel &source)
 copy constructor More...
 
 ~BaseModel () override
 Destructor. More...
 
virtual BaseModeloperator= (const BaseModel &source)
 assignment operator More...
 
void registerChildren ()
 
void registerChildren ()
 
virtual IntensityType getIntensity (const PositionType &pos) const=0
 access model predicted intensity at position pos More...
 
virtual bool isContained (const PositionType &pos) const
 check if position pos is part of the model regarding the models cut-off. More...
 
void fillIntensity (PeakType &peak) const
 Convenience function to set the intensity of a peak to the predicted intensity at its current position, calling virtual void getIntensity(). More...
 
void fillIntensities (PeakIterator begin, PeakIterator end) const
 Convenience function that applies fillIntensity() to an iterator range. More...
 
virtual IntensityType getCutOff () const
 get cutoff value More...
 
virtual void setCutOff (IntensityType cut_off)
 set cutoff value More...
 
virtual void getSamples (std::ostream &os)
 fill stream with reasonable set of samples from the model (i.e. for printing) 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...
 

Static Public Member Functions

static BaseModel< 1 > * create ()
 create new ElutionModel object (needed by Factory) More...
 
static const String getProductName ()
 name of the model (needed by Factory) More...
 
- Static Public Member Functions inherited from BaseModel< 1 >
static void registerChildren ()
 register all derived classes here (implemented in file BaseModel_impl.h) More...
 

Protected Member Functions

void updateMembers_ () override
 This method is used to update extra member variables at the end of the setParameters() method. More...
 
void computeBoundaries_ ()
 Computes a left & right boundary for the EGH Profile and sets the internal parameters accordingly. More...
 
void evaluateEGH_ (CoordinateType &rt, CoordinateType &egh_value)
 Evaluate the EGH function at position rt. More...
 
- Protected Member Functions inherited from InterpolationModel
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 BaseModel< 1 >
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 DefaultParamHandler
void defaultsToParam_ ()
 Updates the parameters after the defaults have been set in the constructor. More...
 

Protected Attributes

CoordinateType min_
 
CoordinateType max_
 
BasicStatistics statistics_
 
CoordinateType height_
 
CoordinateType apex_rt_
 
CoordinateType A_
 
CoordinateType B_
 
CoordinateType tau_
 
CoordinateType sigma_square_
 
CoordinateType sigma_square_2_
 
- Protected Attributes inherited from InterpolationModel
LinearInterpolation interpolation_
 
CoordinateType interpolation_step_
 
CoordinateType scaling_
 
- Protected Attributes inherited from BaseModel< 1 >
IntensityType cut_off_
 
- 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...
 

Detailed Description

Exponential-Gaussian hybrid distribution model for elution profiles.

Lan K, Jorgenson JW. A hybrid of exponential and gaussian functions as a simple model of asymmetric chromatographic peaks. Journal of Chromatography A. 2001;915(1-2):1-13. Available at: http://linkinghub.elsevier.com/retrieve/pii/S0021967301005945

Parameters of this class are:

NameTypeDefaultRestrictionsDescription
cutoff float0  Low intensity cutoff of the model. Peaks below this intensity are not considered part of the model.
interpolation_step float0.1  Sampling rate for the interpolation of the model function.
intensity_scaling float1  Scaling factor used to adjust the model distribution to the intensities of the data
statistics:mean float0  Centroid position of the model.
statistics:variance float1  The variance of the model.
egh:height float1000  Height of the exponential-Gaussian hybrid.
egh:retention float1200  Retention time of the exponential-Gaussian hybrid.
egh:guess_parameter stringtrue true, falseIf set to true, the EGHModel will try to estimate the model parameters (tau and sigma-square) based on A,B, and alpha. If set to false, it will use the parameters tau and sigma-square directly.
egh:A float100  Horizontal distance between the vertical line at the peak maximum (H) and the leading line where the EGH has H*alpha (e.g. the left half-max for alpha=0.5).
egh:B float100  Horizontal distance between the vertical line at the peak maximum (H) and the trailing line where the EGH has H*alpha (e.g. the right half-max for alpha=0.5).
egh:alpha float0.5 min: 0 max: 1See egh:A and egh:B.
egh:tau float0  Time constant of the exponential decay (tau is zero for gaussian peaks).
egh:sigma_square float1803.4 min: 0Standard deviation of the peak.
bounding_box:compute stringtrue true, falseIf true, the EGHModel will compute its own bounding box.
bounding_box:min float0  Lower end of bounding box enclosing the data used to fit the model.
bounding_box:max float0  Upper end of bounding box enclosing the data used to fit the model.

Note:

Member Typedef Documentation

◆ BasicStatistics

◆ ContainerType

◆ CoordinateType

Constructor & Destructor Documentation

◆ EGHModel() [1/2]

EGHModel ( )

Default constructor.

◆ EGHModel() [2/2]

EGHModel ( const EGHModel source)

copy constructor

◆ ~EGHModel()

~EGHModel ( )
override

destructor

Member Function Documentation

◆ computeBoundaries_()

void computeBoundaries_ ( )
protected

Computes a left & right boundary for the EGH Profile and sets the internal parameters accordingly.

◆ create()

static BaseModel<1>* create ( )
inlinestatic

create new ElutionModel object (needed by Factory)

◆ evaluateEGH_()

void evaluateEGH_ ( CoordinateType rt,
CoordinateType egh_value 
)
inlineprotected

Evaluate the EGH function at position rt.

Parameters
rtThe position where the EGH function should be evaluated. Note that this is the position without the RT offset, meaning that the EGH apex is at position 0
egh_valueThe computed value

◆ getCenter()

CoordinateType getCenter ( ) const
overridevirtual

get the center of the Gaussian model i.e. the position of the maximum

Reimplemented from InterpolationModel.

◆ getProductName()

static const String getProductName ( )
inlinestatic

name of the model (needed by Factory)

◆ operator=()

virtual EGHModel& operator= ( const EGHModel source)
virtual

assignment operator

◆ setOffset()

void setOffset ( CoordinateType  offset)
overridevirtual

set offset without being computing all over and without any discrepancy

Reimplemented from InterpolationModel.

◆ setSamples()

void setSamples ( )
overridevirtual

set sample/supporting points of interpolation

Reimplemented from InterpolationModel.

◆ 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

◆ A_

CoordinateType A_
protected

◆ apex_rt_

CoordinateType apex_rt_
protected

◆ B_

CoordinateType B_
protected

◆ height_

CoordinateType height_
protected

◆ max_

CoordinateType max_
protected

◆ min_

CoordinateType min_
protected

◆ sigma_square_

CoordinateType sigma_square_
protected

◆ sigma_square_2_

CoordinateType sigma_square_2_
protected

◆ statistics_

BasicStatistics statistics_
protected

◆ tau_

CoordinateType tau_
protected