# seqlab Write [pulseq](https://pulseq.github.io/) MRI pulse sequences in MATLAB syntax, run them entirely in your browser, and explore the resulting `.seq` files in an interactive viewer. No MATLAB, no installation — the unmodified pulseq `+mr` toolbox executes on [numbl](https://numbl.org), a MATLAB-compatible runtime that runs in a web worker, and produces `.seq` files byte-identical to desktop MATLAB (including the md5 signature). Also works as a plain `.seq` viewer: drop any pulseq 1.4/1.5 file onto the page and it is parsed instantly in JavaScript — no script run needed. ## Features - **Script workspace** — MATLAB editor (CodeMirror) with the pulseq `+mr` package preloaded; press Run and watch the console stream. Scripts download as `.m` files that run unchanged in desktop MATLAB. - **Interactive timeline** — RF magnitude/phase, gx/gy/gz, and ADC lanes with synchronized zoom/pan down to microsecond detail; click any block to inspect its events numerically. - **Sequence report** — definitions, duration, event counts, peak gradient and slew, and md5 signature verification. - **Examples gallery** — FID, EPI, and gradient-echo demos adapted from pulseq's `demoSeq`, linkable as `#example/gre` etc. ## Development ```sh npm install npm run dev # local dev server npm run engine-test # headless: run the FID demo, byte-compare vs MATLAB golden npm run parser-test # .seq parser + reconstruction checks vs golden files node scripts/run-example.mjs gre # run any example headlessly, timed ``` The pulseq `+mr` tree is vendored under `src/engine/pulseq/` (MIT, see the LICENSE there); re-sync it from a pulseq checkout with `npm run vendor-pulseq`. ## Credits [pulseq](https://github.com/pulseq/pulseq) is developed at the University Medical Center Freiburg and is MIT-licensed. This project is not affiliated with the pulseq developers.