AI colony counter for biology labs — drag, count, export.
Project description
Petrilya
AI colony counter for biology labs — drag, count, export.
Open-source desktop application that turns a phone photo of a Petri dish into a colony count, a CSV, and a one-page PDF report. No code, no cloud, no GPU required.
🌐 Website: petrilya.com · 🐙 Source: github.com/petrilya-app/petrilya-core
⚠️ Pre-alpha
Petrilya is being built in public. The current build runs the full UI (drag-and-drop, zoom, mask editing, batch processing, CSV/PDF/JSON export) against a mock segmentation engine — real Cellpose integration is blocked on cellpose.org model-weight hosting being available again. Until then, the mock generates plausible-looking colony detections so the rest of the pipeline can be tested.
If you need a working colony counter today, you probably want Cellpose directly. Petrilya's value-add is the no-code desktop wrapper, batch reports, and publication-ready outputs — coming soon.
Install (developer)
git clone https://github.com/petrilya-app/petrilya-core.git
cd petrilya-core
python -m venv .venv
.\.venv\Scripts\Activate.ps1 # Linux/macOS: source .venv/bin/activate
pip install -e ".[dev]"
Or, once published:
pip install petrilya
Run the GUI
petrilya-ui
CLI
petrilya path/to/dish.jpg --no-gpu
petrilya path/to/dish.jpg --gpu --diameter 30
What works today
- ✅ Drag-and-drop image loading (JPG, PNG, TIFF, BMP)
- ✅ Zoomable, pannable canvas (mouse wheel, Space-drag)
- ✅ Mask overlay with adjustable opacity (0–100%)
- ✅ Manual mask editing: erase a click, paint with brush
- ✅ Per-colony metrics: area, diameter, eccentricity, solidity
- ✅ Micrometers-per-pixel scale → results in μm² and μm
- ✅ Batch processing of an entire folder
- ✅ CSV export (per-colony rows)
- ✅ PDF report (preview + histogram + table)
- ✅ JSON manifest with SHA-256 and parameters for reproducibility
- ⏳ Real Cellpose model — pending
cellpose.orgserver recovery
License
AGPL-3.0 for the open-source build.
Commercial license available for organisations that need on-premise deployment without copyleft obligations — including GMP-relevant workflows. Contact iliarogogvykh@gmail.com.
Acknowledgements
Built with Cellpose, PySide6, ONNX Runtime, scikit-image, and ReportLab.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file petrilya-0.0.1.tar.gz.
File metadata
- Download URL: petrilya-0.0.1.tar.gz
- Upload date:
- Size: 56.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d5348972170a5901603a317d6b5cf0c18e558f9dad7f96246a86b43ccbef7b0
|
|
| MD5 |
3111f17e36f828ea1c72043b0f96f9bc
|
|
| BLAKE2b-256 |
995a92571c36c9e6e312d85359eb8ca25233cf95c0e16b0ba8686ac563543a94
|
File details
Details for the file petrilya-0.0.1-py3-none-any.whl.
File metadata
- Download URL: petrilya-0.0.1-py3-none-any.whl
- Upload date:
- Size: 45.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b9f7dd2c9cd992b1f5a0e1521f2186af2c71b74e222516cb7912574e028f82f
|
|
| MD5 |
6f702d89ca222436a17ae446eb7630e5
|
|
| BLAKE2b-256 |
7b7fe52a7b2e04d94986b00f7605b128b22e27acbf546da9592f78145f72c5ed
|