Skip to main content

napari-volume-spin

License BSD-3 PyPI Python Version tests codecov napari hub npe2 Copier

Imaris-style continuous 3D spin animation controls for napari, with looping GIF/MP4 export


This napari plugin was generated with copier using the napari-plugin-template.

Demo

napari-volume-spin demo

Features

napari-volume-spin adds a Volume Spin Controls dock widget with three tabs that mimics Imaris's continuous 3D rotation animation:

Spin Controls tab

  • Play / Pause a continuous spin of the 3D camera around the currently viewed volume.
  • Choose the screen-relative rotation axis: X (pitch), Y (roll), or Z (yaw).
  • Adjust spin speed (0.05–5.0 degrees/frame) via a linked slider and spin box.

Export tab

  • Export a looping GIF or MP4 of the current axis/speed settings: a full 360° rotation is captured automatically so the animation loops seamlessly, and you are always prompted for the save location.
  • Loop Axis: for multi-dimensional images (e.g. a time series), pick an extra (non-displayed) axis to page through frame-by-frame while the camera keeps spinning — the number of captured frames then matches that axis's length instead of a fixed 360° rotation, and the FPS field controls playback speed of the resulting file.
  • A progress bar and Cancel button are shown while frames are captured; the (often slower) file encoding step runs in a background thread so napari stays fully interactive.

Compress tab

  • Compress Animation... shrinks an existing GIF/MP4/WebP/MOV/AVI file. Choose a compression scheme — WebP or MP4 use lossy, per-frame (JPEG-like) image compression instead of GIF's 256-color palette, which avoids the choppy banding/dithering artifacts a plain palette-based GIF produces. Compression automatically tries progressively lower scale/quality tiers until the output is under 25 MB (handy for e-mail attachments), while never dropping below 24 fps.

Usage

  1. Open napari with a 3D (or higher-dimensional) volume layer and switch to 3D display (ndisplay=3).
  2. Open Plugins > napari-volume-spin: Volume Spin Controls.
  3. On the Spin Controls tab, pick a rotation axis and speed, then click Play Spin to start the continuous animation.
  4. Switch to the Export tab, choose GIF or MP4, an FPS, and optionally a Loop Axis (for multi-dimensional images), then click Export Looping Animation.... Use Cancel to abort mid-capture.
  5. If the resulting file is too large (e.g. for e-mail), switch to the Compress tab, pick a compression scheme, and click Compress Animation... to save a smaller copy.

Installation

You can install napari-volume-spin via pip:

pip install napari-volume-spin

If napari is not already installed, you can install napari-volume-spin with napari and Qt via:

pip install "napari-volume-spin[all]"

To install latest development version:

pip install git+https://github.com/Macl-I/napari-volume-spin.git

Contributing

Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.

License

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

Issues

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

Release files for napari-volume-spin 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for napari-volume-spin 0.1.1
File Size Uploaded
napari_volume_spin-0.1.1.tar.gz 11.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for napari-volume-spin 0.1.1
File Interpreter ABI Platform
napari_volume_spin-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 12.0 MB

Release files / napari_volume_spin-0.1.1.tar.gz

Download URL napari_volume_spin-0.1.1.tar.gz
Size 11.9 MB
Tags Source
SHA-256 checksum
How to use checksums
d294f13a3b6c15b5d2ac558759ed6eef2cac92688b9b3da5cff0fa52dcf83e42
BLAKE2b-256 checksum
How to use checksums
b5d1d56122b6e694afb3cad980272124f484e8379a5de265484f98a7eae363ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / napari_volume_spin-0.1.1-py3-none-any.whl

Download URL napari_volume_spin-0.1.1-py3-none-any.whl
Size 11.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0954ca77013dc30b03db9508f9c14aa7f095b34501b34f7350d4644b81e0360a
BLAKE2b-256 checksum
How to use checksums
e9c9d44018aa839d6272f46ac8c4f2bcdab3d9f2153face7c8d28984c632101f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page