This release is a pre-release and may not be stable for production use.
VIPP — Visual Image Processing Platform
Visual workflows for reproducible bioimage analysis.
napari-vipp is the napari-native implementation of VIPP, the Visual Image
Processing Platform. Build typed node graphs, inspect intermediate images and
tables, tune parameters, save workflows, and repeat the same operations without
hiding axis or physical-scale metadata.
Alpha software: expect breaking workflow and parameter changes. Validate outputs on representative data before scientific interpretation or publication.
Install And Open
VIPP requires Python 3.12 or newer. If napari is not already installed, install it with a Qt backend at the same time:
python -m pip install "napari[pyqt6]"
python -m pip install --pre napari-vipp
napari
The --pre flag is required while VIPP is published as an alpha release. It is
kept on the VIPP command so napari itself can continue to resolve to a stable
release.
In napari, open:
Plugins > VIPP Workflow (napari-vipp)
Use Open example... for a runnable workflow with synthetic data. A good first
choice is Red-Channel Label Cleanup; select nodes from left to right to review
their parameters, thumbnails, metadata, and outputs.
What It Supports
| Area | Current alpha capabilities |
|---|---|
| Graph authoring | Searchable node palette, typed ports, dynamic outputs, cycle prevention, undo/redo, graph notes, named tunnels, auto-layout, and saved positions. |
| Images and metadata | Semantic T/C/Z/Y/X axes, scale/units/origin, channel and acquisition metadata, source identity, and operation history. |
| Image processing | Intensity transforms, filters, background correction, thresholding, watershed, binary/label morphology, channels, axes, masks, and composites. |
| Measurements | Object and intensity tables, calibrated morphology, 3D mesh morphology, skeleton/network analysis, colocalization, object association, and table composition. |
| Restoration | Born-Wolf PSF generation, measured-PSF preparation, and manual/cached 2D or 3D Richardson-Lucy and RL-TV deconvolution. |
| Reuse and automation | Workflow JSON, generated headless Python, explicit batch outputs, local collection batch runs, dry-run previews, and workflow/script artifacts. |
| I/O | OME-TIFF, ImageJ TIFF, TIFF, local OME-Zarr 0.4/0.5, NPY/NPZ, common 2D raster formats, and optional microscope readers. |
Most graph operations are still eager. Large z-stacks and OME-Zarr datasets therefore need deliberate cache, preview, and output choices; see the cache and memory guide.
Optional Microscope Readers
Install only the reader family you need, then restart napari:
| Format family | Install command |
|---|---|
| Nikon ND2 | python -m pip install --pre "napari-vipp[nd2]" |
| Zeiss CZI | python -m pip install --pre "napari-vipp[czi]" |
| Mixed microscope formats | python -m pip install --pre "napari-vipp[microscope]" |
| BioIO/Bio-Formats fallback | python -m pip install --pre "napari-vipp[bioformats]" |
These routes are an experimental foundation: axes and common metadata are normalized where the source reader exposes them, but format-specific coverage still needs validation against a broader corpus of real acquisition files.
Workflow Basics
- Add or select an
Image Sourcefor a napari layer, file, or bundled sample. - Add nodes from the palette and connect compatible output and input ports.
- Select a node to tune parameters and inspect its output metadata.
- Click
Calculatefor manual/cached nodes such as measurements and deconvolution. - Pin important image outputs into napari for full-resolution comparison.
- Save the graph with
Save workflow.... - Add
Batch Outputnodes beforeRun batch...when exact saved outputs matter.
Workflow JSON stores the graph and optional VIPP UI state, not cached pixels or
tables. Export Python... emits direct calls to the headless operation and I/O
functions; it does not reproduce interactive caches or full runtime metadata
propagation. See the user guide for details and caveats.
Documentation
- Documentation index
- User guide
- Image import and export
- Example workflow index
- Measurement workflows
- Operator tips
- Developer notes
- Current planning and roadmap
Development
Create a local environment and install the development dependencies:
python -m venv .venv
.venv\Scripts\Activate.ps1
python -m pip install -e ".[dev]"
Run the required checks:
python -m npe2 validate src/napari_vipp/napari.yaml
python -m ruff check .
python -m pytest
Launch a development instance with python scripts/launch_vipp_sample.py. The
architecture reference explains the graph, metadata,
execution, persistence, and UI boundaries.
Contributions are welcome. Read CONTRIBUTING.md before opening a pull request, use SUPPORT.md for help and issue-reporting guidance, and report suspected vulnerabilities privately through SECURITY.md. All project interactions follow the Code of Conduct.
Roadmap
The current public alpha is 0.11.0a3. This patch alpha makes large-image
analysis exact and responsive, preserves native threshold and cutoff semantics,
introduces explicit workflow schema version 2 parameters, and improves
histogram and colocalization inspection. The next planned milestone focuses on
saved batch configuration and per-item provenance, followed by scalable
OME-Zarr previews and broader scientific validation. See
planning.md for the maintained release order and evidence
gates.
Citation, Acknowledgement, And License
If VIPP contributes to your work, acknowledge napari-vipp and link to the
project repository. Citation
metadata is available in CITATION.cff; a DOI or manuscript
citation can be added when available.
napari-vipp is distributed under the BSD 3-Clause License. See LICENSE for the full terms.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file napari_vipp-0.11.0a3.tar.gz.
File metadata
- Download URL: napari_vipp-0.11.0a3.tar.gz
- Upload date:
- Size: 783.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4446090a941af222754afd7a131a64de3c4a5be4eae3abefaae0a4d12c8a82c8
|
|
| MD5 |
22d971c3a370a444d08c2bfbfc0e7ac5
|
|
| BLAKE2b-256 |
8fcf109c467ef4dd7b535a6ade1d8972bfacda017eeba658fe6fcf9230aa59a1
|
File details
Details for the file napari_vipp-0.11.0a3-py3-none-any.whl.
File metadata
- Download URL: napari_vipp-0.11.0a3-py3-none-any.whl
- Upload date:
- Size: 341.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08f3b98b667b522c784bea2462568a1762c757f3d08725b5778df0f92bfcbbf2
|
|
| MD5 |
5078783ff6811cf525ab60e44a6cfe51
|
|
| BLAKE2b-256 |
3c4842d0241a547721e0347813e8a5ed9f47a841c2440a8d469c8a8d26df20dd
|