napari-bioformats: Bio-Formats plugin for napari using bffile
Use the classic Java-based OME Bio-Formats reader you know and love from ImageJ/Fiji, QuPath, etc. in napari to open >100 different imaging file formats (for details, see the Bio-Formats documentation).
This plugin leverages bffile, a modern Bio-Formats wrapper for Python:
- "Batteries include": no special Java setup is required
- Layer data is returned as LazyBioArray with full lazy indexing and slicing (with no additional dependencis on dask/xarray/zarr)
- Basic OME metadata handling to identify channel axis and scale
- Automatic handling of multiple resolution levels as napari MultiScaleData
Additionally, it provides a convenient Series selection widget allowing you to choose what to load when a file contains multiple Series.
You can install the plugin using the built-in napari Plugin manager in the Plugins menu or from either conda-forge or PyPI over a wide range of Python versions (3.10-3.14) using your favorite package manager. E.g.:
conda install napari-bioformatsor
pip install napari-bioformatsTip
No manual Java installation required!
This package automatically downloads and manages the Java runtime using cjdk (via scyjava).
Contributions are welcome!
To get started, fork and clone the repository. For the development environment we recommend using uv:
uv syncPlease be sure to work on contributions in a dedicated branch and then open a pull request for review.
Anyone with write access can create a release:
-
Locally:
checkout the commit you want to release, then run:
git tag -a vX.Y.Z -m vX.Y.Z git push upstream --follow-tags