35 #ifndef OPENMS_KERNEL_MASSTRACE_H
36 #define OPENMS_KERNEL_MASSTRACE_H
69 MassTrace(
const std::list<PeakType>& trace_peaks);
72 MassTrace(
const std::vector<PeakType>& trace_peaks);
84 PeakType& operator[](
const Size & mt_idx);
85 const PeakType& operator[](
const Size & mt_idx)
const;
91 typedef std::vector<PeakType>::iterator
iterator;
98 return trace_peaks_.begin();
103 return trace_peaks_.end();
108 return trace_peaks_.begin();
111 const_iterator
end()
const
113 return trace_peaks_.end();
118 return trace_peaks_.rbegin();
123 return trace_peaks_.rend();
128 return trace_peaks_.rbegin();
131 const_reverse_iterator
rend()
const
133 return trace_peaks_.rend();
142 return trace_peaks_.size();
176 centroid_sd_ = tmp_sd;
188 if (trace_peaks_.size() > 1)
190 length = std::fabs(trace_peaks_.rbegin()->getRT() - trace_peaks_.begin()->getRT());
198 return std::make_pair(fwhm_start_idx_, fwhm_end_idx_);
204 return smoothed_intensities_;
210 if (trace_peaks_.size() != db_vec.size())
212 throw Exception::InvalidValue(__FILE__, __LINE__, __PRETTY_FUNCTION__,
"Number of smoothed intensities deviates from mass trace size! Aborting...",
String(db_vec.size()));
215 smoothed_intensities_ = db_vec;
221 if (trace_peaks_.size() <= 1)
return 0.0;
223 return (trace_peaks_.rbegin()->getRT() - trace_peaks_.begin()->getRT()) / (trace_peaks_.size() - 1);
228 double computeSmoothedPeakArea()
const;
232 double computePeakArea()
const;
235 Size findMaxByIntPeak(
bool use_smoothed_ints =
false)
const;
239 double estimateFWHM(
bool use_smoothed_ints =
false);
246 double computeFwhmAreaSmooth()
const;
247 double computeFwhmArea()
const;
251 double getIntensity(
bool smoothed)
const;
252 double getMaxIntensity(
bool smoothed)
const;
261 void updateSmoothedMaxRT();
264 void updateWeightedMeanRT();
266 void updateSmoothedWeightedMeanRT();
269 void updateMedianRT();
272 void updateMedianMZ();
278 void updateWeightedMeanMZ();
283 void updateWeightedMZsd();
314 #endif // OPENMS_KERNEL_MASSTRACE_H
double getCentroidSD() const
Definition: MassTrace.h:169
const std::vector< double > & getSmoothedIntensities() const
Gets smoothed intensities (empty if no smoothing was explicitly done beforehand!).
Definition: MassTrace.h:202
iterator end()
Definition: MassTrace.h:101
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:208
double getAverageMS1CycleTime() const
Get average scan time of mass trace.
Definition: MassTrace.h:219
Peak2D PeakType
Definition: MassTrace.h:49
double centroid_sd_
intensity-weighted STD
Definition: MassTrace.h:293
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47
reverse_iterator rbegin()
Definition: MassTrace.h:116
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:92
const_reverse_iterator rbegin() const
Definition: MassTrace.h:126
double centroid_rt_
Centroid RT.
Definition: MassTrace.h:296
std::vector< PeakType >::iterator iterator
Definition: MassTrace.h:91
double getCentroidMZ() const
Returns the centroid m/z.
Definition: MassTrace.h:158
std::vector< PeakType >::reverse_iterator reverse_iterator
Definition: MassTrace.h:93
double getTraceLength() const
Definition: MassTrace.h:184
const_iterator begin() const
Definition: MassTrace.h:106
void setCentroidSD(const double &tmp_sd)
Definition: MassTrace.h:174
iterator begin()
Definition: MassTrace.h:96
Size fwhm_end_idx_
Definition: MassTrace.h:306
std::vector< PeakType > trace_peaks_
Actual MassTrace container for doing centroid calculation, peak width estimation etc.
Definition: MassTrace.h:287
double centroid_mz_
Centroid m/z.
Definition: MassTrace.h:290
double fwhm_
Definition: MassTrace.h:304
std::vector< PeakType >::const_reverse_iterator const_reverse_iterator
Definition: MassTrace.h:94
Invalid value exception.
Definition: Exception.h:336
std::vector< double > smoothed_intensities_
Container for smoothed intensities. Smoothing must be done externally.
Definition: MassTrace.h:302
const_reverse_iterator rend() const
Definition: MassTrace.h:131
reverse_iterator rend()
Definition: MassTrace.h:121
Size fwhm_start_idx_
Definition: MassTrace.h:305
void setLabel(const String &label)
Sets label of mass trace.
Definition: MassTrace.h:152
String getLabel() const
Gets label of mass trace.
Definition: MassTrace.h:146
std::pair< Size, Size > getFWHMborders() const
Definition: MassTrace.h:196
String label_
Trace label.
Definition: MassTrace.h:299
double getFWHM() const
Definition: MassTrace.h:179
double getCentroidRT() const
Returns the centroid RT.
Definition: MassTrace.h:164
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:111