multi-dimensional image viewer for python
napari is a fast, interactive, multi-dimensional image viewer for Python. It’s designed for browsing, annotating, and analyzing large multi-dimensional images. It’s built on top of
Qt (for the GUI),
vispy (for performant GPU-based rendering), and the scientific Python stack (
We’re developing napari in the open! But the project is in an alpha stage, and there will still likely be breaking changes with each release. You can follow progress on this repository, test out new versions as we release them, and contribute ideas and code.
We’re working on tutorials, but you can also quickly get started by looking below.
napari can be installed on most macOS, Linux, and Windows systems with Python 3.6, 3.7 and 3.8 by calling
$ pip install napari
To clone the repository locally and install in editable mode use
$ git clone https://github.com/napari/napari.git $ cd napari $ pip install -e .
For more information or troubleshooting see our installation tutorial
From inside an IPython shell (started with
ipython --gui=qt) or jupyter notebook (after running a cell with magic command
%gui qt) you can open up an interactive viewer by calling
from skimage import data import napari viewer = napari.view_image(data.astronaut(), rgb=True)
To do the same thing inside a script call
from skimage import data import napari with napari.gui_qt(): viewer = napari.view_image(data.astronaut(), rgb=True)
Check out the scripts in our
examples folder to see some of the functionality we’re developing!
napari supports six main different layer types,
Surface, each corresponding to a different data type, visualization, and interactivity. You can add multiple layers of different types into the viewer and then start working with them, adjusting their properties.
All our layer types support n-dimensional data and the viewer provides the ability to quickly browse and visualize either 2D or 3D slices of the data.
napari also supports bidirectional communication between the viewer and the Python kernel, which is especially useful when launching from jupyter notebooks or when using our built-in console. Using the console allows you to interactively load and save data from the viewer and control all the features of the viewer programmatically.
You can extend napari using custom shortcuts, key bindings, and mouse functions.
For more details on how to use
napari checkout our tutorials. These are still a work in progress, but we’ll be updating them regularly.
mission and values
For more information about our plans for
napari you can read our mission and values statement, which includes more details on our vision for supporting a plugin ecosystem around napari.
code of conduct
napari has a Code of Conduct that should be honored by everyone who participates in the
You can learn more about how the
napari project is organized and managed from our governance model, which includes information about, and ways to contact, the @napari/steering-council and @napari/core-devs.
If you find
napari useful please cite this repository using its DOI as follows:
napari contributors (2019). napari: a multi-dimensional image viewer for python. doi:10.5281/zenodo.3555620
Note this DOI will resolve to all versions of napari. To cite a specific version please find the DOI of that version on our zenodo page. The DOI of the latest version is in the badge at the top of this page.
We’re a community partner on the image.sc forum and all help and support requests should be posted on the forum with the tag
napari. We look forward to interacting with you there.
Bug reports should be made on our github issues using the bug report template. If you think something isn’t working, don’t hesitate to reach out - it is probably us and not you!