Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

JupyterLab NiiVue

WebGPU/WebGL2 medical image viewer for JupyterLab

A JupyterLab extension that uses NiiVue to display neuroimaging files directly in JupyterLab. View NIfTI files, meshes, tractography, and DICOM images with an interactive, hardware-accelerated viewer integrated into your JupyterLab environment.

Installation

Install the extension using pip:

pip install jupyterlab-niivue

Usage

Opening Files

  1. File Browser: Simply double-click any supported neuroimaging file in the JupyterLab file browser
  2. Right-click Menu: Right-click on a file and select "Open With" → "NiiVue Viewer"
  3. Compare Multiple Files: Select multiple files (2 or more), right-click, and choose "Compare in NiiVue" to view them side-by-side in a multi-panel layout

Saving Scenes and Figures

NVDocument in the menu bar saves the selected tile as a NiiVue scene document (.nvd, or readable .nvd.json with Save as JSON): its images with their display settings and the view. Screenshot saves the visible tiles as a PNG. Both ask for a path in the workspace, starting in the opened file's folder. Double-click a .nvd in the file browser to open the scene again, or use NVDocument > Load.

Screenshots

Default view showing a brain volume opened in JupyterLab with the NiiVue viewer

Multiple images opened in compare view

Keyboard Shortcuts

Mouse Controls

  • Right Mouse: Drag to adjust contrast/brightness (windowing); when Zoom button is pressed, drag to zoom
  • Middle Mouse: Drag to pan
  • Mouse Scroll: Change slice in currently hovered image
  • Shift + Mouse: 2D dragging and 3D viewplane rotation

Navigation

  • ← →: Change volume in 4D image
  • V: Cycle through view modes
  • C: Cycle through clip plane orientations in 3D render

Crosshair Movement

  • H: Move crosshair to L (Left)
  • L: Move crosshair to R (Right)
  • J: Move crosshair to P (Posterior)
  • K: Move crosshair to A (Anterior)
  • Ctrl+U: Move crosshair to S (Superior)
  • Ctrl+D: Move crosshair to I (Inferior)

Supported Formats

NiiVue can open several formats popular with brain imaging:

Requirements

  • JupyterLab >= 4.0.0
  • A modern web browser with WebGPU or WebGL2 support (Chrome, Firefox, Edge, Safari)

Troubleshooting

Extension not appearing

If the extension doesn't appear after installation, try:

jupyter labextension list

You should see jupyterlab-niivue in the list. If not, try rebuilding JupyterLab:

jupyter lab build

Files not opening

If files don't open when double-clicked:

  1. Check that the file format is supported (see list above)
  2. Try right-clicking the file and selecting "Open With" → "NiiVue Viewer"
  3. Check the browser console for any error messages

Development

This extension is part of the NiiVue monorepo. Contributions are welcome!

If you encounter issues or have feature requests, please open an issue on GitHub.

Citation

If you use this extension in published work, please cite:

Eckstein K, Androulakis A, Dao TT, et al. Seamless neuroimaging visualization: The NiiVue wrapper ecosystem. Aperture Neuro. 2026;6. doi:10.52294/001c.167815

Support This Project

If you find this extension useful, please consider supporting its development through a financial contribution:

License

BSD-2-Clause

Credits

  • Built with NiiVue
  • Part of Neurodesk, a flexible and scalable data analysis environment for reproducible neuroimaging
  • Part of the NiiVue ecosystem for neuroimaging visualization

Release files for jupyterlab-niivue 0.3.0.dev160

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jupyterlab-niivue 0.3.0.dev160
File Size Uploaded
jupyterlab_niivue-0.3.0.dev160.tar.gz 4.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for jupyterlab-niivue 0.3.0.dev160
File Interpreter ABI Platform
jupyterlab_niivue-0.3.0.dev160-py3-none-any.whl Python 3 none any Details

Total release size: 11.4 MB

Release files / jupyterlab_niivue-0.3.0.dev160.tar.gz

Download URL jupyterlab_niivue-0.3.0.dev160.tar.gz
Size 4.0 MB
Tags Source
SHA-256 checksum
How to use checksums
a02833a55b4dca0ccaf2e053dbfb5bd57a8287884f3370743ac96c0d43d5c6aa
BLAKE2b-256 checksum
How to use checksums
d745b9abf10147aac5e88b236051a0e697936ce40f0def04acfdd7b0d42714f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / jupyterlab_niivue-0.3.0.dev160-py3-none-any.whl

Download URL jupyterlab_niivue-0.3.0.dev160-py3-none-any.whl
Size 7.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
fcc907ccbd055e8989e0ee2df065b1aafe6600d168cb14129c535d66759427cb
BLAKE2b-256 checksum
How to use checksums
203444337068fc37bfd0bd02e23b44f3b5540e754931796b2a9e9564a387c0b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release history Release notifications | RSS feed

This release

0.3.0.dev160 This release

2 release files

0.2.7

2 release files

0.2.5

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

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