| .github | |
| public | |
| scripts | |
| src | |
| test-data | |
| .gitignore | |
| CLAUDE.md | |
| index.html | |
| package-lock.json | |
| package.json | |
| README.md | |
| tsconfig.app.json | |
| tsconfig.json | |
| tsconfig.node.json | |
| vite.config.ts |
seqlab#
Write pulseq 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, 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
+mrpackage preloaded; press Run and watch the console stream. Scripts download as.mfiles 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/greetc.
Development#
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 is developed at the University Medical Center Freiburg and is MIT-licensed. This project is not affiliated with the pulseq developers.