Loading...
Searching...
No Matches
tracedetectionzivy.h
Go to the documentation of this file.
/*******************************************************************************
* Copyright (c) 2015 Olivier Langella <Olivier.Langella@moulon.inra.fr>.
*
* This file is part of the PAPPSOms++ library.
*
* PAPPSOms++ is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* PAPPSOms++ is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with PAPPSOms++. If not, see <http://www.gnu.org/licenses/>.
*
* Contributors:
* Olivier Langella <Olivier.Langella@moulon.inra.fr> - initial API and
*implementation
******************************************************************************/
#pragma once
#include "tracedetectioninterface.h"
#include "pappsomspp/core/processing/filters/filtermorpho.h"
#include "pappsomspp/core/msrun/msrunreader.h"
namespace pappso
{
class PMSPP_LIB_DECL TraceDetectionZivy : public TraceDetectionInterface
{
public:
TraceDetectionZivy(unsigned int smoothing_half_window_length,
unsigned int minmax_half_window_length,
unsigned int maxmin_half_window_length,
double detection_threshold_on_minmax,
double detection_threshold_on_maxmin);
TraceDetectionZivy(const TraceDetectionZivy &other);
virtual ~TraceDetectionZivy();
void guessParametersFromMsRunReader(const MsRunReader &reader);
void setFilterMorphoMean(const FilterMorphoMean &smooth);
void setFilterMorphoMinMax(const FilterMorphoMinMax &m_minMax);
void setFilterMorphoMaxMin(const FilterMorphoMaxMin &maxMin);
void setDetectionThresholdOnMinmax(double detectionThresholdOnMinMax);
void setDetectionThresholdOnMaxmin(double detectionThresholdOnMaxMin);
unsigned int getSmoothingHalfEdgeWindows() const;
unsigned int getMaxMinHalfEdgeWindows() const;
unsigned int getMinMaxHalfEdgeWindows() const;
double getDetectionThresholdOnMinmax() const;
double getDetectionThresholdOnMaxmin() const;
void
detect(const Trace &xic, TraceDetectionSinkInterface &sink, bool remove_peak_base) const override;
private:
FilterMorphoMean m_smooth;
FilterMorphoMinMax m_minMax;
FilterMorphoMaxMin m_maxMin;
double m_detectionThresholdOnMinMax;
double m_detectionThresholdOnMaxMin;
};
} // namespace pappso
pappso::FilterMorphoMaxMin
transform the trace with the maximum of the minimum equivalent of the erode filter for pictures
Definition filtermorpho.h:148
pappso::FilterMorphoMean
mean filter apply mean of y values inside the window : this results in a kind of smoothing
Definition filtermorpho.h:225
pappso::FilterMorphoMinMax
transform the trace with the minimum of the maximum equivalent of the dilate filter for pictures
Definition filtermorpho.h:127
pappso::MsRunReader
base class to read MSrun the only way to build a MsRunReader object is to use the MsRunReaderFactory
Definition msrunreader.h:64
pappso::TraceDetectionInterface
Definition tracedetectioninterface.h:44
pappso::TraceDetectionSinkInterface
Definition tracedetectioninterface.h:38
pappso::TraceDetectionZivy::setFilterMorphoMinMax
void setFilterMorphoMinMax(const FilterMorphoMinMax &m_minMax)
Definition tracedetectionzivy.cpp:64
pappso::TraceDetectionZivy::setDetectionThresholdOnMaxmin
void setDetectionThresholdOnMaxmin(double detectionThresholdOnMaxMin)
Definition tracedetectionzivy.cpp:80
pappso::TraceDetectionZivy::TraceDetectionZivy
TraceDetectionZivy(unsigned int smoothing_half_window_length, unsigned int minmax_half_window_length, unsigned int maxmin_half_window_length, double detection_threshold_on_minmax, double detection_threshold_on_maxmin)
Definition tracedetectionzivy.cpp:35
pappso::TraceDetectionZivy::getMinMaxHalfEdgeWindows
unsigned int getMinMaxHalfEdgeWindows() const
Definition tracedetectionzivy.cpp:96
pappso::TraceDetectionZivy::detect
void detect(const Trace &xic, TraceDetectionSinkInterface &sink, bool remove_peak_base) const override
detect peaks on a trace
Definition tracedetectionzivy.cpp:113
pappso::TraceDetectionZivy::m_maxMin
FilterMorphoMaxMin m_maxMin
Definition tracedetectionzivy.h:72
pappso::TraceDetectionZivy::getSmoothingHalfEdgeWindows
unsigned int getSmoothingHalfEdgeWindows() const
Definition tracedetectionzivy.cpp:85
pappso::TraceDetectionZivy::getDetectionThresholdOnMinmax
double getDetectionThresholdOnMinmax() const
Definition tracedetectionzivy.cpp:101
pappso::TraceDetectionZivy::getDetectionThresholdOnMaxmin
double getDetectionThresholdOnMaxmin() const
Definition tracedetectionzivy.cpp:106
pappso::TraceDetectionZivy::setFilterMorphoMaxMin
void setFilterMorphoMaxMin(const FilterMorphoMaxMin &maxMin)
Definition tracedetectionzivy.cpp:69
pappso::TraceDetectionZivy::m_detectionThresholdOnMinMax
double m_detectionThresholdOnMinMax
Definition tracedetectionzivy.h:73
pappso::TraceDetectionZivy::m_detectionThresholdOnMaxMin
double m_detectionThresholdOnMaxMin
Definition tracedetectionzivy.h:74
pappso::TraceDetectionZivy::m_minMax
FilterMorphoMinMax m_minMax
Definition tracedetectionzivy.h:71
pappso::TraceDetectionZivy::setFilterMorphoMean
void setFilterMorphoMean(const FilterMorphoMean &smooth)
Definition tracedetectionzivy.cpp:59
pappso::TraceDetectionZivy::guessParametersFromMsRunReader
void guessParametersFromMsRunReader(const MsRunReader &reader)
Definition tracedetectionzivy.cpp:248
pappso::TraceDetectionZivy::m_smooth
FilterMorphoMean m_smooth
Definition tracedetectionzivy.h:70
pappso::TraceDetectionZivy::getMaxMinHalfEdgeWindows
unsigned int getMaxMinHalfEdgeWindows() const
Definition tracedetectionzivy.cpp:90
pappso::TraceDetectionZivy::setDetectionThresholdOnMinmax
void setDetectionThresholdOnMinmax(double detectionThresholdOnMinMax)
Definition tracedetectionzivy.cpp:75
pappso::Trace
A simple container of DataPoint instances.
Definition trace.h:152
PMSPP_LIB_DECL
#define PMSPP_LIB_DECL
Definition export-import-config.h:14
filtermorpho.h
msrunreader.h
pappso
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition aa.cpp:39
tracedetectioninterface.h