Changelog
The canonical changelog lives at
CHANGELOG.md
in the repository root. The notes below mirror the latest state.
Unreleased
Not yet published to crates.io or PyPI.
- Initial Rust reader (
openszraw) for Shimadzu LabSolutions raw data, covering.qgdGC-MS (full-scan profile and MRM/targeted acquisition),.lcdIT-TOF (run-length-encoded profile spectra, calibrated to physical m/z), and.lcdQTOF (centroid). - Full CFBF/OLE2 stream catalog and per-format payload decoding, documented in Format specification.
examples/corpus_scan.rsfor running the reader across a full local corpus and reporting per-file pass/fail and spectrum counts.- Python bindings via a new
openszraw-pyPyO3 crate, exposingRawReaderandSpectrumto mirror the sibling readers' Python API (see Python API). Not yet packaged for PyPI.
Fixed
- IT-TOF (
.lcdTTFL)mznow reports calibrated physical m/z instead of the raw digitizer/time-bin index, using a per-file calibration parsed from the file's ownTTFL Tuning/Tuning Result NNstream. See Format specification for the derivation.
Known limitations
- IT-TOF per-channel polarity/MS-level is not resolved; every TTFL
spectrum reports
ms_level = 1andpolarity = None. - QTOF MS2 spectra carry a precursor reference but not a decoded
precursor m/z (
QTFL RawData/DDAis not yet decoded). .qgdpolarity is not populated; no polarity bit has been found in the scan header orSpectrum Indexstream.- PDA/chromatogram stream decoding (bit-packed delta encoding) is not yet solved.
See Known limitations for the full detail behind each of these.