libpappsomspp
Library for mass spectrometry
pappso::FilterQuantileBasedRemoveY Class Reference

removes a value found by quantile to all Y values More...

#include <filterpass.h>

Inheritance diagram for pappso::FilterQuantileBasedRemoveY:
pappso::FilterNameInterface pappso::FilterInterface

Public Member Functions

 FilterQuantileBasedRemoveY (double quantile_threshold)
 
 FilterQuantileBasedRemoveY (const QString &strBuildParams)
 
 FilterQuantileBasedRemoveY (const FilterQuantileBasedRemoveY &other)
 
virtual ~FilterQuantileBasedRemoveY ()
 
FilterQuantileBasedRemoveYoperator= (const FilterQuantileBasedRemoveY &other)
 
Tracefilter (Trace &data_points) const override
 
double getQuantileThreshold () const
 
virtual QString name () const override
 
QString toString () const override
 
- Public Member Functions inherited from pappso::FilterNameInterface
virtual QString name () const =0
 
virtual QString toString () const =0
 
virtual ~FilterNameInterface ()
 
- Public Member Functions inherited from pappso::FilterInterface
virtual Tracefilter (Trace &data_points) const =0
 
virtual ~FilterInterface ()
 

Protected Member Functions

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

Private Attributes

double m_quantile = 0
 

Detailed Description

removes a value found by quantile to all Y values

sort all values by Y intensity and take the iest value located at the defined quantile the use it to remove this value to all Y intensities

Definition at line 257 of file filterpass.h.

Constructor & Destructor Documentation

◆ FilterQuantileBasedRemoveY() [1/3]

FilterQuantileBasedRemoveY::FilterQuantileBasedRemoveY ( double  quantile_threshold)

Definition at line 501 of file filterpass.cpp.

502 : m_quantile(quantile)
503{
504}

◆ FilterQuantileBasedRemoveY() [2/3]

pappso::FilterQuantileBasedRemoveY::FilterQuantileBasedRemoveY ( const QString &  strBuildParams)
Parameters
strBuildParamsstring to build the filter "passQuantileBasedRemoveY|0.6"

Definition at line 543 of file filterpass.cpp.

545{
546 buildFilterFromString(strBuildParams);
547}
void buildFilterFromString(const QString &strBuildParams) override
build this filter using a string
Definition: filterpass.cpp:551

◆ FilterQuantileBasedRemoveY() [3/3]

FilterQuantileBasedRemoveY::FilterQuantileBasedRemoveY ( const FilterQuantileBasedRemoveY other)

Definition at line 506 of file filterpass.cpp.

508 : m_quantile(other.m_quantile)
509{
510}

◆ ~FilterQuantileBasedRemoveY()

virtual pappso::FilterQuantileBasedRemoveY::~FilterQuantileBasedRemoveY ( )
inlinevirtual

Definition at line 269 of file filterpass.h.

269{};

Member Function Documentation

◆ buildFilterFromString()

void pappso::FilterQuantileBasedRemoveY::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 551 of file filterpass.cpp.

553{
554 //"passQuantileBasedRemoveY|0.6"
555 qDebug();
556 if(strBuildParams.startsWith("passQuantileBasedRemoveY|"))
557 {
558 QStringList params =
559 strBuildParams.split("|").back().split(";", Qt::SkipEmptyParts);
560
561 QString value = params.at(0);
562 m_quantile = value.toDouble();
563 }
564 else
565 {
567 QString(
568 "building passQuantileBasedRemoveY from string %1 is not possible")
569 .arg(strBuildParams));
570 }
571 qDebug();
572}
excetion to use when an item type is not recognized

◆ filter()

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

Implements pappso::FilterInterface.

Definition at line 526 of file filterpass.cpp.

527{
528
529 if(data_points.size() == 0)
530 return data_points;
531 double value_to_temove =
532 quantileYTrace(data_points.begin(), data_points.end(), m_quantile);
533 for(auto &&dataPoint : data_points)
534 {
535 if(dataPoint.y < value_to_temove)
536 dataPoint.y = 0;
537 else
538 dataPoint.y = dataPoint.y - value_to_temove;
539 }
540 return data_points;
541}
double quantileYTrace(std::vector< DataPoint >::const_iterator begin, std::vector< DataPoint >::const_iterator end, double quantile)
calculate the quantile of y value of a trace
Definition: trace.cpp:226

References pappso::quantileYTrace().

◆ getQuantileThreshold()

double FilterQuantileBasedRemoveY::getQuantileThreshold ( ) const

Definition at line 520 of file filterpass.cpp.

521{
522 return m_quantile;
523}

References m_quantile.

◆ name()

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

Implements pappso::FilterNameInterface.

Definition at line 576 of file filterpass.cpp.

577{
578 return "passQuantileBasedRemoveY";
579}

◆ operator=()

FilterQuantileBasedRemoveY & FilterQuantileBasedRemoveY::operator= ( const FilterQuantileBasedRemoveY other)

Definition at line 513 of file filterpass.cpp.

514{
515 m_quantile = other.m_quantile;
516 return *this;
517}

References m_quantile.

◆ toString()

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

Implements pappso::FilterNameInterface.

Definition at line 583 of file filterpass.cpp.

584{
585 QString strCode = QString("%1|%2").arg(name()).arg(m_quantile);
586
587 return strCode;
588}
virtual QString name() const override
Definition: filterpass.cpp:576

Member Data Documentation

◆ m_quantile

double pappso::FilterQuantileBasedRemoveY::m_quantile = 0
private

Definition at line 285 of file filterpass.h.

Referenced by getQuantileThreshold(), and operator=().


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