libpappsomspp
Library for mass spectrometry
Toggle main menu visibility
Loading...
Searching...
No Matches
filterresample.h
Go to the documentation of this file.
1
/**
2
* \file pappsomspp/filers/filterresample.h
3
* \date 28/04/2019
4
* \author Olivier Langella
5
* \brief collection of filters concerned by X selection
6
*/
7
8
/*******************************************************************************
9
* Copyright (c) 2019 Olivier Langella <Olivier.Langella@u-psud.fr>.
10
*
11
* This file is part of the PAPPSOms++ library.
12
*
13
* PAPPSOms++ is free software: you can redistribute it and/or modify
14
* it under the terms of the GNU General Public License as published by
15
* the Free Software Foundation, either version 3 of the License, or
16
* (at your option) any later version.
17
*
18
* PAPPSOms++ is distributed in the hope that it will be useful,
19
* but WITHOUT ANY WARRANTY; without even the implied warranty of
20
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
* GNU General Public License for more details.
22
*
23
* You should have received a copy of the GNU General Public License
24
* along with PAPPSOms++. If not, see <http://www.gnu.org/licenses/>.
25
*
26
******************************************************************************/
27
28
#pragma once
29
30
#include <cstddef>
31
32
33
#include "
pappsomspp/export-import-config.h
"
34
#include "
filterinterface.h
"
35
#include "
../../mzrange.h
"
36
#include "
../combiners/integrationscopebase.h
"
37
38
namespace
pappso
39
{
40
41
class
PMSPP_LIB_DECL
FilterResampleKeepSmaller
:
public
FilterInterface
42
{
43
private
:
44
double
m_value
;
45
46
public
:
47
FilterResampleKeepSmaller
(
double
x_value);
48
FilterResampleKeepSmaller
(
const
FilterResampleKeepSmaller
&other);
49
virtual
~FilterResampleKeepSmaller
(){};
50
Trace
&
filter
(
Trace
&trace)
const override
;
51
};
52
53
54
class
PMSPP_LIB_DECL
FilterResampleKeepGreater
:
public
FilterInterface
55
{
56
private
:
57
double
m_value
;
58
59
public
:
60
FilterResampleKeepGreater
(
double
x_value);
61
FilterResampleKeepGreater
(
const
FilterResampleKeepGreater
&other);
62
virtual
~FilterResampleKeepGreater
(){};
63
64
FilterResampleKeepGreater
&operator=(
const
FilterResampleKeepGreater
&other);
65
Trace
&
filter
(
Trace
&trace)
const override
;
66
67
double
getThresholdX()
const
;
68
};
69
70
71
class
PMSPP_LIB_DECL
FilterResampleRemoveXRange
:
public
FilterInterface
72
{
73
private
:
74
double
m_minX
;
75
double
m_maxX
;
76
77
public
:
78
FilterResampleRemoveXRange
(
double
min_x,
double
max_x);
79
FilterResampleRemoveXRange
(
const
FilterResampleRemoveXRange
&other);
80
virtual
~FilterResampleRemoveXRange
(){};
81
82
FilterResampleRemoveXRange
&
83
operator=(
const
FilterResampleRemoveXRange
&other);
84
Trace
&
filter
(
Trace
&trace)
const override
;
85
};
86
87
88
class
PMSPP_LIB_DECL
FilterResampleKeepXRange
:
public
FilterInterface
89
{
90
private
:
91
double
m_minX
;
92
double
m_maxX
;
93
94
public
:
95
FilterResampleKeepXRange
(
double
min_x = 0,
double
max_x = 0);
96
FilterResampleKeepXRange
(
const
FilterResampleKeepXRange
&other);
97
virtual
~FilterResampleKeepXRange
(){};
98
99
FilterResampleKeepXRange
&operator=(
const
FilterResampleKeepXRange
&other);
100
101
Trace
&
filter
(
Trace
&trace)
const override
;
102
};
103
104
105
using
IntegrationScopeSpecVector
= std::vector<IntegrationScopeSpec>;
106
107
class
PMSPP_LIB_DECL
FilterResampleKeepPointInPolygon
:
public
FilterInterface
108
{
109
public
:
110
FilterResampleKeepPointInPolygon
();
111
112
FilterResampleKeepPointInPolygon
(
IntegrationScopeBase
*integration_scope_p,
113
Enums::DataKind
data_kind);
114
115
FilterResampleKeepPointInPolygon
(
116
const
IntegrationScopeSpecVector
&integration_scope_specs);
117
118
FilterResampleKeepPointInPolygon
(
119
const
FilterResampleKeepPointInPolygon
&other);
120
121
virtual
~FilterResampleKeepPointInPolygon
(){};
122
123
void
124
newSelectionPolygonSpec(
const
IntegrationScopeSpec
&integration_scope_spec);
125
126
FilterResampleKeepPointInPolygon
&
127
operator=(
const
FilterResampleKeepPointInPolygon
&other);
128
129
using
FilterInterface::filter
;
130
131
Trace
&
filter
(
Trace
&trace)
const override
;
132
Trace
&
filter
(
Trace
&trace,
double
dt_value,
double
rt_value)
const
;
133
134
private
:
135
IntegrationScopeSpecVector
m_integrationScopeSpecs
;
136
double
m_lowestMz
= std::numeric_limits<double>::max();
137
double
m_greatestMz
= std::numeric_limits<double>::min();
138
};
139
140
141
class
PMSPP_LIB_DECL
MassSpectrumFilterResampleRemoveMzRange
142
:
public
MassSpectrumFilterInterface
143
{
144
private
:
145
const
FilterResampleRemoveXRange
m_filterRange
;
146
147
public
:
148
MassSpectrumFilterResampleRemoveMzRange
(
const
MzRange
&mz_range);
149
MassSpectrumFilterResampleRemoveMzRange
(
150
const
MassSpectrumFilterResampleRemoveMzRange
&other);
151
virtual
~MassSpectrumFilterResampleRemoveMzRange
(){};
152
MassSpectrum
&
filter
(
MassSpectrum
&spectrum)
const override
;
153
};
154
155
156
class
PMSPP_LIB_DECL
MassSpectrumFilterResampleKeepMzRange
157
:
public
MassSpectrumFilterInterface
158
{
159
private
:
160
const
FilterResampleKeepXRange
m_filterRange
;
161
162
public
:
163
MassSpectrumFilterResampleKeepMzRange
(
const
MzRange
&mz_range);
164
MassSpectrumFilterResampleKeepMzRange
(
165
const
MassSpectrumFilterResampleKeepMzRange
&other);
166
virtual
~MassSpectrumFilterResampleKeepMzRange
(){};
167
MassSpectrum
&
filter
(
MassSpectrum
&spectrum)
const override
;
168
};
169
170
171
}
// namespace pappso
pappso::FilterInterface
generic interface to apply a filter on a trace
Definition
filterinterface.h:40
pappso::FilterInterface::filter
virtual Trace & filter(Trace &data_points) const =0
pappso::FilterResampleKeepGreater
Definition
filterresample.h:55
pappso::FilterResampleKeepGreater::m_value
double m_value
Definition
filterresample.h:57
pappso::FilterResampleKeepGreater::~FilterResampleKeepGreater
virtual ~FilterResampleKeepGreater()
Definition
filterresample.h:62
pappso::FilterResampleKeepGreater::FilterResampleKeepGreater
FilterResampleKeepGreater(double x_value)
Definition
filterresample.cpp:54
pappso::FilterResampleKeepPointInPolygon
Definition
filterresample.h:108
pappso::FilterResampleKeepPointInPolygon::~FilterResampleKeepPointInPolygon
virtual ~FilterResampleKeepPointInPolygon()
Definition
filterresample.h:121
pappso::FilterResampleKeepPointInPolygon::m_lowestMz
double m_lowestMz
Definition
filterresample.h:136
pappso::FilterResampleKeepPointInPolygon::m_greatestMz
double m_greatestMz
Definition
filterresample.h:137
pappso::FilterResampleKeepPointInPolygon::m_integrationScopeSpecs
IntegrationScopeSpecVector m_integrationScopeSpecs
Definition
filterresample.h:135
pappso::FilterResampleKeepPointInPolygon::FilterResampleKeepPointInPolygon
FilterResampleKeepPointInPolygon()
Definition
filterresample.cpp:233
pappso::FilterResampleKeepSmaller::m_value
double m_value
Definition
filterresample.h:44
pappso::FilterResampleKeepSmaller::FilterResampleKeepSmaller
FilterResampleKeepSmaller(double x_value)
Definition
filterresample.cpp:36
pappso::FilterResampleKeepSmaller::~FilterResampleKeepSmaller
virtual ~FilterResampleKeepSmaller()
Definition
filterresample.h:49
pappso::FilterResampleKeepXRange
Definition
filterresample.h:89
pappso::FilterResampleKeepXRange::m_maxX
double m_maxX
Definition
filterresample.h:92
pappso::FilterResampleKeepXRange::FilterResampleKeepXRange
FilterResampleKeepXRange(double min_x=0, double max_x=0)
Definition
filterresample.cpp:134
pappso::FilterResampleKeepXRange::~FilterResampleKeepXRange
virtual ~FilterResampleKeepXRange()
Definition
filterresample.h:97
pappso::FilterResampleKeepXRange::m_minX
double m_minX
Definition
filterresample.h:91
pappso::FilterResampleRemoveXRange
Definition
filterresample.h:72
pappso::FilterResampleRemoveXRange::FilterResampleRemoveXRange
FilterResampleRemoveXRange(double min_x, double max_x)
Definition
filterresample.cpp:91
pappso::FilterResampleRemoveXRange::~FilterResampleRemoveXRange
virtual ~FilterResampleRemoveXRange()
Definition
filterresample.h:80
pappso::FilterResampleRemoveXRange::m_maxX
double m_maxX
Definition
filterresample.h:75
pappso::FilterResampleRemoveXRange::m_minX
double m_minX
Definition
filterresample.h:74
pappso::IntegrationScopeBase
Definition
integrationscopebase.h:61
pappso::MassSpectrumFilterInterface
generic interface to apply a filter on a MassSpectrum This is the same as FilterInterface,...
Definition
filterinterface.h:56
pappso::MassSpectrumFilterResampleKeepMzRange::MassSpectrumFilterResampleKeepMzRange
MassSpectrumFilterResampleKeepMzRange(const MzRange &mz_range)
Definition
filterresample.cpp:213
pappso::MassSpectrumFilterResampleKeepMzRange::~MassSpectrumFilterResampleKeepMzRange
virtual ~MassSpectrumFilterResampleKeepMzRange()
Definition
filterresample.h:166
pappso::MassSpectrumFilterResampleKeepMzRange::m_filterRange
const FilterResampleKeepXRange m_filterRange
Definition
filterresample.h:160
pappso::MassSpectrumFilterResampleRemoveMzRange::m_filterRange
const FilterResampleRemoveXRange m_filterRange
Definition
filterresample.h:145
pappso::MassSpectrumFilterResampleRemoveMzRange::~MassSpectrumFilterResampleRemoveMzRange
virtual ~MassSpectrumFilterResampleRemoveMzRange()
Definition
filterresample.h:151
pappso::MassSpectrumFilterResampleRemoveMzRange::MassSpectrumFilterResampleRemoveMzRange
MassSpectrumFilterResampleRemoveMzRange(const MzRange &mz_range)
Definition
filterresample.cpp:192
pappso::MassSpectrum
Class to represent a mass spectrum.
Definition
massspectrum.h:70
pappso::MzRange
Definition
mzrange.h:46
pappso::Trace
A simple container of DataPoint instances.
Definition
trace.h:152
export-import-config.h
PMSPP_LIB_DECL
#define PMSPP_LIB_DECL
Definition
export-import-config.h:14
filterinterface.h
integrationscopebase.h
mzrange.h
pappso::Enums::DataKind
DataKind
Definition
types.h:238
pappso
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition
aa.cpp:39
pappso::ProjectParamCategory::filter
@ filter
concerning filters (psm, peptide, protein validation)
Definition
projectparameters.h:48
pappso::IntegrationScopeSpecVector
std::vector< IntegrationScopeSpec > IntegrationScopeSpecVector
Definition
filterresample.h:105
pappso::IntegrationScopeSpec
Definition
integrationscopebase.h:124
pappsomspp
core
processing
filters
filterresample.h
Generated on
for libpappsomspp by
1.17.0