Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages

SignalToNoiseEstimatorMeanIterative Class Template Reference
[Spectrum filters]

#include <OpenMS/FILTERING/NOISEESTIMATION/SignalToNoiseEstimatorMeanIterative.h>

Inheritance diagram for SignalToNoiseEstimatorMeanIterative:

SignalToNoiseEstimator DefaultParamHandler ProgressLogger

List of all members.


Detailed Description

template<typename Container = MSSpectrum< >>
class OpenMS::SignalToNoiseEstimatorMeanIterative< Container >

Estimates the signal/noise (S/N) ratio of each data point in a scan based on an iterative scheme which discards high intensities.

For each datapoint in the given scan, we collect a range of data points around it (param: win_len). The noise for a datapoint is estimated iteratively by discarding peaks which are more than (stdev_mp * StDev) above the mean value. After three iterations, the mean value is considered to be the noise level. If the number of elements in the current window is not sufficient (param: min_required_elements), the noise level is set to a default value (param: noise_for_empty_window).

The whole computation is histogram based, so the user will need to supply a number of bins (param: bin_count), which determines the level of error and runtime. The maximal intensity for a datapoint to be included in the histogram can be either determined automatically (param: auto_mode) by two different methods or can be set directly by the user (param: max_intensity).

Changing any of the parameters will invalidate the S/N values (which will invoke a recomputation on the next request).

Note:
If more than 20 percent of windows have less than min_required_elements of elements, a warning is issued to stderr and noise estimates in those windows are set to the constant noise_for_empty_window.
SignalToNoiseEstimatorMeanIterative Parameters are explained on a separate page.

Public Types

enum  IntensityThresholdCalculation { MANUAL = -1, AUTOMAXBYSTDEV = 0, AUTOMAXBYPERCENT = 1 }
 method to use for estimating the maximal intensity that is used for histogram calculation More...
typedef SignalToNoiseEstimator
< Container >::PeakIterator 
PeakIterator
typedef SignalToNoiseEstimator
< Container >::PeakType 
PeakType
typedef SignalToNoiseEstimator
< Container >
::GaussianEstimate 
GaussianEstimate

Public Member Functions

 SignalToNoiseEstimatorMeanIterative ()
 default constructor
 SignalToNoiseEstimatorMeanIterative (const SignalToNoiseEstimatorMeanIterative &source)
 Copy Constructor.
virtual ~SignalToNoiseEstimatorMeanIterative ()
 Destructor.
Assignment
SignalToNoiseEstimatorMeanIterativeoperator= (const SignalToNoiseEstimatorMeanIterative &source)

Protected Member Functions

virtual void computeSTN_ (const PeakIterator &scan_first_, const PeakIterator &scan_last_) throw (Exception::InvalidValue)
void updateMembers_ ()
 overridden function from DefaultParamHandler to keep members up to date, when a parameter is changed

Protected Attributes

double max_intensity_
 maximal intensity considered during binning (values above get discarded)
double auto_max_stdev_Factor_
 parameter for initial automatic estimation of "max_intensity_": a stdev multiplier
double auto_max_percentile_
 parameter for initial automatic estimation of "max_intensity_" percentile or a stdev
int auto_mode_
 determines which method shall be used for estimating "max_intensity_". valid are MANUAL=-1, AUTOMAXBYSTDEV=0 or AUTOMAXBYPERCENT=1
double win_len_
 range of data points which belong to a window in Thomson
int bin_count_
 number of bins in the histogram
double stdev_
 multiplier for the stdev of intensities
int min_required_elements_
 minimal number of elements a window needs to cover to be used
double noise_for_empty_window_

Member Typedef Documentation

typedef SignalToNoiseEstimator< Container >::PeakIterator PeakIterator

Reimplemented from SignalToNoiseEstimator.

typedef SignalToNoiseEstimator< Container >::PeakType PeakType

Reimplemented from SignalToNoiseEstimator.

typedef SignalToNoiseEstimator< Container >::GaussianEstimate GaussianEstimate


Member Enumeration Documentation

enum IntensityThresholdCalculation

method to use for estimating the maximal intensity that is used for histogram calculation

Enumerator:
MANUAL 
AUTOMAXBYSTDEV 
AUTOMAXBYPERCENT 


Constructor & Destructor Documentation

SignalToNoiseEstimatorMeanIterative (  )  [inline]

default constructor

SignalToNoiseEstimatorMeanIterative ( const SignalToNoiseEstimatorMeanIterative< Container > &  source  )  [inline]

Copy Constructor.

virtual ~SignalToNoiseEstimatorMeanIterative (  )  [inline, virtual]

Destructor.


Member Function Documentation

SignalToNoiseEstimatorMeanIterative& operator= ( const SignalToNoiseEstimatorMeanIterative< Container > &  source  )  [inline]

virtual void computeSTN_ ( const PeakIterator scan_first_,
const PeakIterator scan_last_ 
) throw (Exception::InvalidValue) [inline, protected, virtual]

calculate StN values for all datapoints given, by using a sliding window approach

Parameters:
scan_first_ first element in the scan
scan_last_ last element in the scan (disregarded)

void updateMembers_ (  )  [inline, protected, virtual]

overridden function from DefaultParamHandler to keep members up to date, when a parameter is changed

Reimplemented from DefaultParamHandler.


Member Data Documentation

double max_intensity_ [protected]

maximal intensity considered during binning (values above get discarded)

double auto_max_stdev_Factor_ [protected]

parameter for initial automatic estimation of "max_intensity_": a stdev multiplier

double auto_max_percentile_ [protected]

parameter for initial automatic estimation of "max_intensity_" percentile or a stdev

int auto_mode_ [protected]

determines which method shall be used for estimating "max_intensity_". valid are MANUAL=-1, AUTOMAXBYSTDEV=0 or AUTOMAXBYPERCENT=1

double win_len_ [protected]

range of data points which belong to a window in Thomson

int bin_count_ [protected]

number of bins in the histogram

double stdev_ [protected]

multiplier for the stdev of intensities

int min_required_elements_ [protected]

minimal number of elements a window needs to cover to be used

double noise_for_empty_window_ [protected]

used as noise value for windows which cover less than "min_required_elements_" use a very high value if you want to get a low S/N result


The documentation for this class was generated from the following file:
Generated Tue Apr 1 15:36:44 2008 -- using doxygen 1.5.4 OpenMS / TOPP 1.1