Last month, a group of image analysis developers gathered at Institut Pasteur in Paris (March 2–6) for a week-long hackathon centered on Appose, the library that enables seamless interprocess communication between Java applications like Fiji and Icy and Python-based deep learning tools. In attendance were Jean-Yves Tinevez (@tinevez), Curtis Rueden (@ctrueden), Gaëlle Letort (@gletort), Julie Mabon, Son Phan (@Son_Phan), Carlos Garcia (@carlosuc3m), and Nicolas Chiaruttini (@NicoKiaru), with remote participation from Stéphane Rigaud (@StRigaud), Tobias Pietzsch (@tpietzsch), and Edward Evans (@elevans).
New Fiji plugins on the Appose-Playground update site
Two new plugins are now available for Fiji users:
-
cellpose-appose — Run Cellpose v3 and Cellpose SAM (v4) directly from Fiji for 2D and 3D segmentation, with automatic Python environment setup handled entirely by Appose. No manual conda/pip wrangling required.
-
dextrusion-appose — A Fiji plugin wrapping DeXtrusion, a Python module for automated detection of cell extrusion events in epithelial tissue movies. Previously, DeXtrusion required users to shuttle back and forth between Python and Fiji via TIFF files and macros; this plugin unifies the whole workflow.

Please note that these plugins are still in early development stage, not yet ready for production use. But feedback even at this stage is welcome as we continue to develop and refine them.
CellPose 3 plugin for Icy
Jean-Yves Tinevez prototyped a native Cellpose plugin for Icy, bringing the power of Cellpose 3 to the beautiful and responsive Icy user interface.
StarDist 2D via cellcast — cross-platform, cross-GPU
Thanks to Edward Evans's cellcast library, StarDist 2D can now be invoked in Fiji via Appose without requiring CUDA or an NVIDIA GPU. This means StarDist works on AMD and Apple Silicon hardware as well, which has been a long-standing pain point for many users. A working Groovy script demonstrating this is already available.
Yolo plugin for Fiji
A plugin for running YOLO models on 2D images in Fiji was also prototyped:
Find the source code here:
appose-python scripting language for Fiji's Script Editor
A proof-of-concept scripting-appose-python plugin was developed that registers Python as a JSR-223 script language in Fiji's Script Editor, backed by Appose. This means you can write Python scripts directly in Fiji's Script Editor and run them in a dedicated external environment, with no Java interop boilerplate needed. Down the road, the same scripts could potentially run unchanged in Icy and napari. I will make a separate announcement here on the forum once this script language is released and ready for testing.
Appose library improvements
The week produced a substantial round of fixes and enhancements to both appose-java and appose-python, culminating in the release of appose-python 0.11.0. Highlights include:
- A new Python environment best practices guide and improved shared memory documentation were added to the Appose docs
PixiBuilder.environment() for selecting named Pixi environments, enabling multi-environment setups from a single pixi.toml
- Fixed
PixiBuilder.build() to ensure environments are fully installed before use
- Configurable environment directory via the
APPOSE_ENVS_DIR environment variable or appose.envs-dir Java system property — Fiji now sets this to ${app-dir}/envs rather than the default ~/.local/share/appose/
- Improved error messages when a platform has no download URL for a requested tool
- Fixed plugin discovery in OSGi containers (relevant for Fiji's module system)
- Extensible object encoding/decoding, so custom types can be serialized across process boundaries (will be part of appose 0.12.0)
Adjacent work
A big thank you to the Institut Pasteur, and especially to Jean-Yves Tinevez for organizing and hosting the event. The Appose-Playground update site will continue to grow as the plugins developed here are polished further!