60 [[maybe_unused]]
const QString &strBuildParams)
81 qDebug() <<
" " <<
m_halfWindowSize <<
" data_points.size()" << data_points.size();
86 Trace old_trace(data_points);
87 auto it = old_trace.begin();
89 auto it_target = data_points.begin();
92 std::size_t loop_begin = 0;
115 while(it != old_trace.end())
150 std::vector<DataPoint>::const_iterator end)
const
176 std::vector<DataPoint>::const_iterator end)
const
202 std::vector<DataPoint>::const_iterator end)
const
293 if(strBuildParams.startsWith(
"antiSpike|"))
295 QStringList params = strBuildParams.split(
"|").back().split(
";");
302 QString(
"building FilterMorphoAntiSpike from string %1 is not possible")
303 .arg(strBuildParams));
343 Trace old_trace(data_points);
344 auto it = old_trace.begin();
345 auto it_target = data_points.begin();
346 auto itw = old_trace.begin();
352 while((it != old_trace.end()) && (std::distance(old_trace.begin(), it) < (
int)
m_halfWindowSize))
359 while((it != itend) && (it != old_trace.end()))
396 if(strBuildParams.startsWith(QString(
"%1|").arg(
name())))
398 QStringList params = strBuildParams.split(
"|").back().split(
";");
405 QString(
"Building of FilterMorphoMean from string %1 failed").arg(strBuildParams));
434 std::vector<DataPoint>::const_iterator end)
const
459 std::vector<DataPoint>::const_iterator end)
const
477 std::size_t minmax_half_window_size)
497 if(strBuildParams.startsWith(QString(
"%1|").arg(
name())))
499 QStringList params = strBuildParams.split(
"|").back().split(
";");
507 QString(
"Building of FilterMorphoBackground from string %1 failed").arg(strBuildParams));
515 QString strCode = QString(
"morphoBackground|%1;%2")
525 return "morphoBackground";
excetion to use when an item type is not recognized
anti spike filter set to zero alone values inside the window
FilterMorphoAntiSpike & operator=(const FilterMorphoAntiSpike &other)
std::size_t getHalfWindowSize() const
void buildFilterFromString(const QString &strBuildParams) override
build this filter using a string
QString toString() const override
QString name() const override
FilterMorphoAntiSpike(std::size_t half_window_size)
std::size_t m_halfWindowSize
Trace & filter(Trace &data_points) const override
compute background of a trace compute background noise on a trace
void buildFilterFromString(const QString &strBuildParams) override
build this filter using a string
Trace & filter(Trace &data_points) const override
FilterMorphoMedian * mpa_filterMorphoMedian
QString toString() const override
const FilterMorphoMedian & getFilterMorphoMedian() const
FilterMorphoBackground & operator=(const FilterMorphoBackground &other)
const FilterMorphoMinMax & getFilterMorphoMinMax() const
FilterMorphoBackground(const QString &strBuildParams)
virtual ~FilterMorphoBackground()
FilterMorphoMinMax * mpa_filterMorphoMinMax
QString name() const override
transform the trace with the maximum of the minimum equivalent of the erode filter for pictures
Trace & filter(Trace &data_points) const override
FilterMorphoMaxMin(std::size_t half_window_size)
FilterMorphoMax m_filterMax
std::size_t getMaxMinHalfEdgeWindows() const
FilterMorphoMaxMin & operator=(const FilterMorphoMaxMin &other)
FilterMorphoMin m_filterMin
transform the trace into its maximum over a window
double getWindowValue(std::vector< DataPoint >::const_iterator begin, std::vector< DataPoint >::const_iterator end) const override
FilterMorphoMax(std::size_t half_window_size)
FilterMorphoMax & operator=(const FilterMorphoMax &other)
mean filter apply mean of y values inside the window : this results in a kind of smoothing
void buildFilterFromString(const QString &strBuildParams) override
build this filter using a string
FilterMorphoMean & operator=(const FilterMorphoMean &other)
QString toString() const override
FilterMorphoMean(const QString &strBuildParams)
double getWindowValue(std::vector< DataPoint >::const_iterator begin, std::vector< DataPoint >::const_iterator end) const override
QString name() const override
transform the trace with the minimum of the maximum equivalent of the dilate filter for pictures
FilterMorphoMax m_filterMax
FilterMorphoMin m_filterMin
FilterMorphoMinMax(std::size_t half_window_size)
std::size_t getMinMaxHalfEdgeWindows() const
Trace & filter(Trace &data_points) const override
FilterMorphoMinMax & operator=(const FilterMorphoMinMax &other)
transform the trace into its minimum over a window
FilterMorphoMin(std::size_t half_window_size)
double getWindowValue(std::vector< DataPoint >::const_iterator begin, std::vector< DataPoint >::const_iterator end) const override
FilterMorphoMin & operator=(const FilterMorphoMin &other)
FilterMorphoSum & operator=(const FilterMorphoSum &other)
FilterMorphoSum(std::size_t half_window_size)
double getWindowValue(std::vector< DataPoint >::const_iterator begin, std::vector< DataPoint >::const_iterator end) const override
base class that apply a signal treatment based on a window
virtual Trace & filter(Trace &data_points) const override
virtual double getWindowValue(std::vector< DataPoint >::const_iterator begin, std::vector< DataPoint >::const_iterator end) const =0
std::size_t m_halfWindowSize
void buildFilterFromString(const QString &strBuildParams) override
build this filter using a string
virtual QString name() const override
FilterMorphoWindowBase(std::size_t half_window_size)
virtual std::size_t getHalfWindowSize() const
virtual QString toString() const override
FilterMorphoWindowBase & operator=(const FilterMorphoWindowBase &other)
A simple container of DataPoint instances.
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
std::vector< DataPoint >::iterator findDifferentYvalue(std::vector< DataPoint >::iterator begin, std::vector< DataPoint >::iterator end, const double &y_value)
find the first element in which Y is different of value
std::vector< DataPoint >::const_iterator maxYDataPoint(std::vector< DataPoint >::const_iterator begin, std::vector< DataPoint >::const_iterator end)
double medianYTrace(std::vector< DataPoint >::const_iterator begin, std::vector< DataPoint >::const_iterator end)
calculate the median of y value of a trace
double meanYTrace(std::vector< DataPoint >::const_iterator begin, std::vector< DataPoint >::const_iterator end)
calculate the mean of y value of a trace
double sumYTrace(std::vector< DataPoint >::const_iterator begin, std::vector< DataPoint >::const_iterator end, double init)
calculate the sum of y value of a trace
std::vector< DataPoint >::const_iterator minYDataPoint(std::vector< DataPoint >::const_iterator begin, std::vector< DataPoint >::const_iterator end)