Free instrument-data tool

FTIR data files, read and analyzed — free

How FTIR spectra are stored (Bruker OPUS, Nicolet .RAW, JCAMP-DX), how to read/convert them — upload to Matflow free, or parse in Python.

Formats: Bruker .0 (OPUS), Thermo/Nicolet .RAW/.SPS, JCAMP-DX .jdx, CSV exports · For: Chemistry & materials labs

The format

What the format actually is

Where the data hides, and what a naive parser loses.

FTIR vendors each ship a container: Bruker OPUS (binary blocks with instrument/sample metadata), Nicolet OMNIC .RAW, and the open JCAMP-DX as the portable option.

OPUS files are block-structured (instrument status, sample params, data arrays) — the community brukeropus reader maps them, and the metadata blocks are where units and resolution hide.

Most labs then do the same five operations: baseline correct, smooth, normalise, pick peaks, compare against a library — each currently living in a different vendor tool.

Watch out

Vendor quirks that break naive parsers

Each of these has produced a silently wrong number in a real workflow.

OPUS block names vary by model generation; parsers dispatch on block type IDs.
Nicolet .RAW comes in granular/interferogram/spectrum flavours — a spectrum loader may refuse interferograms (or should).
ATR correction is a processing choice that must be recorded, or spectra aren't comparable across instruments.
Open source

Do it yourself in Python

We would rather you succeed with or without us. The open-source path:

brukeropus or legacy "opus-reader" snippets for OPUS; spectrochempy handles several vendors with a unified API.
jcamp for the JCAMP exports — the reliable cross-vendor path.
Baseline: asymmetric least squares (ALS) is the standard for noisy ATR spectra; numpy/scipy implement it in ~15 lines.
Upload path

What happens if you use Matflow

The parser is only step one — the value is the review and the provenance that follow.

01

Upload on the Ingestion page

Excel, CSV, PDF, SDS images and instrument files are parsed into evidence-tagged rows — the original file is retained as provenance.

02

Review before promotion

Column roles and types are proposed for a reason; correcting a mislabeled column here is the highest-leverage five minutes in the workflow.

03

Promote to a governed dataset

The accepted rows become a versioned dataset any stage can use — every row keeps its source and extraction status.

Docs: ingestion & extraction · column roles · instrument parsers

Stop parsing by hand

Upload your Bruker .0 file to Matflow and it lands as a governed, validated dataset — original file preserved as provenance, every column documented. Free tier, no card.