OpenMS
PeakPickerIterative Class Reference

This class implements a peak-picking algorithm for high-resolution MS data (specifically designed for TOF-MS data). More...

#include <OpenMS/PROCESSING/CENTROIDING/PeakPickerIterative.h>

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

Public Member Functions

 PeakPickerIterative ()
 Constructor. More...
 
void updateMembers_ () override
 This method is used to update extra member variables at the end of the setParameters() method. More...
 
 ~PeakPickerIterative () override
 Destructor. More...
 
void pick (const MSSpectrum &input, MSSpectrum &output)
 
void pickExperiment (const PeakMap &input, PeakMap &output)
 
- 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...
 
- Public Member Functions inherited from ProgressLogger
 ProgressLogger ()
 Constructor. More...
 
virtual ~ProgressLogger ()
 Destructor. More...
 
 ProgressLogger (const ProgressLogger &other)
 Copy constructor. More...
 
ProgressLoggeroperator= (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 setLogger (ProgressLoggerImpl *logger)
 Sets the logger to be used for progress logging. 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 (UInt64 bytes_processed=0) const
 
void nextProgress () const
 increment progress by 1 (according to range begin-end) More...
 

Private Member Functions

void pickRecenterPeaks_ (const MSSpectrum &input, std::vector< PeakCandidate > &PeakCandidates, SignalToNoiseEstimatorMedian< MSSpectrum > &snt) const
 

Private Attributes

double signal_to_noise_
 
double peak_width_
 
double spacing_difference_
 
int sn_bin_count_
 
int nr_iterations_
 
double sn_win_len_
 
bool check_width_internally_
 

Additional Inherited Members

- Public Types inherited from ProgressLogger
enum  LogType { CMD , GUI , NONE }
 Possible log types. 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 inherited from DefaultParamHandler
void defaultsToParam_ ()
 Updates the parameters after the defaults have been set in the constructor. 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...
 
- Protected Attributes inherited from ProgressLogger
LogType type_
 
time_t last_invoke_
 
ProgressLoggerImplcurrent_logger_
 
- Static Protected Attributes inherited from ProgressLogger
static int recursion_depth_
 

Detailed Description

This class implements a peak-picking algorithm for high-resolution MS data (specifically designed for TOF-MS data).

This peak-picking algorithm detects ion signals in profile data and reconstructs the corresponding peak shape by identifying the left and right borders of the peak. It reports the area under the peak as intensity and the weighted m/z values as the m/z value as well as left/right border. Furthermore, it next tries to improve the peak positioning iteratively using the m/z center computed in the last iteration. This allows for refinement in the peak boundaries and more accurate determination of peak center and borders.

Its approach is similar to the PeakPickerHiRes but additionally uses an iterative approach to find and re-center peaks.

  • First, it uses the PeakPickerHiRes to find seeds or candidate peaks.
  • Next it uses n iterations to re-center those peaks and compute left/right borders for each peak.
  • Finally it removes peaks that are within the borders of other peaks.

So far, this peak picker was mainly tested on high resolution TOF-MS data.

Parameters of this class are:

NameTypeDefaultRestrictionsDescription
signal_to_noise_ float1.0  Signal to noise value, each peak is required to be above this value (turn off by setting it to 0.0)
peak_width float0.0  Expected peak width half width in Dalton - peaks will be extended until this half width is reached (even if the intensitity is increasing). In conjunction with check_width_internally it will also be used to remove peaks whose spacing is larger than this value.
spacing_difference float1.5  Difference between peaks in multiples of the minimal difference to continue. The higher this value is set, the further apart peaks are allowed to be to still extend a peak. E.g. if the value is set to 1.5 and in a current peak the minimal spacing between peaks is 10 mDa, then only peaks at most 15 mDa apart will be added to the peak.
sn_bin_count_ int30  Bin count for the Signal to Noise estimation.
nr_iterations_ int5 min: 1Nr of iterations to perform (how many times the peaks are re-centered).
sn_win_len_ float20.0  Window length for the Signal to Noise estimation.
check_width_internally stringfalse true, falseDelete peaks where the spacing is larger than the peak width (should be set to true to avoid artefacts)
ms1_only stringfalse true, falseOnly do MS1
clear_meta_data stringfalse true, falseDelete meta data about peak width

Note:
  • If a section name is documented, the documentation is displayed as tooltip.
  • Advanced parameter names are italic.
Note
The peaks must be sorted according to ascending m/z!

Constructor & Destructor Documentation

◆ PeakPickerIterative()

PeakPickerIterative ( )
inline

Constructor.

◆ ~PeakPickerIterative()

~PeakPickerIterative ( )
inlineoverride

Destructor.

Member Function Documentation

◆ pick()

◆ pickExperiment()

void pickExperiment ( const PeakMap input,
PeakMap output 
)
inline

◆ pickRecenterPeaks_()

void pickRecenterPeaks_ ( const MSSpectrum input,
std::vector< PeakCandidate > &  PeakCandidates,
SignalToNoiseEstimatorMedian< MSSpectrum > &  snt 
) const
inlineprivate

◆ updateMembers_()

void updateMembers_ ( )
inlineoverridevirtual

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

◆ check_width_internally_

bool check_width_internally_
private

◆ nr_iterations_

int nr_iterations_
private

◆ peak_width_

double peak_width_
private

◆ signal_to_noise_

double signal_to_noise_
private

◆ sn_bin_count_

int sn_bin_count_
private

◆ sn_win_len_

double sn_win_len_
private

◆ spacing_difference_

double spacing_difference_
private