17 #include <boost/dynamic_bitset.hpp>
73 void run(
const PeakMap &, std::vector<MassTrace> &,
const Size max_traces = 0);
89 const double& added_intensity,
90 double& centroid_value,
113 PeakCandidate() : idx(0), mz(-1.0), intensity(-1.0), im(-1.0), found(false) {}
128 void run_(
const std::vector<Apex>& chrom_apices,
129 const Size peak_count,
131 const std::vector<Size>& spec_offsets,
132 std::vector<MassTrace> & found_masstraces,
133 const Size max_traces = 0);
137 int& fwhm_meta_idx,
bool& has_fwhm_mz,
138 int& im_idx,
bool& has_centroid_im,
139 int& im_fwhm_idx,
bool& has_fwhm_im)
const;
145 double centroid_im = -1.0)
const;
153 const std::vector<Size>& spec_offsets,
154 const boost::dynamic_bitset<>& peak_visited)
const;
159 std::list<PeakType>& current_trace,
160 std::vector<std::pair<Size, Size>>& gathered_idx,
161 std::vector<double>& fwhms_mz,
162 std::vector<double>& fwhms_im,
165 double& prev_counter,
167 double& prev_counter_im,
168 double& prev_denom_im,
170 double& intensity_so_far,
172 bool is_upward_extension);
177 Size total_scans_visited,
178 Size consecutive_missed_down,
179 Size consecutive_missed_up)
const;
182 bool has_fwhm_mz_ =
false;
183 bool has_fwhm_im_ =
false;
184 bool has_centroid_im_ =
false;
203 mutable int fwhm_meta_idx_ = -1;
204 mutable int ion_mobility_idx_ = -1;
205 mutable int im_fwhm_idx_ = -1;
A base class for all classes handling default parameters.
Definition: DefaultParamHandler.h:66
Forward iterator for an area of peaks in an experiment.
Definition: AreaIterator.h:36
In-Memory representation of a mass spectrometry run.
Definition: MSExperiment.h:49
The representation of a 1D spectrum.
Definition: MSSpectrum.h:44
A mass trace extraction method that gathers peaks similar in m/z and moving along retention time.
Definition: MassTraceDetection.h:51
double ion_mobility_tolerance_
Definition: MassTraceDetection.h:191
PeakCandidate findBestPeak_(const MSSpectrum &spectrum, double centroid_mz, double ftl_sd, double centroid_im=-1.0) const
Find the best matching peak in a spectrum considering m/z and optionally ion mobility.
TraceTerminationCriterion trace_termination_criterion_
Definition: MassTraceDetection.h:194
double noise_threshold_int_
Definition: MassTraceDetection.h:189
void getIMIndices_(const PeakMap &spectra, int &fwhm_meta_idx, bool &has_fwhm_mz, int &im_idx, bool &has_centroid_im, int &im_fwhm_idx, bool &has_fwhm_im) const
Internal helper to extract and validate metadata float array indices.
bool isPeakAcceptable_(const PeakCandidate &candidate, double centroid_mz, double ftl_sd, double centroid_im, Size spectrum_idx, const std::vector< Size > &spec_offsets, const boost::dynamic_bitset<> &peak_visited) const
Check if peak candidate meets acceptance criteria.
double mass_error_da_
Definition: MassTraceDetection.h:188
void processPeak_(const PeakCandidate &candidate, const MSSpectrum &spectrum, std::list< PeakType > ¤t_trace, std::vector< std::pair< Size, Size >> &gathered_idx, std::vector< double > &fwhms_mz, std::vector< double > &fwhms_im, double ¢roid_mz, double ¢roid_im, double &prev_counter, double &prev_denom, double &prev_counter_im, double &prev_denom_im, double &ftl_sd, double &intensity_so_far, Size spectrum_idx, bool is_upward_extension)
Process a single peak during trace extension.
double chrom_peak_snr_
Definition: MassTraceDetection.h:190
bool hasCentroidIm() const
Definition: MassTraceDetection.h:81
MassTrace::MT_QUANTMETHOD quant_method_
Definition: MassTraceDetection.h:192
static void updateIterativeWeightedMean_(const double &added_value, const double &added_intensity, double ¢roid_value, double &prev_counter, double &prev_denom)
allows for the iterative computation of intensity weighted of a mass trace's centroid m/z or ion mobi...
MassTraceDetection()
Default constructor.
bool hasFwhmMz() const
determine if meta array is available
Definition: MassTraceDetection.h:79
Size trace_termination_outliers_
Definition: MassTraceDetection.h:195
double min_trace_length_
Definition: MassTraceDetection.h:197
void run_(const std::vector< Apex > &chrom_apices, const Size peak_count, const PeakMap &work_exp, const std::vector< Size > &spec_offsets, std::vector< MassTrace > &found_masstraces, const Size max_traces=0)
The internal run method.
double min_sample_rate_
Definition: MassTraceDetection.h:196
void run(const PeakMap &, std::vector< MassTrace > &, const Size max_traces=0)
Main method of MassTraceDetection. Extracts mass traces of a MSExperiment and gathers them into a vec...
~MassTraceDetection() override
Default destructor.
double mass_error_ppm_
Definition: MassTraceDetection.h:187
TraceTerminationCriterion
Trace termination criteria enum for performance optimization.
Definition: MassTraceDetection.h:55
@ OUTLIER
Terminate when consecutive outliers exceed threshold.
Definition: MassTraceDetection.h:56
void updateMembers_() override
This method is used to update extra member variables at the end of the setParameters() method.
double max_trace_length_
Definition: MassTraceDetection.h:198
bool isTraceValid_(const std::list< PeakType > &trace, Size total_scans_visited, Size consecutive_missed_down, Size consecutive_missed_up) const
Check if a mass trace meets quality criteria.
bool reestimate_mt_sd_
Definition: MassTraceDetection.h:200
bool hasFwhmIm() const
Definition: MassTraceDetection.h:80
void run(PeakMap::ConstAreaIterator &begin, PeakMap::ConstAreaIterator &end, std::vector< MassTrace > &found_masstraces)
Invokes the run method (see above) on merely a subregion of a MSExperiment map.
MT_QUANTMETHOD
Definition: MassTrace.h:40
Base class for all classes that want to report their progress.
Definition: ProgressLogger.h:27
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:97
Main OpenMS namespace.
Definition: openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
Definition: MassTraceDetection.h:97
Size scan_idx
Definition: MassTraceDetection.h:100
Apex(double intensity, Size scan_idx, Size peak_idx)
double intensity
Definition: MassTraceDetection.h:99
Size peak_idx
Definition: MassTraceDetection.h:101
Encapsulates peak finding logic for both up and down directions.
Definition: MassTraceDetection.h:106
double intensity
Definition: MassTraceDetection.h:109
double mz
Definition: MassTraceDetection.h:108
bool found
Definition: MassTraceDetection.h:111
double im
Definition: MassTraceDetection.h:110
Size idx
Definition: MassTraceDetection.h:107
PeakCandidate()
Definition: MassTraceDetection.h:113
Encapsulates trace extension state.
Definition: MassTraceDetection.h:118
bool active
Definition: MassTraceDetection.h:122
Size hitting_peak_count
Definition: MassTraceDetection.h:120
Size scan_counter
Definition: MassTraceDetection.h:119
TraceExtensionState()
Definition: MassTraceDetection.h:124
Size consecutive_missed
Definition: MassTraceDetection.h:121