OpenMS
Loading...
Searching...
No Matches
ImzMLHandler Class Referencefinal

SAX2 handler for imzML 1.1.0 files, extending OpenMS MzMLHandler. More...

#include <OpenMS/FORMAT/HANDLERS/ImzMLHandler.h>

Inheritance diagram for ImzMLHandler:
[legend]
Collaboration diagram for ImzMLHandler:
[legend]

Classes

struct  ArrayMeta
 
struct  SpecIMS
 

Public Member Functions

 ImzMLHandler (PeakMap &exp, const std::string &filename, const ProgressLogger &logger)
 Construct an ImzMLHandler.
 
 ~ImzMLHandler () override
 Closes the .ibd FILE* if open.
 
 ImzMLHandler (const ImzMLHandler &)=delete
 
ImzMLHandleroperator= (const ImzMLHandler &)=delete
 
void openIBD (const std::string &ibd_path)
 Open the companion .ibd file for random-access binary reads.
 
const ImzMLMetagetImzMLMeta () const noexcept
 Imaging metadata accumulated during SAX parse (read after parse_() returns).
 
ImzMLMetagetImzMLMeta () noexcept
 Non-const access for ImzMLFile to set the .ibd path before parse.
 
const std::vector< ImzMLSpectrumIndex > & getIndex () const noexcept
 Per-spectrum binary index built during parse (one entry per spectrum).
 
void connectDecodeConsumer (Interfaces::IMSDataConsumer *downstream, bool append_spectra_to_map, bool decode_ibd=true)
 Wire ImzMLInterceptConsumer between MzMLHandler and an optional downstream consumer.
 
void startElement (const XMLCh *uri, const XMLCh *localname, const XMLCh *qname, const xercesc::Attributes &attrs) override
 
void endElement (const XMLCh *uri, const XMLCh *localname, const XMLCh *qname) override
 
- Public Member Functions inherited from MzMLHandler
 MzMLHandler (MapType &exp, const std::string &filename, const std::string &version, const ProgressLogger &logger)
 Constructor for a read-only handler.
 
 MzMLHandler (const MapType &exp, const std::string &filename, const std::string &version, const ProgressLogger &logger)
 Constructor for a write-only handler.
 
 ~MzMLHandler () override
 Destructor.
 
void endElement (const XMLCh *const, const XMLCh *const, const XMLCh *const qname) override
 Docu in base class XMLHandler::endElement.
 
void startElement (const XMLCh *const, const XMLCh *const, const XMLCh *const qname, const xercesc::Attributes &attributes) override
 Docu in base class XMLHandler::startElelement.
 
void characters (const XMLCh *const chars, const XMLSize_t length) override
 Docu in base class XMLHandler::characters.
 
void writeTo (std::ostream &os) override
 Docu in base class XMLHandler::writeTo.
 
void setOptions (const PeakFileOptions &opt)
 Set the peak file options.
 
PeakFileOptionsgetOptions ()
 Get the peak file options.
 
void getCounts (Size &spectra_counts, Size &chromatogram_counts)
 Get the spectra and chromatogram counts of a file.
 
void setMSDataConsumer (Interfaces::IMSDataConsumer *consumer)
 Set the IMSDataConsumer consumer which will consume the read data.
 
LOADDETAIL getLoadDetail () const override
 handler which support partial loading, implement this method
 
void setLoadDetail (const LOADDETAIL d) override
 handler which support partial loading, implement this method
 
- Public Member Functions inherited from XMLHandler
 XMLHandler (const std::string &filename, const std::string &version)
 Default constructor.
 
 ~XMLHandler () override
 Destructor.
 
void reset ()
 Release internal memory used for parsing (call.
 
void fatalError (const xercesc::SAXParseException &exception) override
 
void error (const xercesc::SAXParseException &exception) override
 
void warning (const xercesc::SAXParseException &exception) override
 
void fatalError (ActionMode mode, const std::string &msg, UInt line=0, UInt column=0) const
 Fatal error handler. Throws a ParseError exception.
 
void error (ActionMode mode, const std::string &msg, UInt line=0, UInt column=0) const
 Error handler for recoverable errors.
 
void warning (ActionMode mode, const std::string &msg, UInt line=0, UInt column=0) const
 Warning handler.
 
void characters (const XMLCh *const chars, const XMLSize_t length) override
 Parsing method for character data.
 
void startElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname, const xercesc::Attributes &attrs) override
 Parsing method for opening tags.
 
void endElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname) override
 Parsing method for closing tags.
 
DataValue cvParamToValue (const ControlledVocabulary &cv, const std::string &parent_tag, const std::string &accession, const std::string &name, const std::string &value, const std::string &unit_accession) const
 Convert the value of a <cvParam value=.> (as commonly found in PSI schemata) to the DataValue with the correct type (e.g. int) according to the type stored in the CV (usually PSI-MS CV), as well as set its unit.
 
DataValue cvParamToValue (const ControlledVocabulary &cv, const CVTerm &raw_term) const
 Convert the value of a <cvParam value=.> (as commonly found in PSI schemata) to the DataValue with the correct type (e.g. int) according to the type stored in the CV (usually PSI-MS CV), as well as set its unit.
 
void checkUniqueIdentifiers_ (const std::vector< ProteinIdentification > &prot_ids) const
 

Private Types

using CvPair = std::pair< std::string, std::string >
 

Private Member Functions

void handleIMSCvParam_ (const std::string &acc, const std::string &val)
 
void applyRefGroup_ (const std::string &id)
 

Private Attributes

FILE * ibd_ { nullptr }
 
ImzMLMeta meta_
 
bool in_spectrum_ { false }
 
bool in_scan_ { false }
 
bool in_bda_ { false }
 
uint32_t cur_x_ { 0 }
 
uint32_t cur_y_ { 0 }
 
uint32_t cur_z_ { 1 }
 
ArrayMeta cur_array_
 
ArrayMeta cur_mz_meta_
 
ArrayMeta cur_int_meta_
 
std::vector< SpecIMSspec_ims_
 IMS state per spectrum (document order)
 
std::vector< ImzMLSpectrumIndexindex_
 Full index for OnDiscImzMLExperiment.
 
std::unordered_map< std::string, std::vector< CvPair > > ref_groups_
 
std::string cur_ref_id_
 
bool in_ref_group_ { false }
 
bool decode_ibd_ { true }
 
bool cur_x_seen_ { false }
 
bool cur_y_seen_ { false }
 
std::unique_ptr< ImzMLInterceptConsumerdecode_bridge_
 

Friends

class ImzMLInterceptConsumer
 

Additional Inherited Members

- Public Types inherited from XMLHandler
enum  ActionMode { LOAD , STORE }
 Action to set the current mode (for error messages) More...
 
enum  LOADDETAIL { LD_ALLDATA , LD_RAWCOUNTS , LD_COUNTS_WITHOPTIONS }
 
- Static Public Member Functions inherited from XMLHandler
static std::string writeXMLEscape (const std::string &to_escape)
 Escapes a string and returns the escaped string.
 
static DataValue fromXSDString (const std::string &type, const std::string &value)
 Convert an XSD type (e.g. 'xsd:double') to a DataValue.
 
- Protected Types inherited from MzMLHandler
typedef MapType::PeakType PeakType
 Peak type.
 
typedef MapType::ChromatogramPeakType ChromatogramPeakType
 Chromatogram peak type.
 
typedef MSSpectrum SpectrumType
 Spectrum type.
 
typedef MSChromatogram ChromatogramType
 Spectrum type.
 
typedef MzMLHandlerHelper::BinaryData BinaryData
 
- Protected Member Functions inherited from MzMLHandler
void populateSpectraWithData_ ()
 Populate all spectra on the stack with data from input.
 
