OpenMS
Loading...
Searching...
No Matches
ImzMLSpectrumIndex Struct Reference

Per-spectrum binary index entry for an imzML dataset. More...

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

Collaboration diagram for ImzMLSpectrumIndex:
[legend]

Public Types

enum class  DataType : uint8_t {
  FLOAT32 , FLOAT64 , INT32 , INT64 ,
  UNKNOWN
}
 Scalar type identifier for binary array elements. More...
 

Public Attributes

int32_t index {0}
 0-based document order
 
uint32_t x {0}
 Pixel column (1-based, IMS:1000050)
 
uint32_t y {0}
 Pixel row (1-based, IMS:1000051)
 
uint32_t z {1}
 Depth slice (1-based, IMS:1000052)
 
uint64_t mz_offset {0}
 Byte offset of m/z array (IMS:1000102)
 
uint64_t mz_length {0}
 Element count (IMS:1000103)
 
DataType mz_type {DataType::UNKNOWN}
 
uint64_t int_offset {0}
 Byte offset of intensity array.
 
uint64_t int_length {0}
 Element count.
 
DataType int_type {DataType::UNKNOWN}
 

Detailed Description

Per-spectrum binary index entry for an imzML dataset.

Records the byte offset and element count for both the m/z and intensity arrays in the companion .ibd file, together with the pixel (x,y,z) coordinates. Built during ImzMLHandler parsing and stored inside OnDiscImzMLExperiment so that random-access spectrum decoding requires only a single fseek + fread per call.

Member Enumeration Documentation

◆ DataType

enum class DataType : uint8_t
strong

Scalar type identifier for binary array elements.

Enumerator
FLOAT32 
FLOAT64 
INT32 
INT64 
UNKNOWN 

Member Data Documentation

◆ index

int32_t index {0}

0-based document order

◆ int_length

uint64_t int_length {0}

Element count.

◆ int_offset

uint64_t int_offset {0}

Byte offset of intensity array.

◆ int_type

◆ mz_length

uint64_t mz_length {0}

Element count (IMS:1000103)

◆ mz_offset

uint64_t mz_offset {0}

Byte offset of m/z array (IMS:1000102)

◆ mz_type

◆ x

uint32_t x {0}

Pixel column (1-based, IMS:1000050)

◆ y

uint32_t y {0}

Pixel row (1-based, IMS:1000051)

◆ z

uint32_t z {1}

Depth slice (1-based, IMS:1000052)