OpenMS
Loading...
Searching...
No Matches
RankScaler.h
Go to the documentation of this file.
1// Copyright (c) 2002-present, OpenMS Inc. -- EKU Tuebingen, ETH Zurich, and FU Berlin
2// SPDX-License-Identifier: BSD-3-Clause
3//
4// --------------------------------------------------------------------------
5// $Maintainer: Mathias Walzer $
6// $Authors: $
7// --------------------------------------------------------------------------
8//
9#pragma once
10
15
16#include <map>
17
18namespace OpenMS
19{
25 class OPENMS_DLLAPI RankScaler :
27 {
28public:
29
30 // @name Constructors and Destructors
31 // @{
35 ~RankScaler() override;
36
38 RankScaler(const RankScaler & source);
40 RankScaler & operator=(const RankScaler & source);
41
42 // @}
43
44 // @name Accessors
45 // @{
46
47 template <typename SpectrumType>
49 {
50 if (spectrum.empty()) return;
51
52 spectrum.sortByIntensity();
53 typename SpectrumType::size_type count = spectrum.size();
54 ++count;
55 typename SpectrumType::PeakType::IntensityType last_int = 0.0;
56 typename SpectrumType::Iterator it = spectrum.end();
57 do
58 {
59 --it;
60 if (it->getIntensity() != last_int)
61 {
62 --count;
63 }
64 last_int = it->getIntensity();
65 it->setIntensity(count);
66 }
67 while (it != spectrum.begin());
68 }
69
71
73
74 //TODO reimplement DefaultParamHandler::updateMembers_() when introducing member variables
75
76 // @}
77
78 };
79
80}
A base class for all classes handling default parameters.
Definition DefaultParamHandler.h:66
In-Memory representation of a mass spectrometry run.
Definition MSExperiment.h:49
The representation of a 1D spectrum.
Definition MSSpectrum.h:44
ContainerType::iterator Iterator
Mutable iterator.
Definition MSSpectrum.h:118
void sortByIntensity(bool reverse=false)
Lexicographically sorts the peaks by their intensity.
Scales each peak by ranking the peaks per spectrum and assigning intensity according to rank.
Definition RankScaler.h:27
RankScaler(const RankScaler &source)
copy constructor
void filterPeakSpectrum(PeakSpectrum &spectrum)
~RankScaler() override
destructor
void filterPeakMap(PeakMap &exp)
RankScaler & operator=(const RankScaler &source)
assignment operator
RankScaler()
default constructor
void filterSpectrum(SpectrumType &spectrum)
Definition RankScaler.h:48
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19