libpappsomspp
Library for mass spectrometry
pappso::FilterSuiteString Class Reference

#include <filtersuitestring.h>

Inheritance diagram for pappso::FilterSuiteString:
pappso::FilterNameInterface pappso::FilterInterface

Public Types

using FilterNameType = std::vector< FilterNameInterfaceCstSPtr >
 

Public Member Functions

 FilterSuiteString (const QString &strBuildParams)
 
virtual ~FilterSuiteString ()
 
pappso::Tracefilter (pappso::Trace &data_points) const override
 
virtual QString name () const override
 
QString toString () const override
 
void addFilterFromString (const QString &strBuildParams)
 takes a string that describes filters to add More...
 
FilterNameType::const_iterator begin ()
 
FilterNameType::const_iterator end ()
 
- Public Member Functions inherited from pappso::FilterNameInterface
virtual ~FilterNameInterface ()
 
- Public Member Functions inherited from pappso::FilterInterface
virtual ~FilterInterface ()
 

Protected Member Functions

void buildFilterFromString (const QString &strBuildParams) override
 build this filter using a string More...
 

Private Attributes

std::vector< FilterNameInterfaceCstSPtrm_filterVector
 

Detailed Description

Todo:
write docs

Definition at line 41 of file filtersuitestring.h.

Member Typedef Documentation

◆ FilterNameType

Constructor & Destructor Documentation

◆ FilterSuiteString()

pappso::FilterSuiteString::FilterSuiteString ( const QString &  strBuildParams)
Parameters
strBuildParamsstring to build the filter "chargeDeconvolution|0.02dalton anotherFilter|param1;param2"

Definition at line 42 of file filtersuitestring.cpp.

43 {
44  buildFilterFromString(strBuildParams);
45 }
void buildFilterFromString(const QString &strBuildParams) override
build this filter using a string

References buildFilterFromString().

◆ ~FilterSuiteString()

pappso::FilterSuiteString::~FilterSuiteString ( )
virtual

Destructor

Definition at line 47 of file filtersuitestring.cpp.

48 {
49 }

Member Function Documentation

◆ addFilterFromString()

void pappso::FilterSuiteString::addFilterFromString ( const QString &  strBuildParams)

takes a string that describes filters to add

Parameters
strBuildParamsstring to build the filter "chargeDeconvolution|0.02dalton anotherFilter|param1;param2"

Definition at line 135 of file filtersuitestring.cpp.

136 {
137  buildFilterFromString(strBuildParams);
138 }

References buildFilterFromString().

◆ begin()

FilterSuiteString::FilterNameType::const_iterator pappso::FilterSuiteString::begin ( )

Definition at line 142 of file filtersuitestring.cpp.

143 {
144  return m_filterVector.begin();
145 };
std::vector< FilterNameInterfaceCstSPtr > m_filterVector

References m_filterVector.

◆ buildFilterFromString()

void pappso::FilterSuiteString::buildFilterFromString ( const QString &  strBuildParams)
overrideprotectedvirtual

build this filter using a string

Parameters
strBuildParamsa string coding the filter and its parameters "filterName|param1;param2;param3"

Implements pappso::FilterNameInterface.

Definition at line 92 of file filtersuitestring.cpp.

93 {
94  // qInfo() << strBuildParams;
95  QStringList filters = strBuildParams.split(" ", Qt::SkipEmptyParts);
96  for(QString filter_str : filters)
97  {
98  if(filter_str.startsWith("complementIonEnhancer|"))
99  {
100  m_filterVector.push_back(
101  std::make_shared<FilterComplementIonEnhancer>(filter_str));
102  }
103  else if(filter_str.startsWith("chargeDeconvolution|"))
104  {
105  m_filterVector.push_back(
106  std::make_shared<FilterChargeDeconvolution>(filter_str));
107  }
108  else if(filter_str.startsWith("mzExclusion|"))
109  {
110  m_filterVector.push_back(
111  std::make_shared<FilterMzExclusion>(filter_str));
112  }
113  else if(filter_str.startsWith("passQuantileBasedRemoveY|"))
114  {
115  m_filterVector.push_back(
116  std::make_shared<FilterQuantileBasedRemoveY>(filter_str));
117  }
118 
119  else if(filter_str.startsWith("antiSpike|"))
120  {
121  m_filterVector.push_back(
122  std::make_shared<FilterMorphoAntiSpike>(filter_str));
123  }
124  else
125  {
127  QString("building Filter from string %1 is "
128  "not possible")
129  .arg(filter_str));
130  }
131  }
132 }
excetion to use when an item type is not recognized

References m_filterVector.

Referenced by FilterSuiteString(), and addFilterFromString().

◆ end()

FilterSuiteString::FilterNameType::const_iterator pappso::FilterSuiteString::end ( )

Definition at line 147 of file filtersuitestring.cpp.

148 {
149  return m_filterVector.end();
150 };

References m_filterVector.

◆ filter()

pappso::Trace & pappso::FilterSuiteString::filter ( pappso::Trace data_points) const
overridevirtual

Implements pappso::FilterInterface.

Definition at line 53 of file filtersuitestring.cpp.

54 {
55 
56  qDebug();
57  for(auto &&filter : m_filterVector)
58  {
59 
60  qDebug() << filter.get();
61  qDebug() << filter->toString();
62  filter->filter(data_points);
63  }
64 
65  qDebug();
66  return data_points;
67 }
pappso::Trace & filter(pappso::Trace &data_points) const override
virtual Trace & filter(const FilterInterface &filter) final
apply a filter on this trace
Definition: trace.cpp:1001
QString toString() const
Definition: trace.cpp:984

References pappso::Trace::filter(), m_filterVector, and pappso::Trace::toString().

Referenced by toString().

◆ name()

QString pappso::FilterSuiteString::name ( ) const
overridevirtual

Implements pappso::FilterNameInterface.

Definition at line 71 of file filtersuitestring.cpp.

72 {
73  // FIXME: check if this makes sense
74  return "Suite of filters";
75 }

◆ toString()

QString pappso::FilterSuiteString::toString ( ) const
overridevirtual

Implements pappso::FilterNameInterface.

Definition at line 79 of file filtersuitestring.cpp.

80 {
81  QStringList filter_str_list;
82  for(auto &&filter : m_filterVector)
83  {
84  filter_str_list << filter->toString();
85  }
86 
87  return filter_str_list.join(" ");
88 }

References filter(), m_filterVector, and pappso::Trace::toString().

Member Data Documentation

◆ m_filterVector

std::vector<FilterNameInterfaceCstSPtr> pappso::FilterSuiteString::m_filterVector
private

Definition at line 74 of file filtersuitestring.h.

Referenced by begin(), buildFilterFromString(), end(), filter(), and toString().


The documentation for this class was generated from the following files: