The Imaging Server Kit is an initiative started by the EPFL Center for Imaging to develop a simple framework for creating and using interoperable image processing algorithms via a client/server system.
The kit includes:
- A collection of algorithms that can be deployed as web servers (with or without Docker) and run from QuPath or Napari, for a wide range of tasks:
Task | Examples | Napari | QuPath |
---|---|---|---|
Segmentation | StarDist, CellPose, Rembg, SAM-2, InstanSeg | ✅ | ✅ |
Object detection | Spotiflow, LoG detector | ✅ | ✅ |
Vector fields | Orientationpy | ✅ | ✅ |
Object tracking | Trackastra, Trackpy | ✅ | |
Image-to-Image | SPAM, Noise2Void | ✅ | |
Text-to-Image | Stable Diffusion | ✅ | |
Image-to-Text | Image captioning | ✅ | |
Classification | ResNet50 | ✅ |
- A Template to easily create new image processing algorithm servers.
The Imaging Server Kit is designed for:
- Algorithm developers: Test your tools in QuPath or Napari without having to create extensions or plugins.
- Non-technical Users: Use Python projects without needing to set them up on your computer.
- Interoperable Algorithms: Easily compare algorithm outputs or integrate multiple algorithms to build complex workflows.
- Generated Interfaces: Automatically generate UIs for algorithm parameters in QuPath and Napari. No need for separate extensions or plugins!
- Processing on a Server: Run algorithms on a powerful workstation or server (e.g., with GPU) and connect to them via client apps on a laptop.
- Easy Deployment: Pull a Docker image, then simply start/stop a container to use an algorithm.
February 2025
The Imaging Server Kit is under construction! Here is what we're up to:
- Add styling to the algorithm
/info
page - Add a
class
output type to support image classifiers - Add a
text
input/output type to support diffusion models and LLMs - Screencast a tutorial on how to create a new algorithm server
- Add a server-side timeout to the
/process
endpoint - Handle tiling and optimize for running on whole-slide images
- Add a sample image button in the QuPath extension
- QuPath extension can send annotations as algo inputs
- Make a Fiji plugin
- Mallory Wittwer, EPFL Center for Imaging ([email protected])
- Edward Andò, EPFL Center for Imaging
- Maud Barthélémy, EPFL Center for Imaging
- Florian Aymanns, EPFL Center for Imaging
We acknowledge the Personalized Health and Related Technologies (PHRT) initiative for supporting this project.