OpenMS
BiGaussModel Class Reference

BiGaussian distribution approximated using linear interpolation. More...

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

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

Public Types

typedef InterpolationModel::CoordinateType CoordinateType
 
- Public Types inherited from InterpolationModel
typedef double IntensityType
 
typedef DPosition< 1 > PositionType
 
typedef double CoordinateType
 
using KeyType = double
 
typedef Math::LinearInterpolation< KeyTypeLinearInterpolation
 
- 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

 BiGaussModel ()
 Default constructor. More...
 
 BiGaussModel (const BiGaussModel &source)
 copy constructor More...
 
 ~BiGaussModel () override
 destructor More...
 
virtual BiGaussModeloperator= (const BiGaussModel &source)
 assignment operator More...
 
void setOffset (CoordinateType offset) override
 set the offset of the model More...
 
void setSamples () override
 set sample/supporting points of interpolation More...
 
CoordinateType getCenter () const override
 get the center of the BiGaussian 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=default
 destructor More...
 
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...
 
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...
 
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 BiGaussModel object (function 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...
 
- 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...
 

Protected Member Functions

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 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_
 
Math::BasicStatistics statistics1_
 
Math::BasicStatistics statistics2_
 
- 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

BiGaussian distribution approximated using linear interpolation.

Asymmetric distribution realized via two normal distributions with different variances combined at the mean.

Parameters of this class are:

NameTypeDefaultRestrictionsDescription
cutoff float0.0  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.0  Scaling factor used to adjust the model distribution to the intensities of the data
bounding_box:min float0.0  Lower end of bounding box enclosing the data used to fit the model.
bounding_box:max float1.0  Upper end of bounding box enclosing the data used to fit the model.
statistics:mean float0.0  Centroid position of the model, this also separates both halves of the model.
statistics:variance1 float1.0  Variance of the first gaussian, used for the lower half of the model.
statistics:variance2 float1.0  Variance of the second gaussian, used for the upper half of the model.

Note:
  • If a section name is documented, the documentation is displayed as tooltip.
  • Advanced parameter names are italic.

Member Typedef Documentation

◆ CoordinateType

Constructor & Destructor Documentation

◆ BiGaussModel() [1/2]

Default constructor.

◆ BiGaussModel() [2/2]

BiGaussModel ( const BiGaussModel source)

copy constructor

◆ ~BiGaussModel()

~BiGaussModel ( )
override

destructor

Member Function Documentation

◆ create()

static BaseModel<1>* create ( )
inlinestatic

create new BiGaussModel object (function needed by Factory)

◆ getCenter()

CoordinateType getCenter ( ) const
overridevirtual

get the center of the BiGaussian 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 BiGaussModel& operator= ( const BiGaussModel source)
virtual

assignment operator

◆ setOffset()

void setOffset ( CoordinateType  offset)
overridevirtual

set the offset of the model

The whole model will be shifted to the new 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

◆ max_

CoordinateType max_
protected

◆ min_

CoordinateType min_
protected

◆ statistics1_

Math::BasicStatistics statistics1_
protected

◆ statistics2_

Math::BasicStatistics statistics2_
protected