Cytomine
The major open-source web platform for multi-gigapixel whole-slide image management, collaborative multi-observer annotation, and distributed containerized analysis — providing a PostgreSQL/PostGIS spatial database architecture that answers the central multi-user annotation and algorithm-serving questions that desktop QuPath cannot.
Purpose
Verdict: not adopted locally — the local estate’s digital pathology tooling is built primarily around desktop QuPath Tooling and the paused imagebank Digital Slide Archive (DSA) deployment. Cytomine is evaluated here because it is the primary international open-source alternative to DSA and OMERO for server-side slide viewing, and because external groups (specifically the TIA Centre at the University of Warwick) have begun targeting it with modular deep-learning inference apps (TissueImageAnalytics/cytomine-app).
Where desktop tools (QuPath, ImageJ) treat whole-slide analysis as a single-user workstation session with local file storage, Cytomine treats whole-slide imaging as an enterprise spatial database: - Slides reside on shared storage accessible by a tile server. - Annotations are stored as spatial vector geometries in a relational database rather than flat files. - Users connect through standard web browsers without local installation. - Machine-learning models run as asynchronous background jobs wrapped in Docker containers.
Architecture and Technological Choices
Cytomine is composed of several decoupled services orchestrated through Docker Compose or Kubernetes (K3s / Helm):
- Core Application Server (Grails / Java): Exposes a comprehensive RESTful API for users, projects, image collections, permissions, and annotation metadata.
- Spatial Geometry Database (PostgreSQL + PostGIS):
- Stores annotations (polygons, points, multipolygons) as native GIS geometries.
- Enables spatial queries (bounding box intersections, point-in-polygon containment, area calculations) directly in SQL across gigapixel coordinates without decoding image pixels.
- Audit & Event Store (MongoDB): Captures user viewing trajectories, zoom levels, view times, and action histories.
- Tile Server / Image Management Server (IMS): Reads pyramidal WSI formats (Aperio SVS, Hamamatsu NDPI, Zeiss CZI, Ventana, Philips TIFF, DICOM WSI) via OpenSlide, Bio-Formats, and libvips, caching and streaming multi-resolution tiles over HTTP.
- Message Broker (RabbitMQ): Dispatches asynchronous processing tasks and coordinates containerized execution queues.
- Web Client (Vue.js): Browser-based multi-resolution viewer with layer management, ontology tree tagging, and live “broadcast” mode for synchronized remote multi-head microscopy.
Algorithmic Integration: Cytomine Apps & TIA Centre Implementations
Unlike QuPath extensions (written in Groovy or Java against internal APIs), Cytomine algorithms are containerized applications (“Cytomine software apps”). The container receives API credentials, project IDs, and parameters, pulls tiles from the tile server, executes inference, and posts vector annotations or prediction maps back via the REST API.
The Warwick Tissue Image Analytics (TIA) Centre repository (TissueImageAnalytics/cytomine-app, Apache-2.0) demonstrates this modularity by wrapping pre-trained TIAToolbox models:
cytomine-hovernet: Nuclear instance segmentation and 5-class phenotyping (neoplastic, inflammatory, connective, dead, non-neoplastic epithelial) using HoVer-Net trained on PanNuke.cytomine-kongnet: High-throughput nuclear detection and localization using KongNet (MONKEY dataset).cytomine-interactive-segmentation-nuclick: Pathologist click-guided interactive nuclear boundary segmentation using NuClick.- Pre-trained model weights are served openly from Hugging Face (
TIACentre).
Comparison with Local Infrastructure: Cytomine vs. Digital Slide Archive (imagebank)
The estate’s dormant imagebank deployment uses Digital Slide Archive (Girder + HistomicsUI + MongoDB + RabbitMQ). Comparing the two architectures highlights three structural tradeoffs:
- Spatial Queries: PostGIS vs. Document Store. Cytomine’s PostGIS backend treats annotations as spatial primitives with native indexing (
GiST), making spatial queries (e.g. “find all lymphocyte annotations within 50 µm of invasive margin polygon X”) native database queries. DSA stores annotations in MongoDB as JSON documents, relying on application-level filtering. - Taxonomies & Ontologies. Cytomine provides built-in hierarchical ontology management with parent-child relationships and controlled vocabularies directly in the GUI. DSA treats annotations more flexibly as free-form metadata dictionaries, which offers flexibility at the cost of standardization across annotators.
- Plugin Manifests. DSA uses the Slicer Execution Model (Docker image + XML CLI description generating dynamic UI forms). Cytomine uses a JSON/descriptor parameter schema registered with the Core API and executed via the Cytomine Python/Java client.
Operating Cost and Caveats
- Deployment Footprint: Like DSA, Cytomine requires maintaining a multi-container stack (Nginx, Core, IMS, PostgreSQL, MongoDB, RabbitMQ) and persistent storage volumes. As observed in Server-Side Slide Platforms, server platforms carry an ongoing administration overhead that rots quickly without dedicated maintenance.
- Client Bandwidth: Smooth user experience depends on reliable network throughput between the client browser and the tile server, whereas desktop QuPath runs locally at bus speed.
How it connects
Server-Side Slide Platforms — the overarching method page describing the transition from single-user desktop software to shared web platforms.
imagebank — the local DSA instance that represents the estate’s existing attempt at a server platform.
QuPath Tooling — the desktop ecosystem that remains the group’s default for day-to-day slide analysis.
WSI Format Conversion — relevant to Cytomine’s IMS handling of proprietary and DICOM WSI formats.
Derived from: GitHub repositories cytomine/cytomine and TissueImageAnalytics/cytomine-app read 2026-09-11; official documentation at doc.uliege.cytomine.org; ULiège portal at uliege.cytomine.org; Marée et al. Bioinformatics 2016 (DOI: 10.1093/bioinformatics/btw013).