CoolFace
Modelpublic

einarolafsson/toxoplasma-plaque-well-detector-yolo11

sourceHugging Facemitupdated 9d agoView on Hugging Face
0likes20downloads
Model Card

Toxoplasma Plaque Well Detector v1

Locates wells in whole-plate and multi-well crystal violet plaque-assay images. The front half of a two-stage pipeline with Toxoplasma Plaque v1; the well it finds also gives the diameter that makes areas comparable across microscopes.

  • —Architecture: YOLO11n
  • —Model Zoo key: toxoplasma_well_detector_v1
  • —Checkpoint: yolo_welldetect_v3.pt
  • —Trained by: einarolafsson

Use it in spaCR

This model is distributed through the spaCR Model Zoo. spaCR is an open-source package for spatial phenotype analysis of CRISPR screens and microscopy images.

bash
pip install spacr

Model Zoo (GUI)

Launch the GUI and open the Model Zoo:

bash
spacr

Find Toxoplasma Plaque Well Detector v1 in the model list and press Download. The Model Zoo verifies the checkpoint's SHA-256 after download, so a truncated or substituted file is rejected rather than silently used.

Model Zoo (Python)

python
from spacr import model_zoo

entry = next(e for e in model_zoo.catalogue() if e.key == "toxoplasma_well_detector_v1")
path  = model_zoo.install(entry, dest="~/spacr_models")
print(path)   # verified local checkpoint

Mask generation

This is a plaque-assay model and is driven by spaCR's plaque module rather than the general cell/nucleus mask pipeline:

python
from spacr import plaque

plaque.analyze_plaques(src="/path/to/plate_images", model=str(path))

In the GUI the same thing is under Make masks in the plaque workflow.

API: :mod:spacr.plaque, :func:spacr.core.preprocess_generate_masks

Performance

A detector, not a segmenter, so the columns differ: detection quality is mAP over IoU thresholds rather than per-object F1/AJI/Dice.

modeltraintrain obj.testtest obj.CVmAP50mAP50-95precisionrecall
stock yolo11n (no fine-tuning)—————————
this model562 images (190 with no well)not recordedheld-out splitnot recordedno0.99300.88600.98700.9870

150 epochs, batch 16, imgsz 640, yolo11n base. mAP50-95 of 0.886 against mAP50 of 0.993 says the boxes are found almost perfectly and placed tightly, which is what the downstream diameter normalisation needs.

Objects are reference (ground-truth) objects. Object counts and the per-epoch loss history were not recorded for this run, so those columns and the training curves are unavailable; the scores are the ones its own run reported.

Training data

562 whole-plate and multi-well crystal violet images from 1 dataset, 190 of them containing no well at all. YOLO11n base, 150 epochs, batch 16, imgsz 640.

Files in this repository

pathwhat
args.yamlthe checkpoint
metadata.txtthe checkpoint
results.csvthe checkpoint
yolo_welldetect_v3.ptthe checkpoint

Limitations

  • —Detects WELLS, not plaques — run Toxoplasma Plaque v1 inside each detected well.
  • —Trained on one imaging setup; other plate formats and scanners are untested.

Links

  • —spaCR on GitHub: https://github.com/EinarOlafsson/spacr
  • —Model Zoo API: spacr.model_zoo — catalogue(), install(), fetch(), verify()
  • —Mask generation API: spacr.core.preprocess_generate_masks, plaque API: spacr.plaque
  • —Issues and questions: https://github.com/EinarOlafsson/spacr/issues