This class converts PeakMaps and MSSpectra from/to different IM/FAIMS storage models.
More...
This class converts PeakMaps and MSSpectra from/to different IM/FAIMS storage models.
Collapses multiple MS spectra (each with its own drift time) from the same IM-frame into a single MSSpectrum (with an IM-float data array)
Frames are recognized by having the same RT for subsequent spectra. The IM information is taken from each input spectrum's .getDriftTime(). Multiple frames are allowed. If the input already contains IM-frames, they are simply copied.
If a spectrum does not have drift time (spec.getDriftTime()), it is simply copied to the output and ignored during the collapsing process.
- Parameters
-
in | The input experiment with multiple spectra per frame |
- Returns
- result The output spectra collapsed to a single spectrum per frame
- Note
- This requires that spectra from the same frame have the same RT ("scan start time")
- Exceptions
-
Checks if the fda
is an ion-mobility array and if so, returns the unit (either MILLISECOND or VSSC, or NONE)
The name of the fda
should correspond to a value set by setIMUnit(), but all CV names of child terms of 'MS:1002893 ! ion mobility array' are accepted.
**
) or a child term, which is not one of the terms used above.
- Parameters
-
[in] | fda | Input array, which is tested for its name |
[out] | unit | If fda is an IM array, the unit will contain the IM unit (undefined otherwise) |
- Returns
- True if
fda
is an IM array, false otherwise
Expands all (TimsTOF) ion mobility frames in the PeakMap (i.e. all IM spectra with an IM float data array) into separate spectra. Non-IM spectra are simply copied to the result.
To get some coarser custom binning, choose a smaller number_of_bins
. The default creates a new bin (=spectrum in the output) for each distinct ion mobility value. For custom bins, the IM range is divided into equally spaced bins and the bin center is the new drift time. For the new output spectra, the IM value is annotated once in spec.getDriftTime()
(using the center of the IM bin). There is no metadata array which contains IM values floatDataArray.
- Parameters
-
in | The PeakMap containing IM-frame spectra |
number_of_bins | In how many bins should the ion mobility frame be sliced? Default(-1) assigns all peaks with identical ion-mobility values to a separate spectrum. |
- Returns
- All IM frames split into multiple bins (= 1 spectrum per bin)
Split a (TimsTOF) ion mobility frame (i.e. a spectrum concatenated from multiple spectra with different IM values) into separate spectra.
The input im_frame
must have a floatDataArray where IM values are annotated. If not, an exception is thrown.
To get some coarser binning, choose a smaller number_of_bins
. The default of -1
creates a new bin (=spectrum in the output) for each distinct ion mobility value.
For the output spectra, the IM value is annotated once in spec.getDriftTime()
(using the center of the IM bin). There is no metadata array which contains IM values floatDataArray.
- Parameters
-
im_frame | Concatenated spectrum representing a frame |
number_of_bins | In how many bins should the ion mobility frame be sliced? Default(-1) assigns all peaks with identical ion-mobility values to a separate spectrum. |
- Returns
- IM frame split into multiple bins (= 1 spectrum per bin)
- Exceptions
-
Referenced by TOPPViewBase::showCurrentPeaksAsIonMobility().