80 qDebug() <<
" " <<
m_halfWindowSize <<
" data_points.size()" << data_points.size();
85 Trace old_trace(data_points);
86 auto it = old_trace.begin();
88 auto it_target = data_points.begin();
91 std::size_t loop_begin = 0;
114 while(it != old_trace.end())
149 std::vector<DataPoint>::const_iterator end)
const
175 std::vector<DataPoint>::const_iterator end)
const
201 std::vector<DataPoint>::const_iterator end)
const
292 if(strBuildParams.startsWith(
"antiSpike|"))
294 QStringList params = strBuildParams.split(
"|").back().split(
";");
301 QString(
"building FilterMorphoAntiSpike from string %1 is not possible")
302 .arg(strBuildParams));
342 Trace old_trace(data_points);
343 auto it = old_trace.begin();
344 auto it_target = data_points.begin();
345 auto itw = old_trace.begin();
351 while((it != old_trace.end()) && (std::distance(old_trace.begin(), it) < (
int)
m_halfWindowSize))
358 while((it != itend) && (it != old_trace.end()))
395 if(strBuildParams.startsWith(QString(
"%1|").arg(
name())))
397 QStringList params = strBuildParams.split(
"|").back().split(
";");
404 QString(
"Building of FilterMorphoMean from string %1 failed").arg(strBuildParams));
433 std::vector<DataPoint>::const_iterator end)
const
458 std::vector<DataPoint>::const_iterator end)
const
476 std::size_t minmax_half_window_size)
496 if(strBuildParams.startsWith(QString(
"%1|").arg(
name())))
498 QStringList params = strBuildParams.split(
"|").back().split(
";");
506 QString(
"Building of FilterMorphoBackground from string %1 failed").arg(strBuildParams));
514 QString strCode = QString(
"morphoBackground|%1;%2")
524 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)