35 #ifndef OPENMS_TRANSFORMATIONS_RAW2PEAK_PEAKPICKERSH_H
36 #define OPENMS_TRANSFORMATIONS_RAW2PEAK_PEAKPICKERSH_H
43 #define DEBUG_PEAK_PICKING
44 #undef DEBUG_PEAK_PICKING
60 template <
typename PeakType>
64 double cm, toti, min_dh;
67 std::vector<double> masses, intens;
71 for (
Size k = 0;
k < input.size() - 1; ++
k)
76 if (input[
k].getIntensity() >= 50.0)
78 masses.push_back(input[
k].getMZ());
79 intens.push_back(input[
k].getIntensity());
84 hw = fWindowWidth / 2;
86 for (i = 2; i < (int)masses.size() - 2; i++)
90 if (intens[i] > min_dh && intens[i] > intens[i - 1] + min_dh && intens[i] >= intens[i + 1] && intens[i - 1] > intens[i - 2] + min_dh && intens[i + 1] >= intens[i + 2])
96 for (j = -hw; j <= hw; j++)
98 double inte = intens[i - j];
99 double mz = masses[i - j];
102 toti += (
double) intens[i - j];
109 output.push_back(peak);
A 2-dimensional raw data point or peak.
Definition: Peak2D.h:55
void setMZ(CoordinateType coordinate)
Mutable access to the m/z coordinate (index 1)
Definition: Peak2D.h:197
Definition: PeakPickerSH.h:48
void setIntensity(IntensityType intensity)
Non-mutable access to the data point intensity (height)
Definition: Peak2D.h:167
Representation of a mass spectrometry experiment.
Definition: MSExperiment.h:68
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:144
Base class for all classes that want to report their progess.
Definition: ProgressLogger.h:56
A base class for all classes handling default parameters.
Definition: DefaultParamHandler.h:90
void pick(const MSSpectrum< PeakType > &input, MSSpectrum< PeakType > &output, float fWindowWidth)
Picks peaks in one spectrum.
Definition: PeakPickerSH.h:61