| OpenMS 2.5.0

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
GaussFilter Class Reference
Analysis » SignalProcessing

This class represents a Gaussian lowpass-filter which works on uniform as well as on non-uniform profile data. More...

`#include <OpenMS/FILTERING/SMOOTHING/GaussFilter.h>`

Inheritance diagram for GaussFilter:

## Public Member Functions

| GaussFilter ()
| Constructor. More...
| ~GaussFilter () override
| Destructor. More...
void | filter (MSSpectrum &spectrum)
| Smoothes an MSSpectrum containing profile data. More...
void | filter (MSChromatogram &chromatogram)
void | filterExperiment (PeakMap &map)
| Smoothes an MSExperiment containing profile data. More...
Public Member Functions inherited from ProgressLogger
| ProgressLogger ()
| Constructor. More...
| ~ProgressLogger ()
| Destructor. More...
| ProgressLogger (const ProgressLogger &other)
| Copy constructor. More...
ProgressLogger & | operator= (const ProgressLogger &other)
| Assignment Operator. More...
void | setLogType (LogType type) const
| Sets the progress log that should be used. The default type is NONE! More...
LogType | getLogType () const
| Returns the type of progress log being used. More...
void | startProgress (SignedSize begin, SignedSize end, const String &label) const
| Initializes the progress display. More...
void | setProgress (SignedSize value) const
| Sets the current progress. More...
void | endProgress () const
| Ends the progress display. More...
void | nextProgress () const
| increment progress by 1 (according to range begin-end) 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 DefaultParamHandler & | operator= (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 Param & | getParameters () const
| Non-mutable access to the parameters. More...
const Param & | getDefaults () const
| Non-mutable access to the default parameters. More...
const String & | getName () 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...

## Protected Attributes

GaussFilterAlgorithm | gauss_algo_
double | spacing_
| The spacing of the pre-tabulated kernel coefficients. More...
Protected Attributes inherited from ProgressLogger
LogType | type_
time_t | last_invoke_
ProgressLoggerImpl * | current_logger_
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< String > | subsections_
| 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

Public Types inherited from ProgressLogger
enum | LogType { CMD, GUI, NONE }
| Possible log types. More...
Static Protected Member Functions inherited from ProgressLogger
static String | logTypeToFactoryName_ (LogType type)
| Return the name of the factory product used for this log type. More...
Static Protected Attributes inherited from ProgressLogger
static int | recursion_depth_

## Detailed Description

This class represents a Gaussian lowpass-filter which works on uniform as well as on non-uniform profile data.

Gaussian filters are important in many signal processing, image processing, and communication applications. These filters are characterized by narrow bandwidths, sharp cutoffs, and low passband ripple. A key feature of Gaussian filters is that the Fourier transform of a Gaussian is also a Gaussian, so the filter has the same response shape in both the time and frequency domains. The coefficients of the Gaussian-window with length are calculated from the gaussian distribution

where represents the window area and is the standard derivation.

Note
  The wider the kernel width the smoother the signal (the more detail information get lost!). Use a Gaussian filter kernel which has approximately the same width as your mass peaks, whereas the Gaussian peak width corresponds approximately to 8*sigma.
  The data must be sorted according to ascending m/z!

Parameters of this class are:

Name | Type | Default | Restrictions | Description
--- | --- | --- | --- | ---
gaussian_width | float | 0.2 |  | Use a gaussian filter width which has approximately the same width as your mass peaks (FWHM in m/z).
ppm_tolerance | float | 10.0 |  | Gaussian width, depending on the m/z position. The higher the value, the wider the peak and therefore the wider the gaussian.
use_ppm_tolerance | string | false | true, false | If true, instead of the gaussian_width value, the ppm_tolerance is used. The gaussian is calculated in each step anew, so this is much slower.

Note:

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

## Constructor & Destructor Documentation

## ◆ GaussFilter()

GaussFilter | ( |  | ) |

Constructor.

## ◆ ~GaussFilter()

~GaussFilter | ( |  | ) |

override

Destructor.

## Member Function Documentation

## ◆ filter() [1/2]

void filter | ( | MSSpectrum & | spectrum | ) |

inline

Smoothes an MSSpectrum containing profile data.

Convolutes the filter and the profile data and writes the result back to the spectrum.

Exceptions

  Exception::IllegalArgument | is thrown, if the gaussian_width parameter is too small.

References MSSpectrum::getRT(), OPENMS_LOG_ERROR, SpectrumSettings::PROFILE, and SpectrumSettings::setType().

Referenced by EmgScoring::prepareFit_().

## ◆ filter() [2/2]

void filter | ( | MSChromatogram & | chromatogram | ) |

inline

References MSChromatogram::getMZ(), and OPENMS_LOG_ERROR.

## ◆ filterExperiment()

void filterExperiment | ( | PeakMap & | map | ) |

inline

Smoothes an MSExperiment containing profile data.

Exceptions

  Exception::IllegalArgument | is thrown, if the gaussian_width parameter is too small.

References MSExperiment::getChromatogram(), MSExperiment::getChromatograms(), and MSExperiment::size().

## ◆ updateMembers_()

void updateMembers_ | ( |  | ) |

override protected virtual

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

## ◆ gauss_algo_

GaussFilterAlgorithm gauss_algo_

protected

## ◆ spacing_

double spacing_

protected

The spacing of the pre-tabulated kernel coefficients.