napari-animation
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.