OpenMS
IMDataConverter.h
Go to the documentation of this file.
1 // Copyright (c) 2002-2023, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin
2 // SPDX-License-Identifier: BSD-3-Clause
3 //
4 // --------------------------------------------------------------------------
5 // $Maintainer: Eugen Netz $
6 // $Authors: Eugen Netz, Chris Bielow $
7 // --------------------------------------------------------------------------
8 
9 #pragma once
10 
11 #include <OpenMS/CONCEPT/Types.h>
13 #include <vector>
14 
15 namespace OpenMS
16 {
17  // forward declarations
18  namespace DataArrays
19  {
20  class FloatDataArray;
21  }
22  enum class DriftTimeUnit;
23 
28  class OPENMS_DLLAPI IMDataConverter
29  {
30  public:
43  static std::vector<PeakMap> splitByFAIMSCV(PeakMap&& exp);
44 
45 
59  static MSExperiment splitByIonMobility(MSSpectrum im_frame, UInt number_of_bins = -1);
60 
71  static MSExperiment splitByIonMobility(MSExperiment&& in, UInt number_of_bins = -1);
72 
91 
111  static void setIMUnit(DataArrays::FloatDataArray& fda, const DriftTimeUnit unit);
112 
132  static bool getIMUnit(const DataArrays::FloatDataArray& fda, DriftTimeUnit& unit);
133  };
134 
135 } //end namespace OpenMS
Float data array class.
Definition: DataArrays.h:22
This class converts PeakMaps and MSSpectra from/to different IM/FAIMS storage models.
Definition: IMDataConverter.h:29
static MSExperiment splitByIonMobility(MSSpectrum im_frame, UInt number_of_bins=-1)
Split a (TimsTOF) ion mobility frame (i.e. a spectrum concatenated from multiple spectra with differe...
static MSExperiment collapseFramesToSingle(const MSExperiment &in)
Collapses multiple MS spectra (each with its own drift time) from the same IM-frame into a single MSS...
static void setIMUnit(DataArrays::FloatDataArray &fda, const DriftTimeUnit unit)
Convert from a Unit to a CV term and annotate is as the FDA's name. This is not very accurate (since ...
static MSExperiment splitByIonMobility(MSExperiment &&in, UInt number_of_bins=-1)
Expands all (TimsTOF) ion mobility frames in the PeakMap (i.e. all IM spectra with an IM float data a...
static std::vector< PeakMap > splitByFAIMSCV(PeakMap &&exp)
Splits a PeakMap into one PeakMap per FAIMS compensation voltage.
static bool getIMUnit(const DataArrays::FloatDataArray &fda, DriftTimeUnit &unit)
Checks if the fda is an ion-mobility array and if so, returns the unit (either MILLISECOND or VSSC,...
In-Memory representation of a mass spectrometry run.
Definition: MSExperiment.h:46
The representation of a 1D spectrum.
Definition: MSSpectrum.h:44
unsigned int UInt
Unsigned integer type.
Definition: Types.h:68
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:22
DriftTimeUnit
Drift time unit for ion mobility.
Definition: IMTypes.h:23