35 #ifndef OPENMS_KERNEL_MASSTRACE_H
36 #define OPENMS_KERNEL_MASSTRACE_H
67 SIZE_OF_MT_QUANTMETHOD
69 static const std::string names_of_quantmethod[SIZE_OF_MT_QUANTMETHOD];
81 MassTrace(
const std::list<PeakType>& trace_peaks);
84 MassTrace(
const std::vector<PeakType>& trace_peaks);
96 PeakType& operator[](
const Size & mt_idx);
97 const PeakType& operator[](
const Size & mt_idx)
const;
110 return trace_peaks_.begin();
115 return trace_peaks_.end();
120 return trace_peaks_.begin();
123 const_iterator
end()
const
125 return trace_peaks_.end();
130 return trace_peaks_.rbegin();
135 return trace_peaks_.rend();
140 return trace_peaks_.rbegin();
143 const_reverse_iterator
rend()
const
145 return trace_peaks_.rend();
154 return trace_peaks_.size();
188 centroid_sd_ = tmp_sd;
200 if (trace_peaks_.size() > 1)
202 length = std::fabs(trace_peaks_.rbegin()->getRT() - trace_peaks_.begin()->getRT());
210 return std::make_pair(fwhm_start_idx_, fwhm_end_idx_);
216 return smoothed_intensities_;
222 if (trace_peaks_.size() != db_vec.size())
224 throw Exception::InvalidValue(__FILE__, __LINE__, __PRETTY_FUNCTION__,
"Number of smoothed intensities deviates from mass trace size! Aborting...",
String(db_vec.size()));
227 smoothed_intensities_ = db_vec;
233 if (trace_peaks_.size() <= 1)
return 0.0;
235 return (trace_peaks_.rbegin()->getRT() - trace_peaks_.begin()->getRT()) / (trace_peaks_.size() - 1);
240 double computeSmoothedPeakArea()
const;
244 double computePeakArea()
const;
247 Size findMaxByIntPeak(
bool use_smoothed_ints =
false)
const;
251 double estimateFWHM(
bool use_smoothed_ints =
false);
254 void setQuantMethod(MT_QUANTMETHOD method);
257 MT_QUANTMETHOD getQuantMethod()
const;
260 double computeFwhmAreaSmooth()
const;
261 double computeFwhmArea()
const;
265 double getIntensity(
bool smoothed)
const;
266 double getMaxIntensity(
bool smoothed)
const;
275 void updateSmoothedMaxRT();
278 void updateWeightedMeanRT();
280 void updateSmoothedWeightedMeanRT();
283 void updateMedianRT();
286 void updateMedianMZ();
292 void updateWeightedMeanMZ();
297 void updateWeightedMZsd();
301 double computeMedianIntensity_()
const;
332 #endif // OPENMS_KERNEL_MASSTRACE_H
double getCentroidSD() const
Definition: MassTrace.h:181
Definition: MassTrace.h:66
const std::vector< double > & getSmoothedIntensities() const
Gets smoothed intensities (empty if no smoothing was explicitly done beforehand!).
Definition: MassTrace.h:214
MT_QUANTMETHOD
Definition: MassTrace.h:64
iterator end()
Definition: MassTrace.h:113
A more convenient string class.
Definition: String.h:57
A 2-dimensional raw data point or peak.
Definition: Peak2D.h:55
void setSmoothedIntensities(const std::vector< double > &db_vec)
Set smoothed intensities (smoothing is done externally, e.g. by LowessSmoothing). ...
Definition: MassTrace.h:220
MT_QUANTMETHOD quant_method_
use area under mass trace or the median of intensities
Definition: MassTrace.h:326
double getAverageMS1CycleTime() const
Get average scan time of mass trace.
Definition: MassTrace.h:231
Peak2D PeakType
Definition: MassTrace.h:48
double centroid_sd_
intensity-weighted STD
Definition: MassTrace.h:310
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47
reverse_iterator rbegin()
Definition: MassTrace.h:128
A 2-dimensional hull representation in [counter]clockwise direction - depending on axis labelling...
Definition: ConvexHull2D.h:73
std::vector< PeakType >::const_iterator const_iterator
Definition: MassTrace.h:104
const_reverse_iterator rbegin() const
Definition: MassTrace.h:138
double centroid_rt_
Centroid RT.
Definition: MassTrace.h:313
std::vector< PeakType >::iterator iterator
Definition: MassTrace.h:103
double getCentroidMZ() const
Returns the centroid m/z.
Definition: MassTrace.h:170
std::vector< PeakType >::reverse_iterator reverse_iterator
Definition: MassTrace.h:105
double getTraceLength() const
Definition: MassTrace.h:196
const_iterator begin() const
Definition: MassTrace.h:118
void setCentroidSD(const double &tmp_sd)
Definition: MassTrace.h:186
iterator begin()
Definition: MassTrace.h:108
Size fwhm_end_idx_
Definition: MassTrace.h:323
std::vector< PeakType > trace_peaks_
Actual MassTrace container for doing centroid calculation, peak width estimation etc.
Definition: MassTrace.h:304
double centroid_mz_
Centroid m/z.
Definition: MassTrace.h:307
double fwhm_
Definition: MassTrace.h:321
std::vector< PeakType >::const_reverse_iterator const_reverse_iterator
Definition: MassTrace.h:106
Invalid value exception.
Definition: Exception.h:336
std::vector< double > smoothed_intensities_
Container for smoothed intensities. Smoothing must be done externally.
Definition: MassTrace.h:319
const_reverse_iterator rend() const
Definition: MassTrace.h:143
reverse_iterator rend()
Definition: MassTrace.h:133
Size fwhm_start_idx_
Definition: MassTrace.h:322
void setLabel(const String &label)
Sets label of mass trace.
Definition: MassTrace.h:164
String getLabel() const
Gets label of mass trace.
Definition: MassTrace.h:158
std::pair< Size, Size > getFWHMborders() const
Definition: MassTrace.h:208
String label_
Trace label.
Definition: MassTrace.h:316
double getFWHM() const
Definition: MassTrace.h:191
double getCentroidRT() const
Returns the centroid RT.
Definition: MassTrace.h:176
A container type that gathers peaks similar in m/z and moving along retention time.
Definition: MassTrace.h:59
const_iterator end() const
Definition: MassTrace.h:123