Skip to main content

Jupyter widgets to visualize images in 2D and 3D

Project description

itk-jupyter-widgets
===================

.. image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg
:target: https://github.com/InsightSoftwareConsortium/itk-jupyter-widgets/blob/master/LICENSE
:alt: License

.. image:: https://img.shields.io/pypi/v/itkwidgets.svg
:target: https://pypi-hypernode.com/pypi/itkwidgets
:alt: PyPI

.. image:: https://circleci.com/gh/InsightSoftwareConsortium/itk-jupyter-widgets.svg?style=shield
:target: https://circleci.com/gh/InsightSoftwareConsortium/itk-jupyter-widgets
:alt: Build status

.. image:: https://mybinder.org/badge.svg
:target: https://mybinder.org/v2/gh/InsightSoftwareConsortium/itk-jupyter-widgets/master?filepath=examples%2F3DImage.ipynb

Interactive `Jupyter <https://jupyter.org/>`_ widgets to visualize images in 2D and 3D.

.. image:: https://i.imgur.com/d8aXycW.png
:width: 800px
:alt: itk-jupyter-widgets chest CT in JupyterLab

These widgets are designed to support image analysis with the `Insight Toolkit
(ITK) <https://itk.org/>`_, but they also work with other spatial analysis tools
in the scientific Python ecosystem.

These widgets are built on
`itk.js <https://github.com/InsightSoftwareConsortium/itk-js>`_ and
`vtk.js <https://github.com/Kitware/vtk-js>`_.

.. image:: https://thumbs.gfycat.com/ShyFelineBeetle-size_restricted.gif
:width: 640px
:alt: itk-jupyter-widgets demo
:align: center

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

Examples
--------

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

- `2D ITK Images <https://github.com/InsightSoftwareConsortium/itk-jupyter-widgets/blob/master/examples/2DImage.ipynb>`_
- `3D ITK Images <https://github.com/InsightSoftwareConsortium/itk-jupyter-widgets/blob/master/examples/3DImage.ipynb>`_
- `Dask Array images <https://github.com/InsightSoftwareConsortium/itk-jupyter-widgets/blob/master/examples/DaskArray.ipynb>`_
- `ImageJ ImgLib2 images <https://github.com/InsightSoftwareConsortium/itk-jupyter-widgets/blob/master/examples/ImageJImgLib2.ipynb>`_ (requires `conda <https://conda.io/>`_ and a local `Fiji <https://fiji.sc/>`_ installation)
- `NumPy array images <https://github.com/InsightSoftwareConsortium/itk-jupyter-widgets/blob/master/examples/NumPyArray.ipynb>`_ (processed with SciPy)
- `NumPy array images <https://github.com/InsightSoftwareConsortium/itk-jupyter-widgets/blob/master/examples/scikit-image.ipynb>`_ (processed with scikit-image)
- `VTK vtkImageData <https://github.com/InsightSoftwareConsortium/itk-jupyter-widgets/blob/master/examples/vtkImageData.ipynb>`_

Examples on Binder
--------

- `2D ITK Images <https://mybinder.org/v2/gh/InsightSoftwareConsortium/itk-jupyter-widgets/master?filepath=examples%2F2DImage.ipynb>`_
- `3D ITK Images <https://mybinder.org/v2/gh/InsightSoftwareConsortium/itk-jupyter-widgets/master?filepath=examples%2F3DImage.ipynb>`_
- `Dask Array images <https://mybinder.org/v2/gh/InsightSoftwareConsortium/itk-jupyter-widgets/master?filepath=examples/DaskArray.ipynb>`_
- `NumPy array images <https://mybinder.org/v2/gh/InsightSoftwareConsortium/itk-jupyter-widgets/master?filepath=examples/NumPyArray.ipynb>`_ (processed with SciPy)
- `NumPy array images <https://mybinder.org/v2/gh/InsightSoftwareConsortium/itk-jupyter-widgets/master?filepath=examples/scikit-image.ipynb>`_ (processed with scikit-image)

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
-------

For a development installation (requires `Node.js <https://nodejs.org/en/download/>`_)::

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

.. warning::

This project is under active development. Its API and behavior may change at
any time. We mean it.


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.11.0.tar.gz (1.9 MB view details)

Uploaded Source

Built Distribution

itkwidgets-0.11.0-py2.py3-none-any.whl (3.5 MB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for itkwidgets-0.11.0.tar.gz
Algorithm Hash digest
SHA256 4b13bd7c3101f6797c8e84d66d17904a447d969afe438b8d42bfcc5264c113e6
MD5 5b3fb69da159b90bcbd05871e8d43388
BLAKE2b-256 f4d9d7d917eb71ae867cded7bc72e7ce6cb586bfacfa42dd298b73da89fea2dd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: itkwidgets-0.11.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 3.5 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/39.2.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.5

File hashes

Hashes for itkwidgets-0.11.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1221cdb6ab48ed8a79c3a6257855b70903259fed66150c7373fa0082d580bc3f
MD5 15e36e3df45b3426242d77aff476c092
BLAKE2b-256 4411ee4facc6ec6c1b6fd1e5e72264ee968160c635c760af760cdc1601f07bf3

See more details on using hashes here.

Supported by

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