End-to-end high-content bio-image analysis powered by AI.
OMERO-Screen takes a 96-well immunofluorescence plate from an OMERO server to a publication figure: segmentation, feature extraction, cell-cycle assignment, storage, classification and plotting as one reproducible workflow. It is built for cell biologists running high-content screens.
Warning
Active development. OMERO-Screen is developed alongside ongoing research, so expect frequent changes and occasional breaking ones. A stable release is planned for later in 2026. Pin a commit if you need an analysis to stay reproducible.
omero-screen 1234 --stitch # segment a plate, write results back to OMERO
cellview import plate 1234 # pull the measurements into a local database- Rapid model adaptation — builds on Cellpose and Trackastra, with a fast generation-and-deployment loop for classifiers. Models are selected from the command line, so an improved model swaps in without touching analysis code.
- 4i / cyclic IF and automated tracking, without the coding — registration and tracking pipelines produce highly multiplexed single-cell data from a few commands.
- Agentic AI integration — the whole platform is driven by terminal commands, so AI agents can run it. Bundled agent skills execute the pipeline from plate analysis to figure production from natural-language prompts.
- Data integration and management — raw data, masks and analysis files stay together on an OMERO server; single-cell measurements are queried from a local DuckDB database. Terabytes stay organised, queryable and reproducible.
Requires Python 3.12, 3.13 or 3.14 and uv. Not tested on Windows.
git clone https://github.com/HocheggerLab/omero-screen.git
cd omero-screen
uv sync --devThen create a .env.development file with your OMERO credentials and database
path. See
Install & configure
for the full list and the hardware requirements — in short, Cellpose 3 runs on
Apple silicon or NVIDIA, while Cellpose 4 and tracking want an NVIDIA GPU.
Verify the connection:
uv run omero-integration-test e2e_connectionSix packages in one uv workspace. Each has its own documentation site with
generated API and CLI reference.
| Package | What it is |
|---|---|
| omero-screen | The analysis pipeline: segmentation, feature extraction, cell-cycle phases, flatfield correction, stitching, tracking |
| cellview | DuckDB-backed single-cell database with a CLI and a Python API |
| omero-screen-plots | Statistical plots built for publication figures |
| omero-screen-napari | napari widgets for browsing plates, inspecting galleries and labelling training data |
| cellclass | CNN classifier training, sweeps and inference |
| omero-utils | Connection handling, attachments, annotations and image I/O |
| Analyse your first plate | One continuous journey from a plate ID to a figure |
| How it works | Pipeline stages, data model, benchmarks |
| CLI reference | Generated from the command definitions |
| API reference | Public Python API |
uv sync --dev
pre-commit install # ruff, mypy and formatting run on every commit
pytest tests/unit_tests # the full unit suiteA parallel OMERO server for integration tests runs at 127.0.0.2:4064:
./scripts/manage_test_server.sh start|stop|statusTo populate it, scripts/load_plates.sh imports plates into a "Screens"
project. It expects the Operetta layout, with */Images/Index.idx.xml under
each plate directory. -x executes the import (without it the script is a dry
run), -d sets the source directory, and -s prompts for host, port and
username instead of using the defaults.
./scripts/load_plates.sh # show options
./scripts/load_plates.sh -d /path/to/plates -x # importSemantic Versioning with
Conventional Commits; versions are
bumped by CI. feat: → minor, fix: → patch, ! or BREAKING CHANGE: →
major. Only the root package is bumped by default — name the scope to bump
another, e.g. feat(omero-utils): ....
Use cz commit rather than git commit to get the format right.
Fork, branch, commit with cz commit, and open a pull request. Please run the
unit suite and let the pre-commit hooks pass before pushing.
If OMERO-Screen contributes to work you publish, please cite it. A paper is in preparation; until then, cite this repository.
Built by Helfrid Hochegger and Alex Herbert in the Hochegger lab, University of Sussex. Contact: hh65@sussex.ac.uk
MIT — see LICENSE.
OMERO-Screen is an independent project built on OMERO. OMERO is a trademark of the University of Dundee.