CoolFace
Modelpublic

einarolafsson/toxoplasma-pv-segmentation-cpsam

sourceHugging Facemitupdated 8d agoView on Hugging Face
0likes
Model Card

Toxoplasma PV v1

Segments Toxoplasma gondii parasitophorous vacuoles from a parasite stain (anti-Toxoplasma-biotin, or DsRed in the PV lumen). Round 2.

Superseded. Toxoplasma PV v2 (round 5) is trained on 556 images against this model's 229 and is 5-fold cross-validated. Prefer v2 for new work; v1 remains here for reproducibility.
  • —Architecture: Cellpose-SAM (cpsam_v2)
  • —Model Zoo key: toxoplasma_pv_v1
  • —Checkpoint: cpsam_v2_toxo_r2
  • —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 PV 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_pv_v1")
path  = model_zoo.install(entry, dest="~/spacr_models")
print(path)   # verified local checkpoint

Mask generation

Point spaCR's mask generation at the downloaded checkpoint:

python
from spacr.core import preprocess_generate_masks

settings = {
    "src": "/path/to/images",
    "pathogen": "cellpose",
    "pathogen_model": str(path),     # the checkpoint fetched above
    "pathogen_diameter": 12,
}
preprocess_generate_masks(settings)

In the GUI the same thing is under Make masks — choose the downloaded model in the Cellpose model field for the relevant object.

API: :func:spacr.core.preprocess_generate_masks, :func:spacr.spacr_cellpose.generate_masks_from_imgs

Performance

modeltraintrain obj.testtest obj.CVF1 @ IoU 0.5AJIDicefinal train lossfinal val lossval - trainbest epoch
stock cpsam_v2 (no fine-tuning)——11not recorded—0.71300.4260—————
this model (round 2)229not recorded11not recordedno0.86400.8090—not recordednot recorded—100 / 100

Scored on 11 held-out in-house wells at IoU 0.5. On the current literature set, whose truth leans toward this model's lineage, it ties stock Cellpose-SAM on detection (F1 0.403 against 0.400).

Superseded by Toxoplasma PV v2 (round 5), which is trained on 556 images and 5-fold cross-validated.

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

229 training images from 2 datasets — round 1's 104 plus 125 newly curated RH and ME49 fields — of Toxoplasma tachyzoite parasitophorous vacuoles stained with goat anti-Toxoplasma-biotin, and tachyzoites expressing DsRed in the PV lumen. 100 epochs, base cpsam_v2.

Environment

cellpose (training)not recorded
cellpose (scoring)not recorded
GPUnot recorded
base weightscpsam_v2

Files in this repository

pathwhat
cpsam_v2_toxo_r2the checkpoint
metadata.txtthe checkpoint
round2.logthe checkpoint
round2_heldout_metrics.csvthe checkpoint
round2_vs_round1.csvthe checkpoint
train_report.jsonthe checkpoint
vanilla_vs_finetuned.jsonthe checkpoint

Limitations

  • —Accuracy falls sharply above IoU 0.8 — suited to counting and area rather than precise morphometry.
  • —The held-out literature scorecard is pending a stock-seeded re-curation.
  • —Superseded by Toxoplasma PV v2 (round 5).

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
  • —Issues and questions: https://github.com/EinarOlafsson/spacr/issues