Expand description
SDK-free Bruker timsTOF axis calibration.
Pure-Rust ports of the calibration formulas Bruker publishes for the TDF
format, so that TOF-index -> m/z and scan -> 1/K0 can be computed without
loading the proprietary libtimsdata SDK. The algorithms mirror the
implementation in PAPPSO’s GPL library libpappsomspp
(mzcalibrationmodel1.cpp, timsframebase.cpp); the coefficient meanings
are cross-checked against Bruker’s own tims_calibration.py reference.
Two independent models are involved, each carrying its own ModelType:
- m/z :
MzCalibrationtable (this data set: ModelType 2) - 1/K0 :
TimsCalibrationtable (this data set: ModelType 2)
IMPORTANT (m/z): PAPPSO only implements m/z ModelType 1. Modern instruments
write ModelType 2, whose first coefficients (C0,C1) still describe the same
t = C0 + sqrt(1e12/C1)*sqrt(m) base curve, but which adds a degree-6
correction polynomial (C8..C14) that neither PAPPSO nor this module models.
We therefore reproduce the base curve exactly (few-ppm agreement with the
SDK) and, for genuine ModelType-1 data, the full cubic-in-sqrt(m) curve.
Structs§
- Mobility
Calibrator - Ion-mobility axis calibration (Bruker “model type 2”, the only TIMS model).
- MzCalibrator
- m/z axis calibration (Bruker “model type 1” base curve + optional cubic).