OpenMS
LowessSmoothing Class Reference

LOWESS (locally weighted scatterplot smoothing). More...

#include <OpenMS/FILTERING/SMOOTHING/LowessSmoothing.h>

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

Public Types

typedef std::vector< double > DoubleVector
 

Public Member Functions

 LowessSmoothing ()
 Default constructor. More...
 
 ~LowessSmoothing () override
 Destructor. More...
 
void smoothData (const DoubleVector &, const DoubleVector &, DoubleVector &)
 Smoothing method that receives x and y coordinates (e.g., RT and intensities) and computes smoothed intensities. 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...
 

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 DefaultParamHandler
void defaultsToParam_ ()
 Updates the parameters after the defaults have been set in the constructor. More...
 

Private Member Functions

double tricube_ (double, double)
 

Private Attributes

double window_size_
 

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

LOWESS (locally weighted scatterplot smoothing).

A smoothing technique that a quadratic model to localized subsets of the data, point by point.

This is particularly useful for smoothing intensities in spectra or chromatograms. In this case, the window size for the smoothing should be set proportional to the peak width (see LowessSmoothing parameters).

Note that this should work best for few datapoints that have strong non-linear behavior. For large datasets with mostly linear behavior, use FastLowessSmoothing

Parameters of this class are:

NameTypeDefaultRestrictionsDescription
window_size int10  The number of peaks to be included for local fitting in one window.

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

Member Typedef Documentation

◆ DoubleVector

typedef std::vector<double> DoubleVector

Constructor & Destructor Documentation

◆ LowessSmoothing()

Default constructor.

◆ ~LowessSmoothing()

~LowessSmoothing ( )
override

Destructor.

Member Function Documentation

◆ smoothData()

void smoothData ( const DoubleVector ,
const DoubleVector ,
DoubleVector  
)

Smoothing method that receives x and y coordinates (e.g., RT and intensities) and computes smoothed intensities.

◆ tricube_()

double tricube_ ( double  ,
double   
)
private

◆ 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

◆ window_size_

double window_size_
private