CycloBranch
cImzML.h
Go to the documentation of this file.
1
7#ifndef _CIMZML_H
8#define _CIMZML_H
9
10
11#include <xercesc/parsers/XercesDOMParser.hpp>
12#include <xercesc/dom/DOM.hpp>
13#include <string>
14#include <vector>
15#include <sstream>
16#include <QFile>
17#include <QCryptographicHash>
18
19#include "core/cMzML.h"
20
21using namespace std;
22using namespace xercesc;
23
24
25class cPeaksList;
26
27
31struct cImzMLItem {
32
36 int x;
37
38
42 int y;
43
44
48 long long unsigned mzstart;
49
50
54 long long unsigned mzlength;
55
56
60 long long unsigned intensitystart;
61
62
66 long long unsigned intensitylength;
67
68
72 string title;
73
74
79 x = 0;
80 y = 0;
81 mzstart = 0;
82 mzlength = 0;
85 title = "";
86 }
87
88};
89
90
91
95class cImzML {
96
97 XercesDOMParser* parser;
98 DOMDocument* document;
99
100 bool profilespectra;
101 bool use_64bit_float_mz_precision;
102 bool use_64bit_float_intensity_precision;
103 vector<cImzMLItem> imzmlitems;
104
105public:
106
107
111 cImzML();
112
113
117 ~cImzML();
118
119
130 int parse(string& filename, int& defaultmaxx, int& defaultmaxy, int& defaultpixelsizex, int& defaultpixelsizey, eVendorType& vendor);
131
132
138 void updateRawDataToPeakList(vector<cPeaksList>& peaklists, string& convertedibdfilename);
139
140
145 vector<cImzMLItem>& getItems();
146
147
152 bool hasProfileSpectra();
153
154
159 bool use64BitMzPrecision();
160
161
167
168
173 void write(string& filename);
174
175};
176
177
178#endif
179
mzML parser.
imzML parser.
Definition: cImzML.h:95
vector< cImzMLItem > & getItems()
Get a vector of cImzML items.
Definition: cImzML.cpp:986
~cImzML()
The destructor.
Definition: cImzML.cpp:19
void write(string &filename)
Write an imzml file.
Definition: cImzML.cpp:1006
void updateRawDataToPeakList(vector< cPeaksList > &peaklists, string &convertedibdfilename)
Update values after conversion of profile spectra into centroid spectra.
Definition: cImzML.cpp:616
bool use64BitMzPrecision()
Check the precision of mz values.
Definition: cImzML.cpp:996
bool hasProfileSpectra()
Check if the file contains profile spectra.
Definition: cImzML.cpp:991
bool use64BitIntensityPrecision()
Check the precision of intensity values.
Definition: cImzML.cpp:1001
int parse(string &filename, int &defaultmaxx, int &defaultmaxy, int &defaultpixelsizex, int &defaultpixelsizey, eVendorType &vendor)
Parse an imzml file.
Definition: cImzML.cpp:24
cImzML()
The constructor.
Definition: cImzML.cpp:7
The class representing a peak list.
Definition: cPeaksList.h:68
A parsed imzML item.
Definition: cImzML.h:31
long long unsigned mzlength
Length of m/z values array in ibd file (in bytes).
Definition: cImzML.h:54
string title
Title.
Definition: cImzML.h:72
cImzMLItem()
The constructor.
Definition: cImzML.h:78
int x
Image - x coordinate.
Definition: cImzML.h:36
long long unsigned intensitylength
Length of intensity values array in ibd file (in bytes).
Definition: cImzML.h:66
long long unsigned mzstart
Starting offset of m/z values array in ibd file (in bytes).
Definition: cImzML.h:48
long long unsigned intensitystart
Starting offset of intensity values array in ibd file (in bytes).
Definition: cImzML.h:60
int y
Image - y coordinate.
Definition: cImzML.h:42
eVendorType
Vendor types.
Definition: utilities.h:82