void populateChromatogramsWithData_ ()
 Populate all chromatograms on the stack with data from input.
 
void populateSpectraWithData_ (std::vector< MzMLHandlerHelper::BinaryData > &input_data, Size &length, const PeakFileOptions &peak_file_options, SpectrumType &spectrum)
 Fill a single spectrum with data from input.
 
void populateChromatogramsWithData_ (std::vector< MzMLHandlerHelper::BinaryData > &input_data, Size &length, const PeakFileOptions &peak_file_options, ChromatogramType &chromatogram)
 Fill a single chromatogram with data from input.
 
void fillChromatogramData_ ()
 Fills the current chromatogram with data points and meta data.
 
void handleCVParam_ (const std::string &parent_parent_tag, const std::string &parent_tag, const std::string &accession, const std::string &name, const std::string &value, const std::string &unit_accession="")
 Handles CV terms.
 
void handleUserParam_ (const std::string &parent_parent_tag, const std::string &parent_tag, const std::string &name, const std::string &type, const std::string &value, const std::string &unit_accession="")
 Handles user terms.
 
 MzMLHandler (const std::string &filename, const std::string &version, const ProgressLogger &logger)
 delegated constructor for the two public versions
 
void writeHeader_ (std::ostream &os, const MapType &exp, std::vector< std::vector< ConstDataProcessingPtr > > &dps, const Internal::MzMLValidator &validator)
 Write out XML header including (everything up to spectrumList / chromatogramList.
 
void writeSpectrum_ (std::ostream &os, const SpectrumType &spec, Size spec_idx, const Internal::MzMLValidator &validator, bool renew_native_ids, std::vector< std::vector< ConstDataProcessingPtr > > &dps)
 Write out a single spectrum.
 
void writeChromatogram_ (std::ostream &os, const ChromatogramType &chromatogram, Size chrom_idx, const Internal::MzMLValidator &validator)
 Write out a single chromatogram.
 
template<typename ContainerT >
void writeContainerData_ (std::ostream &os, const PeakFileOptions &pf_options_, const ContainerT &container, const std::string &array_type)
 
template<typename DataType >
void writeBinaryDataArray_ (std::ostream &os, const PeakFileOptions &options, std::vector< DataType > &data, bool is32bit, std::string array_type)
 Write a single <binaryDataArray> element to the output.
 
void writeBinaryFloatDataArray_ (std::ostream &os, const PeakFileOptions &options, const OpenMS::DataArrays::FloatDataArray &array, const Size spec_chrom_idx, const Size array_idx, bool is_spectrum, const Internal::MzMLValidator &validator)
 Write a single <binaryDataArray> element for a float data array to the output.
 
void writeUserParam_ (std::ostream &os, const MetaInfoInterface &meta, UInt indent, const std::string &path, const Internal::MzMLValidator &validator, const std::set< std::string > &exclude={}) const
 Writes user terms.
 
void writeSoftware_ (std::ostream &os, const std::string &id, const Software &software, const Internal::MzMLValidator &validator)
 Helper method that writes a software.
 
void writeSourceFile_ (std::ostream &os, const std::string &id, const SourceFile &software, const Internal::MzMLValidator &validator)
 Helper method that writes a source file.
 
void writeDataProcessing_ (std::ostream &os, const std::string &id, const std::vector< ConstDataProcessingPtr > &dps, const Internal::MzMLValidator &validator)
 Helper method that writes a data processing list.
 
void writePrecursor_ (std::ostream &os, const Precursor &precursor, const Internal::MzMLValidator &validator)
 Helper method that write precursor information from spectra and chromatograms.
 
void writeProduct_ (std::ostream &os, const Product &product, const Internal::MzMLValidator &validator)
 Helper method that write precursor information from spectra and chromatograms.
 
std::string writeCV_ (const ControlledVocabulary::CVTerm &c, const DataValue &metaValue) const
 Helper method to write an CV based on a meta value.
 
bool validateCV_ (const ControlledVocabulary::CVTerm &c, const std::string &path, const Internal::MzMLValidator &validator) const
 Helper method to validate if the given CV is allowed in the current location (path)
 
ControlledVocabulary::CVTerm getChildWithName_ (const std::string &parent_accession, const std::string &name) const
 Helper method to look up a child CV term of parent_accession with the name name. If no such term is found, an empty term is returned.
 
- Protected Member Functions inherited from XMLHandler
void writeUserParam_ (const std::string &tag_name, std::ostream &os, const MetaInfoInterface &meta, UInt indent) const
 Writes the content of MetaInfoInterface to the file.
 
Int asInt_ (const std::string &in) const
 Conversion of a std::string to an integer value.
 
Int asInt_ (const XMLCh *in) const
 Conversion of a Xerces string to an integer value.
 
UInt asUInt_ (const std::string &in) const
 Conversion of a std::string to an unsigned integer value.
 
double asDouble_ (const std::string &in) const
 Conversion of a std::string to a double value.
 
float asFloat_ (const std::string &in) const
 Conversion of a std::string to a float value.
 
bool asBool_ (const std::string &in) const
 Conversion of a string to a boolean value.
 
DateTime asDateTime_ (std::string date_string) const
 Conversion of a xs:datetime string to a DateTime value.
 
bool equal_ (const XMLCh *a, const XMLCh *b) const
 Returns if two Xerces strings are equal.
 
SignedSize cvStringToEnum_ (const Size section, const std::string &term, const char *message, const SignedSize result_on_error=0)
 
std::string attributeAsString_ (const xercesc::Attributes &a, const char *name) const
 Converts an attribute to a String.
 
Int attributeAsInt_ (const xercesc::Attributes &a, const char *name) const
 Converts an attribute to a Int.
 
double attributeAsDouble_ (const xercesc::Attributes &a, const char *name) const
 Converts an attribute to a double.
 
DoubleList attributeAsDoubleList_ (const xercesc::Attributes &a, const char *name) const
 Converts an attribute to a DoubleList.
 
IntList attributeAsIntList_ (const xercesc::Attributes &a, const char *name) const
 Converts an attribute to an IntList.
 
StringList attributeAsStringList_ (const xercesc::Attributes &a, const char *name) const
 Converts an attribute to an StringList.
 
bool optionalAttributeAsString_ (std::string &value, const xercesc::Attributes &a, const char *name) const
 Assigns the attribute content to the String value if the attribute is present.
 
bool optionalAttributeAsInt_ (Int &value, const xercesc::Attributes &a, const char *name) const
 Assigns the attribute content to the Int value if the attribute is present.
 
bool optionalAttributeAsUInt_ (UInt &value, const xercesc::Attributes &a, const char *name) const
 Assigns the attribute content to the UInt value if the attribute is present.
 
bool optionalAttributeAsDouble_ (double &value, const xercesc::Attributes &a, const char *name) const
 Assigns the attribute content to the double value if the attribute is present.
 
bool optionalAttributeAsDoubleList_ (DoubleList &value, const xercesc::Attributes &a, const char *name) const
 Assigns the attribute content to the DoubleList value if the attribute is present.
 
bool optionalAttributeAsStringList_ (StringList &value, const xercesc::Attributes &a, const char *name) const
 Assigns the attribute content to the StringList value if the attribute is present.
 
bool optionalAttributeAsIntList_ (IntList &value, const xercesc::Attributes &a, const char *name) const
 Assigns the attribute content to the IntList value if the attribute is present.
 
std::string attributeAsString_ (const xercesc::Attributes &a, const XMLCh *name) const
 Converts an attribute to a String.
 
Int attributeAsInt_ (const xercesc::Attributes &a, const XMLCh *name) const
 Converts an attribute to a Int.
 
double attributeAsDouble_ (const xercesc::Attributes &a, const XMLCh *name) const
 Converts an attribute to a double.
 
DoubleList attributeAsDoubleList_ (const xercesc::Attributes &a, const XMLCh *name) const
 Converts an attribute to a DoubleList.
 
IntList attributeAsIntList_ (const xercesc::Attributes &a, const XMLCh *name) const
 Converts an attribute to a IntList.
 
StringList attributeAsStringList_ (const xercesc::Attributes &a, const XMLCh *name) const
 Converts an attribute to a StringList.
 
bool optionalAttributeAsString_ (std::string &value, const xercesc::Attributes &a, const XMLCh *name) const
 Assigns the attribute content to the String value if the attribute is present.
 
bool optionalAttributeAsInt_ (Int &value, const xercesc::Attributes &a, const XMLCh *name) const
 Assigns the attribute content to the Int value if the attribute is present.
 
bool optionalAttributeAsUInt_ (UInt &value, const xercesc::Attributes &a, const XMLCh *name) const
 Assigns the attribute content to the UInt value if the attribute is present.
 
bool optionalAttributeAsDouble_ (double &value, const xercesc::Attributes &a, const XMLCh *name) const
 Assigns the attribute content to the double value if the attribute is present.
 
bool optionalAttributeAsDoubleList_ (DoubleList &value, const xercesc::Attributes &a, const XMLCh *name) const
 Assigns the attribute content to the DoubleList value if the attribute is present.
 
bool optionalAttributeAsIntList_ (IntList &value, const xercesc::Attributes &a, const XMLCh *name) const
 Assigns the attribute content to the IntList value if the attribute is present.
 
bool optionalAttributeAsStringList_ (StringList &value, const xercesc::Attributes &a, const XMLCh *name) const
 Assigns the attribute content to the StringList value if the attribute is present.
 
- Protected Attributes inherited from MzMLHandler
SpectrumType spec_
 The current spectrum.
 
ChromatogramType chromatogram_
 The current chromatogram.
 
std::vector< BinaryDatabin_data_
 The spectrum data (or chromatogram data)
 
Size default_array_length_
 The default number of peaks in the current spectrum.
 
bool in_spectrum_list_ { false }
 Flag that indicates that we're inside a spectrum (in contrast to a chromatogram)
 
bool skip_spectrum_ { false }
 Flag that indicates whether this spectrum should be skipped (e.g. due to options)
 
bool skip_chromatogram_ { false }
 Flag that indicates whether this chromatogram should be skipped (e.g. due to options)
 
bool rt_set_ { false }
 Remember whether the RT of the spectrum was set or not.
 
std::string current_id_
 Id of the current list. Used for referencing param group, source file, sample, software, ...
 
std::map< std::string, std::vector< SemanticValidator::CVTerm > > ref_param_
 The referencing param groups: id => array (accession, value)
 
std::map< std::string, SourceFilesource_files_
 The source files: id => SourceFile.
 
std::map< std::string, Samplesamples_
 The sample list: id => Sample.
 
std::map< std::string, Softwaresoftware_
 The software list: id => Software.
 
std::map< std::string, Instrumentinstruments_
 The data processing list: id => Instrument.
 
std::map< std::pair< std::string, std::string >, bool > cached_terms_
 CV terms-path-combinations that have been checked in validateCV_()
 
std::map< std::string, std::vector< DataProcessingPtr > > processing_
 The data processing list: id => Instrument.
 
std::string default_processing_
 id of the default data processing (used when no processing is defined)
 
UInt selected_ion_count_ { 0 }
 Count of selected ions.
 
std::vector< SpectrumDataspectrum_data_
 Vector of spectrum data stored for later parallel processing.
 
std::vector< ChromatogramDatachromatogram_data_
 Vector of chromatogram data stored for later parallel processing.
 
std::vector< std::pair< std::string, Int64 > > spectra_offsets_
 Stores binary offsets for each <spectrum> tag.
 
std::vector< std::pair< std::string, Int64 > > chromatograms_offsets_
 Stores binary offsets for each <chromatogram> tag.
 
const ProgressLoggerlogger_
 Progress logger.
 
Interfaces::IMSDataConsumerconsumer_ { nullptr }
 Consumer class to work on spectra.
 
UInt scan_count_ { 0 }
 number of scans which pass the options-filter
 
UInt chromatogram_count_ { 0 }
 number of chromatograms which pass the options-filter
 
Int scan_count_total_ { -1 }
 total number of scans in mzML file (according to 'count' attribute)
 
Int chrom_count_total_ { -1 }
 total number of chromatograms in mzML file (according to 'count' attribute)
 
const ControlledVocabularycv_
 Controlled vocabulary (psi-ms from OpenMS/share/OpenMS/CV/psi-ms.obo)
 
CVMappings mapping_
 
MapTypeexp_ { nullptr }
 map pointer for reading
 
const MapTypecexp_ { nullptr }
 map pointer for writing
 
PeakFileOptions options_
 Options that can be set for loading/storing.
 
- Protected Attributes inherited from XMLHandler
std::string file_
 File name.
 
std::string version_
 Schema version.
 
StringManager sm_
 Helper class for string conversion.
 
std::vector< std::string > open_tags_
 Stack of open XML tags.
 
LOADDETAIL load_detail_
 parse only until total number of scans and chroms have been determined from attributes
 
std::vector< std::vector< std::string > > cv_terms_
 Array of CV term lists (one sublist denotes one term and it's children)
 

Detailed Description

SAX2 handler for imzML 1.1.0 files, extending OpenMS MzMLHandler.

imzML (HUPO-PSI v1.1.0) stores MSI data across two files:

  • .imzML — mzML 1.1.0 XML with IMS ontology CV extensions
  • .ibd — raw binary companion (m/z and intensity arrays)

This handler extends MzMLHandler so that all standard mzML metadata (instrument, data processing, scan settings, RT, MS level) is parsed by the base class at no extra cost. Only the ~15 IMS:* CV terms that MzMLHandler does not know are intercepted here.

Delivery timing. MzMLHandler batches spectrum delivery: it calls consumeSpectrum on the registered IMSDataConsumer only after the entire <spectrumList> has been parsed. ImzMLHandler therefore records per-spectrum IMS state in spec_ims_ at endElement("spectrum") and uses a spectrum counter inside ImzMLInterceptConsumer to re-associate each delivered MSSpectrum with the correct IMS entry.

Usage. Do not use this class directly. Use ImzMLFile::load() or OnDiscImzMLExperiment::open() instead.

Inheritance diagram:

xercesc::DefaultHandler
└─ OpenMS::Internal::ImzMLHandlerthis class
└─ ImzMLInterceptConsumer : IMSDataConsumer
SAX2 handler for imzML 1.1.0 files, extending OpenMS MzMLHandler.
Definition ImzMLHandler.h:65
friend class ImzMLInterceptConsumer
Definition ImzMLHandler.h:66
Handler for mzML file format.
Definition MzMLHandler.h:94
Base class for XML handlers.
Definition XMLHandler.h:316

Class Documentation

◆ OpenMS::Internal::ImzMLHandler::SpecIMS

struct OpenMS::Internal::ImzMLHandler::SpecIMS
Collaboration diagram for ImzMLHandler::SpecIMS:
[legend]
Class Members
ArrayMeta int_meta
ArrayMeta mz_meta
uint32_t x {0}
uint32_t y {0}
uint32_t z {1}

Member Typedef Documentation

◆ CvPair

using CvPair = std::pair<std::string, std::string>
private

Constructor & Destructor Documentation

◆ ImzMLHandler() [1/2]

ImzMLHandler ( PeakMap exp,
const std::string &  filename,
const ProgressLogger logger 
)

Construct an ImzMLHandler.

Parameters
expPeakMap that receives ExperimentalSettings from MzMLHandler.
filenamePath to the .imzML file (for error messages and Xerces URI).
loggerProgressLogger inherited from the owning ImzMLFile.

◆ ~ImzMLHandler()

~ImzMLHandler ( )
override

Closes the .ibd FILE* if open.

◆ ImzMLHandler() [2/2]

ImzMLHandler ( const ImzMLHandler )
delete

Member Function Documentation

◆ applyRefGroup_()

void applyRefGroup_ ( const std::string &  id)
private

◆ connectDecodeConsumer()

void connectDecodeConsumer ( Interfaces::IMSDataConsumer downstream,
bool  append_spectra_to_map,
bool  decode_ibd = true 
)

Wire ImzMLInterceptConsumer between MzMLHandler and an optional downstream consumer.

Decodes .ibd peak data when spectra are delivered. When append_spectra_to_map is true, decoded spectra are also appended to the bound PeakMap.

◆ endElement()

void endElement ( const XMLCh uri,
const XMLCh localname,
const XMLCh qname 
)
override

◆ getImzMLMeta() [1/2]

const ImzMLMeta & getImzMLMeta ( ) const
inlinenoexcept

Imaging metadata accumulated during SAX parse (read after parse_() returns).

◆ getImzMLMeta() [2/2]

ImzMLMeta & getImzMLMeta ( )
inlinenoexcept

Non-const access for ImzMLFile to set the .ibd path before parse.

◆ getIndex()

const std::vector< ImzMLSpectrumIndex > & getIndex ( ) const
inlinenoexcept

Per-spectrum binary index built during parse (one entry per spectrum).

◆ handleIMSCvParam_()

void handleIMSCvParam_ ( const std::string &  acc,
const std::string &  val 
)
private

◆ openIBD()

void openIBD ( const std::string &  ibd_path)

Open the companion .ibd file for random-access binary reads.

Must be called before parse_() when peak data is needed. When loading metadata only (no IBD), skip this call.

Parameters
ibd_pathAbsolute path to the .ibd file.
Exceptions
Exception::FileNotFoundif the file cannot be opened.

◆ operator=()

ImzMLHandler & operator= ( const ImzMLHandler )
delete

◆ startElement()

void startElement ( const XMLCh uri,
const XMLCh localname,
const XMLCh qname,
const xercesc::Attributes &  attrs 
)
override

Friends And Related Symbol Documentation

◆ ImzMLInterceptConsumer

friend class ImzMLInterceptConsumer
friend

Member Data Documentation

◆ cur_array_

ArrayMeta cur_array_
private

◆ cur_int_meta_

ArrayMeta cur_int_meta_
private

◆ cur_mz_meta_

ArrayMeta cur_mz_meta_
private

◆ cur_ref_id_

std::string cur_ref_id_
private

◆ cur_x_

uint32_t cur_x_ { 0 }
private

◆ cur_x_seen_

bool cur_x_seen_ { false }
private

◆ cur_y_

uint32_t cur_y_ { 0 }
private

◆ cur_y_seen_

bool cur_y_seen_ { false }
private

◆ cur_z_

uint32_t cur_z_ { 1 }
private

◆ decode_bridge_

std::unique_ptr<ImzMLInterceptConsumer> decode_bridge_
private

◆ decode_ibd_

bool decode_ibd_ { true }
private

◆ ibd_

FILE* ibd_ { nullptr }
private

◆ in_bda_

bool in_bda_ { false }
private

◆ in_ref_group_

bool in_ref_group_ { false }
private

◆ in_scan_

bool in_scan_ { false }
private

◆ in_spectrum_

bool in_spectrum_ { false }
private

◆ index_

std::vector<ImzMLSpectrumIndex> index_
private

Full index for OnDiscImzMLExperiment.

◆ meta_

ImzMLMeta meta_
private

◆ ref_groups_

std::unordered_map<std::string, std::vector<CvPair> > ref_groups_
private

◆ spec_ims_

std::vector<SpecIMS> spec_ims_
private

IMS state per spectrum (document order)