napari-animation

napari-animation

A plugin for making animations in napari

License PyPI Python Version tests codecov

napari-animation is a plugin for making animations in napari.


Merlin Lange used napari-animation to create one of Nature's best science images for September 2022


This plugin is built on naparimovie from @guiwitz. naparimovie was submitted to napari in PR#851 before napari plugin infrastructure existed.


Overview

napari-animation provides a framework for the creation of animations in napari, the plugin contains:

  • an easy to use GUI for creating animations interactively
  • a Python package for the programmatic creation of animations

This plugin remains under development and contributions are very welcome, please open an issue to discuss potential improvements.

Installation

PyPI

napari-animation is available through the Python package index and can be installed using pip.

pip install napari-animation

Local

You can clone this repository and install locally with

pip install -e .

Interactive use

napari-animation can be used interactively.

An animation is created by capturing keyframes containing the current viewer state.

To activate the GUI, select napari-animation: wizard from the plugins menu

Headless

napari-animation can also be run headless, allowing for reproducible, scripted creation of animations.

from napari_animation import Animation

animation = Animation(viewer)

viewer.dims.ndisplay = 3
viewer.camera.angles = (0.0, 0.0, 90.0)
animation.capture_keyframe()
viewer.camera.zoom = 2.4
animation.capture_keyframe()
viewer.camera.angles = (-7.0, 15.7, 62.4)
animation.capture_keyframe(steps=60)
viewer.camera.angles = (2.0, -24.4, -36.7)
animation.capture_keyframe(steps=60)
viewer.reset_view()
viewer.camera.angles = (0.0, 0.0, 90.0)
animation.capture_keyframe()
animation.animate('demo.mov', canvas_only=False)

Examples

Examples can be found in our examples folder. Simple examples for both interactive and headless use of the plugin follow.

Contributing

Contributions are very welcome and a detailed contributing guide is coming soon.

Tests are run with pytest.

We use pre-commit to sort imports with isort, format code with black, and lint with flake8 automatically prior to each commit. To minmize test errors when submitting pull requests, please install pre-commit in your environment as follows:

pre-commit install

License

Distributed under the terms of the BSD-3 license, "napari-animation" is free and open source software

Issues

If you encounter any problems, please file an issue along with a detailed description.

Version:

  • 0.0.7

Last updated:

  • 25 May 2023

First released:

  • 23 April 2021

License:

  • BSD 3-Clause

Supported data:

  • Information not submitted

Plugin type:

GitHub activity:

  • Stars: 68
  • Forks: 29
  • Issues + PRs: 24

Python versions supported:

Operating system:

Requirements:

  • imageio
  • imageio-ffmpeg
  • napari
  • npe2
  • numpy
  • qtpy
  • scipy
  • tqdm (>=4.56.0)
  • superqt

Sign up to receive updates