• Stars
    star
    2,169
  • Rank 21,262 (Top 0.5 %)
  • Language
    Python
  • License
    BSD 3-Clause "New...
  • Created over 6 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

napari: a fast, interactive, multi-dimensional image viewer for python

napari

multi-dimensional image viewer for python

napari on Binder image.sc forum License Build Status Code coverage Supported Python versions Python package index Python package index download statistics Development Status Code style: black DOI NEP29

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 (numpy, scipy).

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.

If you want to refer to our documentation, please go to napari.org. If you want to contribute to it, please refer to the contributing section below.

We're working on tutorials, but you can also quickly get started by looking below.

installation

It is recommended to install napari into a virtual environment, like this:

conda create -y -n napari-env -c conda-forge python=3.9
conda activate napari-env
python -m pip install "napari[all]"

If you prefer conda over pip, you can replace the last line with: conda install -c conda-forge napari pyqt

See here for the full installation guide.

simple example

(The examples below require the scikit-image package to run. We just use data samples from this package for demonstration purposes. If you change the examples to use your own dataset, you may not need to install this package.)

From inside an IPython shell, you can open up an interactive viewer by calling

from skimage import data
import napari

viewer = napari.view_image(data.cells3d(), channel_axis=1, ndisplay=3)

napari viewer with a multichannel image of cells displayed as two image layers: nuclei and membrane.

To use napari from inside a script, use napari.run():

from skimage import data
import napari

viewer = napari.view_image(data.cells3d(), channel_axis=1, ndisplay=3)
napari.run()  # start the "event loop" and show the viewer

features

Check out the scripts in our examples folder to see some of the functionality we're developing!

napari supports six main different layer types, Image, Labels, Points, Vectors, Shapes, and 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.

tutorials

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, values, and roadmap

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. You can see details of the project roadmap here.

contributing

Contributions are encouraged! Please read our contributing guide to get started. Given that we're in an early stage, you may want to reach out on our Github Issues before jumping in.

If you want to contribute or edit to our documentation, please go to napari/docs.

code of conduct

napari has a Code of Conduct that should be honored by everyone who participates in the napari community.

governance

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.

citing napari

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.

help

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!

institutional and funding partners

CZI logo

More Repositories

1

magicgui

build GUIs from python functions, using magic.
Python
216
star
2

napari-animation

A napari plugin for making animations
Python
76
star
3

superqt

Missing widgets and components for Qt-python
Python
69
star
4

cookiecutter-napari-plugin

Cookiecutter for napari plugins
Python
67
star
5

napari.github.io

website for the napari image viewer
44
star
6

napari-graph

Efficient graph data structures and algorithms for fast slicing, visualization, and editing
Python
13
star
7

docs

Documentation for napari (other than API docs)
Makefile
10
star
8

npe2

napari plugin engine v2
Python
10
star
9

napari-tiff

A napari reader plugin for tiff images.
Python
8
star
10

napari-plugin-engine

A fork of pluggy - plugin management package
Python
6
star
11

napari-core

Python
5
star
12

napari-plugin-devtools

A repo with tools and services for napari plugin developers
Python
5
star
13

napari-plugin-manager

napari plugin manager to provide a graphical user interface for installing napari plugins.
Python
5
star
14

image-types

A set of type definitions for annotating functions that work with images
Python
4
star
15

napari-svg

A plugin for writing svg files from napari
Python
4
star
16

packaging

Python
4
star
17

napari-sphinx-theme

HTML
4
star
18

napari-workshop-template

A template for napari workshops
Shell
3
star
19

napari-console

A plugin that adds a console to napari
Python
3
star
20

napari-plugin-template

A template repo used to make new napari plugins
Jinja
3
star
21

app-model

Generic application schema implemented in python.
Python
2
star
22

napari-web-experimental

This is an experimental repo to discuss and explore ideas around an alternative web front end for napari
2
star
23

product-heuristics-2020

Issues created from a product heuristics analysis of napari in Sept. 2020
2
star
24

napari-language-packs

Language packs for napari
Python
1
star
25

in-n-out

Python dependency injection you can taste
Python
1
star
26

npe2api

Python
1
star
27

napari-io

Napari IO plugin for loading and saving image and object data
1
star
28

island-dispatch

A blog for napari-related news and announcements
Python
1
star
29

midi-app-controller

Control napari with a MIDI controller.
Python
1
star