Bruker OPUS¶
Status: Supported (scoped) · Vendor: Bruker · Extensions: native numeric (
.0,.1,.001,.0000, often no fixed extension);.dptASCII export
OPUS is Bruker’s native FT-IR / FT-NIR / Raman file format, written by the OPUS
software that ships with Bruker spectrometers. A single OPUS file is a binary
container that can hold several related blocks (absorbance, reflectance, raw
sample/reference single-beam spectra, interferograms and phase) for one
acquisition. nirs4all-formats reads modern OPUS binaries and the two-column .dpt
text export.
Instruments & software¶
Produced by Bruker OPUS software across the FT-NIR and FT-IR ranges — e.g. MPA /
MPA II, Tango, Matrix, Vertex and Alpha. The committed corpus includes Bruker
MPA soil fixtures (AfSIS). .dpt is the plain ASCII export OPUS can write for
interchange.
File structure¶
Native binary — detected by binary magic (
0a 0a fe fe), never by extension; OPUS files commonly use numeric extensions such as.0or.001. The layout is a header + a directory of typed blocks: parameter blocks (integer/float/string) and data blocks, with each data block paired to a matching data-status parameter block that carries its axis bounds and scaling..dptexport — two-column ASCII (wavenumber, value); the wavenumber axis is incm⁻¹.
What nirs4all-formats extracts¶
Signals — one
SpectralRecordper file with asignalsmap using semantic names rather than OPUS abbreviations:absorbance,reflectance,sample_spectrum,reference_spectrum,sample_interferogram,reference_interferogram,sample_phase,matchandmatch_2chwhen present. Duplicate block names get stable suffixes (e.g.absorbance_2).Axis — generated from the data-status
FXV/LXVbounds andNPTpoint count, withCSFscaling andNPTtrimming applied.DXU=MINaxes are typed asAxisKind::Time.Metadata — header/directory under
bruker_opus; per-signal data-status parameters underbruker_opus_signal_params; other parameter blocks underbruker_opus_params.Provenance & warnings — unsupported or unpaired data blocks are preserved as provenance warnings rather than dropped.
Variants & support status¶
Variant |
Status |
Notes |
|---|---|---|
OPUS 7/8 native, MPA |
Supported |
New magic, directory, parameter + 1D data/status blocks. |
Multi-signal acquisition |
Supported |
Absorbance, reflectance, sample/reference spectra, interferograms, phase. |
|
Supported |
Two-column, |
Bruker Tango / Matrix native |
Planned |
MPA is covered; dedicated Tango/Matrix fixtures still wanted. |
OPUS 5/6 legacy (old magic |
Blocked |
The sniff emits a |
3D / time-resolved series, imaging, report tables |
Out of scope (v1) |
Not decoded yet. |
Limitations & known gaps¶
Old-magic (OPUS 5/6) files are deliberately refused rather than mis-routed.
3D/time-resolved data series, image blocks and report/subreport tables are not decoded; quantitative report values are not yet promoted into
targets.Full parameter-label expansion and typed promotion of sample properties are pending.
Reference readers¶
Cross-checked against brukeropus (used as the naming/order reference for
duplicate 1D blocks), opusFC (directory content and primary arrays),
brukeropusreader, opusreader2 (spectral-cockpit) and SpectroChemPy.
Samples & validation¶
The full samples/bruker_opus/ corpus is golden-backed, with direct semantic
tests over cross-reader fixtures from opusreader2, opusreader, brukeropus,
SpectroChemPy and AfSIS Bruker MPA. Spot-checked control values include
617262_1TP_C-1_A5.0 (absorbance first X 7497.697861, first Y 0.552472949)
and test_spectra.0 (reflectance first X 7498.291691, first Y 0.524343193).
Readers disagree on some older or report-like blocks; those are tracked as
provenance warnings. Full-array external conformance scripts are listed as next
work in docs/CONFORMANCE.md.