Skip to main content

Jupyter widgets to visualize images in 2D and 3D

Project description

License PyPI Build status https://mybinder.org/badge.svg

Interactive Jupyter widgets to visualize images in 2D and 3D.

itk-jupyter-widgets chest CT in JupyterLab

These widgets are designed to support image analysis with the Insight Toolkit (ITK), but they also work with other spatial analysis tools in the scientific Python ecosystem.

These widgets are built on itk.js and vtk.js.

itk-jupyter-widgets demo

Examples on Binder

Data types:

Tasks:

Installation

To install the widgets for the Jupyter Notebook:

pip install itkwidgets

For Jupyter Lab, additionally run:

jupyter labextension install @jupyter-widgets/jupyterlab-manager itk-jupyter-widgets

Usage

In Jupyter, import the view function:

from itkwidgets import view

Then, call the view function at the end of a cell, passing in the image to examine:

view(image)

For information on additional options, see the view function docstring:

view?

Advanced Usage

The itk-jupyter-widgets are based on ipywidgets. As a consequence, widgets traits can be queried, assigned, or observed with the viewer object returned by the view function. itk-jupyter-widgets can be combined with other ipywidgets to quickly explore algorithm parameters, create graphical interfaces, or create data visualization dashboards.

Mouse Controls

Left click + drag

Rotate

Right click + drag or shift + left click + drag

Pan

Mouse wheel or control + left click + drag or pinch

Zoom

Alt + left click + drag left-right

Change color transfer function window

Shift + left click + drag top-bottom

Change color transfer function level

Shift + alt + left click + drag top-bottom

Change primary Gaussian volume opacity transfer function magnitude

Keyboard Shortcuts

Keyboard shortcuts take effect when the mouse is positioned inside the viewer. All shortcuts are prefixed with Alt+. Corresponding keys for the Dvorak keyboard layout have the same effect.

Alt + 1

X-plane mode

Alt + 2

Y-plane mode

Alt + 3

Z-plane mode

Alt + 4

Volume rendering mode

Alt + q

Toggle user interface

Alt + w

Toggle region of interest (ROI) selection widget

Alt + e

Reset ROI

Alt + r

Reset camera

Alt + s

Toggle slicing planes in volume rendering mode

Alt + f

Toggle fullscreen

Examples

After installation, try the following examples that demonstrate how to visualize:

or how to:

Troubleshooting

If you experience the notebook warning:

IOPub data rate exceeded.
The notebook server will temporarily stop sending output
to the client in order to avoid crashing it.
To change this limit, set the config variable
`--NotebookApp.iopub_data_rate_limit`.

Set the notebook configuration value:

jupyter notebook --NotebookApp.iopub_data_rate_limit=1e12

Hacking

Participation is welcome! For a development installation (requires Node.js):

git clone https://github.com/InsightSoftwareConsortium/itk-jupyter-widgets.git
cd itk-jupyter-widgets
python -m pip install -r requirements-dev.txt -r requirements.txt
python -m pip install -e .
jupyter nbextension install --py --symlink --sys-prefix itkwidgets
jupyter nbextension enable --py --sys-prefix itkwidgets
jupyter nbextension enable --py --sys-prefix widgetsnbextension
python -m pytest

The above commands will setup your system for development with the Jupyter Notebook. To develop for Jupyter Lab, additionally run:

jupyter labextension install @jupyter-widgets/jupyterlab-manager
jupyter labextension install ./js

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

itkwidgets-0.13.0.tar.gz (2.4 MB view details)

Uploaded Source

Built Distribution

itkwidgets-0.13.0-py2.py3-none-any.whl (4.0 MB view details)

Uploaded Python 2 Python 3

File details

Details for the file itkwidgets-0.13.0.tar.gz.

File metadata

  • Download URL: itkwidgets-0.13.0.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.5

File hashes

Hashes for itkwidgets-0.13.0.tar.gz
Algorithm Hash digest
SHA256 075d4458e08580363be339f47449e87298c91a810f895866b018553f56eaffad
MD5 8ab08cff8f68dc36bf75fc79b0a2b407
BLAKE2b-256 4fe0d990cf1c7ccfd9e398fe9f522cb64dd48fb0adfcadda7c3a5ad7bcea20ef

See more details on using hashes here.

File details

Details for the file itkwidgets-0.13.0-py2.py3-none-any.whl.

File metadata

  • Download URL: itkwidgets-0.13.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.5

File hashes

Hashes for itkwidgets-0.13.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5d50be1f3ec24b826fe620e8ebc664d5e799b76a70e560983f026bdfda989f3d
MD5 767166f28b43d112d8e58414b07b897f
BLAKE2b-256 90e2680cde0d0403e9a25a6fee5424e93679e530a2ded3a127a92dfe1b689878

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page