58 if(strBuildParams.startsWith(
"mzExclusion|"))
60 QStringList params = strBuildParams.split(
"|").back().split(
";", Qt::SkipEmptyParts);
62 QString precision = params.at(0);
64 precision.replace(
"dalton",
" dalton").replace(
"ppm",
" ppm").replace(
"res",
" res"));
69 QString(
"building mzExclusion from string %1 is not possible").arg(strBuildParams));
78 qDebug() <<
"before" << data_points.size();
83 data_points = std::move(new_trace);
84 qDebug() <<
"after" << data_points.size();
101 strCode.replace(
" ",
"");
110 std::vector<MzRange> excluded_ranges;
112 for(
auto &data_point : points)
114 auto exclude_index = excluded_ranges.begin(), end = excluded_ranges.end();
116 exclude_index = std::find_if(exclude_index, end, [&data_point](
MzRange range) {
117 return (data_point.x >= range.
lower() && data_point.x <= range.
upper());
119 if(exclude_index == end)
121 new_trace.push_back(data_point);
123 excluded_ranges.push_back(new_range);
excetion to use when an item type is not recognized
void buildFilterFromString(const QString &strBuildParams) override
build this filter using a string
QString toString() const override
Trace & filter(Trace &data_points) const override
get all the datapoints and remove different isotope and add their intensity and change to charge = 1 ...
virtual ~FilterMzExclusion()
Trace removeTraceInExclusionMargin(Trace &points) const
FilterMzExclusion(PrecisionPtr precision_ptr)
QString name() const override
PrecisionPtr m_exclusionPrecision
pappso_double lower() const
pappso_double upper() const
static PrecisionPtr fromString(const QString &str)
get a precision pointer from a string
A simple container of DataPoint instances.
void sortY(Enums::SortOrder sort_order=Enums::SortOrder::ascending)
void sortX(Enums::SortOrder sort_order=Enums::SortOrder::ascending)
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
const PrecisionBase * PrecisionPtr