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.python.org/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/ERK5JtT.png
:width: 800px
:alt: Monkey brain volume rendering

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, use pip::

pip install itkwidgets

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

Uploaded Source

Built Distribution

itkwidgets-0.10.2-py2.py3-none-any.whl (3.2 MB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

File hashes

Hashes for itkwidgets-0.10.2.tar.gz
Algorithm Hash digest
SHA256 451b8a26536e6a8823742896ae8a357a8eabbbdbfd0842c1265f94a9d1a8573e
MD5 523e1337132f0f76e5661c87e7070a7e
BLAKE2b-256 b76e11963bb3babdeeb4b42602e72902a97b6bd1d81e8089d928f3dc46a4a382

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itkwidgets-0.10.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d8c7d5ed3a61af59cc41b73a5d22a035464449ab9d3d82ca52e99f0d8e8173e1
MD5 4d586598ca3d8abf6494ac15e909938e
BLAKE2b-256 856f5bd3e0c3aa1471f937b3f0892485d51d92010654293d363835478d972ab1

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