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

SignalToNoiseEstimatorMedian Class Template Reference
[Spectrum filters]

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

Inheritance diagram for SignalToNoiseEstimatorMedian:

SignalToNoiseEstimator DefaultParamHandler ProgressLogger

List of all members.


Detailed Description

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

Estimates the signal/noise (S/N) ratio of each data point in a scan by using the median (histogram based).

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 to be the median of the intensities of the current window. If the number of elements in the current window is not sufficient (param: MinReqElements), 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 (params: AutoMaxIntensity, auto_mode) by two different methods or can be set directly by the user (param: max_intensity). If the (estimated) max_intensity value is too low and the median is found to be in the last (&highest) bin, a warning to std:err will be given. In this case you should increase max_intensity (and optionally the bin_count).

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.

If more than 1 percent of median estimations had to rely on the last(=rightmost) bin (which gives an unreliable result), a warning is issued to stderr.

SignalToNoiseEstimatorMedian 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

 SignalToNoiseEstimatorMedian ()
 default constructor
 SignalToNoiseEstimatorMedian (const SignalToNoiseEstimatorMedian &source)
 Copy Constructor.
virtual ~SignalToNoiseEstimatorMedian ()
 Destructor.
Assignment
SignalToNoiseEstimatorMedianoperator= (const SignalToNoiseEstimatorMedian &source)

Protected Member Functions

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

SignalToNoiseEstimatorMedian (  )  [inline]

default constructor

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

Copy Constructor.

virtual ~SignalToNoiseEstimatorMedian (  )  [inline, virtual]

Destructor.


Member Function Documentation

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

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

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

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