OpenMS
Loading...
Searching...
No Matches
MzMLSpectrumDecoder.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: Hannes Roest $
6// $Authors: Hannes Roest $
7// --------------------------------------------------------------------------
8
9#pragma once
10
11#include <OpenMS/config.h>
17
18#include <string>
19#include <xercesc/dom/DOMNode.hpp>
20
24
25namespace OpenMS
26{
27
38 class OPENMS_DLLAPI MzMLSpectrumDecoder
39 {
40 protected:
41
43
45
52 OpenMS::Interfaces::SpectrumPtr decodeBinaryDataSpectrum_(std::vector<BinaryData> & data) const;
53
54 void decodeBinaryDataMSSpectrum_(std::vector<BinaryData>& data, OpenMS::MSSpectrum& s) const;
55
56 void decodeBinaryDataMSChrom_(std::vector<BinaryData>& data, OpenMS::MSChromatogram& c) const;
57
64 OpenMS::Interfaces::ChromatogramPtr decodeBinaryDataChrom_(std::vector<BinaryData> & data) const;
65
76 void handleBinaryDataArray_(xercesc::DOMNode* indexListNode, std::vector<BinaryData>& data);
77
93 std::string domParseString_(const std::string& in, std::vector<BinaryData>& data);
94
95 public:
96
97 explicit MzMLSpectrumDecoder(bool skip_xml_checks = false) :
98 skip_xml_checks_(skip_xml_checks)
99 {}
100
114 void domParseSpectrum(const std::string& in, OpenMS::Interfaces::SpectrumPtr & sptr);
115
129 void domParseSpectrum(const std::string& in, MSSpectrum& s);
130
144 void domParseChromatogram(const std::string& in, MSChromatogram& c);
145
160
162 void setSkipXMLChecks(bool only);
163 };
164}
165
166
The representation of a chromatogram.
Definition MSChromatogram.h:30
The representation of a 1D spectrum.
Definition MSSpectrum.h:44
A class to decode input strings that contain an mzML chromatogram or spectrum tag.
Definition MzMLSpectrumDecoder.h:39
OpenMS::Interfaces::ChromatogramPtr decodeBinaryDataChrom_(std::vector< BinaryData > &data) const
decode binary data
void domParseChromatogram(const std::string &in, MSChromatogram &c)
Extract data from a string which contains a full mzML chromatogram.
MzMLSpectrumDecoder(bool skip_xml_checks=false)
Definition MzMLSpectrumDecoder.h:97
std::string domParseString_(const std::string &in, std::vector< BinaryData > &data)
Extract data from a string containing multiple <binaryDataArray> tags.
Internal::MzMLHandlerHelper::BinaryData BinaryData
Definition MzMLSpectrumDecoder.h:44
void domParseSpectrum(const std::string &in, OpenMS::Interfaces::SpectrumPtr &sptr)
Extract data from a string which contains a full mzML spectrum.
OpenMS::Interfaces::SpectrumPtr decodeBinaryDataSpectrum_(std::vector< BinaryData > &data) const
decode binary data
void decodeBinaryDataMSChrom_(std::vector< BinaryData > &data, OpenMS::MSChromatogram &c) const
void handleBinaryDataArray_(xercesc::DOMNode *indexListNode, std::vector< BinaryData > &data)
Convert a single DOMNode of type binaryDataArray to BinaryData object.
void setSkipXMLChecks(bool only)
Whether to skip some XML checks (e.g. removing whitespace inside base64 arrays) and be fast instead.
void decodeBinaryDataMSSpectrum_(std::vector< BinaryData > &data, OpenMS::MSSpectrum &s) const
void domParseSpectrum(const std::string &in, MSSpectrum &s)
Extract data from a string which contains a full mzML spectrum.
bool skip_xml_checks_
Whether to skip some XML checks (e.g. removing whitespace inside base64 arrays) and be fast instead.
Definition MzMLSpectrumDecoder.h:42
void domParseChromatogram(const std::string &in, OpenMS::Interfaces::ChromatogramPtr &cptr)
Extract data from a string which contains a full mzML chromatogram.
std::shared_ptr< Chromatogram > ChromatogramPtr
Definition openms/include/OpenMS/INTERFACES/DataStructures.h:130
std::shared_ptr< Spectrum > SpectrumPtr
Definition openms/include/OpenMS/INTERFACES/DataStructures.h:210
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
Representation for binary data in mzML.
Definition MzMLHandlerHelper.h:44