Skip to main content

SeqEyes — Interactive Pulseq MRI Sequence Viewer for Python

SeqEyes is a lightweight Python package that provides interactive visualization of Pulseq text (.seq) and binary (.bseq) MRI sequences in Jupyter notebooks. It works as a drop‑in replacement for pypulseq.Sequence.plot(), rendering an interactive viewer directly in Jupyter notebook cell output — just like Plotly.

Features

  • 🎛️ Interactive waveform viewer — zoom, pan, per‑channel amplitude zoom
  • 📍 Tooltip with block details (RF amplitude, gradient strength, ADC params)
  • 🗺️ 3D k‑space trajectory viewer — rotate, zoom, depth‑sorted rendering
  • 🎨 8 colour themes — system, light, dark, dracula, nord, and more
  • 📏 Unit conversion — time (s / ms / µs), gradient (Hz/m / mT/m / G/cm)
  • 📐 Minimap with TR/TE overlay and viewport indicator
  • 💾 Export to standalone HTML — shareable, no Python needed
  • 🔌 Drop‑in pypulseq integrationseq.plot() just works

Installation

pip install seqeyes-python

For pypulseq integration:

pip install seqeyes-python[pypulseq]

Quick Start

import seqeyes

# Enable SeqEyes (once per session) — seq.plot() is now interactive
seqeyes.set(theme="dark", time_disp="ms")

# Build your sequence with pypulseq as usual
seq.plot()                          # interactive viewer in Jupyter
seq.plot(show_blocks=True)          # per‑call overrides
seq.plot(time_range=(0, 0.05))      # zoom to first 50 ms

# Restore matplotlib at any time
seqeyes.reset()

In a plain .py script (no Jupyter), seq.plot() opens the viewer in a desktop pop‑up window (requires pywebview) or falls back to your default browser.

Using without pypulseq

from seqeyes import SeqEyesViewer

with open('my_sequence.seq') as f:
    viewer = SeqEyesViewer(f.read(), theme="dark")

viewer  # renders inline in Jupyter

Open either supported file format directly:

from seqeyes import SeqEyesViewer

SeqEyesViewer.from_file("my_sequence.seq", theme="dark")
SeqEyesViewer.from_file("my_sequence.bseq", theme="dark")

API Reference

Function Description
seqeyes.set(**kwargs) Enable SeqEyes and set global defaults (theme, show_blocks, time_disp, grad_disp, time_range)
seqeyes.reset() Restore matplotlib seq.plot() and clear all defaults
SeqEyesViewer(source, ...) Low-level viewer for raw .seq text or .bseq bytes
SeqEyesViewer.from_file(path, ...) Open a local .seq or .bseq file without pypulseq

Viewer Controls

Action How
Zoom Scroll wheel
Pan Click + drag
Amplitude zoom (per channel) Ctrl + scroll wheel
Tooltip Hover over waveform
Toggle channels Click legend labels
K‑Space viewer Click "K‑Space" button
Rotate k‑space Click + drag in panel
Minimap navigation Click on minimap strip
Open another file 📂 Open button

Requirements

  • Python ≥ 3.9
  • numpy ≥ 1.21
  • pypulseq ≥ 1.4 (optional, for seq.plot() integration)
  • pywebview ≥ 5 (optional, for native desktop pop‑up windows)

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

seqeyes_python-0.2.11.tar.gz (600.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

seqeyes_python-0.2.11-py3-none-any.whl (97.7 kB view details)

Uploaded Python 3

File details

Details for the file seqeyes_python-0.2.11.tar.gz.

File metadata

  • Download URL: seqeyes_python-0.2.11.tar.gz
  • Upload date:
  • Size: 600.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for seqeyes_python-0.2.11.tar.gz
Algorithm Hash digest
SHA256 7ae98223de9f67d3650949e56bc7e1315305fa02cd5b1acb8624a87c55ae006b
MD5 34c8bba302ef4af68013842ae6b4618b
BLAKE2b-256 01443b9ab188b3368c725217afaf71c5687a45d592bc5d3ac0cefa56edf4c168

See more details on using hashes here.

Provenance

The following attestation bundles were made for seqeyes_python-0.2.11.tar.gz:

Publisher: publish.yml on bughht/seqeyes_plugin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file seqeyes_python-0.2.11-py3-none-any.whl.

File metadata

  • Download URL: seqeyes_python-0.2.11-py3-none-any.whl
  • Upload date:
  • Size: 97.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for seqeyes_python-0.2.11-py3-none-any.whl
Algorithm Hash digest
SHA256 5f3e651fac66153c6128ba2d6f4dd54cadff0ebaf50caf06d83c102898f967e9
MD5 87b7b0c19148d402192694f4d6e3b70a
BLAKE2b-256 4d37003c2fa44b16086ae77f9c821219792366e3efc7a1d5982c9c266e0b26a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for seqeyes_python-0.2.11-py3-none-any.whl:

Publisher: publish.yml on bughht/seqeyes_plugin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.3.8

2 files

0.3.7

2 files

0.3.6

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.13

2 files

0.2.12

2 files

This release

0.2.11 This release

2 files

0.2.10

2 files

0.2.9

2 files

0.2.8

2 files

0.2.7

2 files

0.2.6

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page