Colony Counting Models

Pre-trained models for automated colony counting in 96-well plate images, developed at the Center for Living Systems, University of Chicago.

Models

This repository contains three files that work together as a two-stage pipeline:

File Architecture Task
CLS_colony_counting_bw_model.pth EfficientNet-B0 (PyTorch) Binary well classification backbone
CLS_colony_counting_lr_head.joblib Logistic Regression (scikit-learn) Binary classifier head (positive / negative)
CLS_colony_counting_count_model_smoothl1.pth EfficientNet-B0 (PyTorch) Colony count regression

Stage 1 β€” Binary Well Classification

Classifies each cropped well image as positive (colony growth present) or negative (no growth).

  • Backbone: EfficientNet-B0 fine-tuned end-to-end, 1280-d average-pool features
  • Head: Logistic Regression (class_weight="balanced")
  • Output: binary label + probability of positive (p_pos) + two confidence scores (MSP, entropy)

Stage 2 β€” Colony Count Regression

Predicts the colony count for positive wells. Zero-count wells are handled by Stage 1.

  • Backbone: EfficientNet-B0 with a single regression output neuron
  • Loss: SmoothL1 (Huber loss)
  • Uncertainty: Monte Carlo dropout (20 forward passes at inference)
  • Output: predicted count (clamped to [0, 100]) + standard deviation across MC samples

Usage

Download the models using the companion script in the colony_counting repository:

git clone https://github.com/Center-for-Living-Systems/colony_counting.git
cd colony_counting
conda env create -f environment.yml
conda activate colony_counting
pip install -e .
python download_models.py

Then run the full pipeline:

jupyter notebook notebooks/run_full_pipeline.ipynb

Set PLATE_IMAGE_FOLDER and OUTPUT_DIR in the config cell β€” model paths are auto-discovered from trained_models/.

Input Format

  • Plate images: grayscale TIFF, uint16, 1944 Γ— 2592 px, one per 96-well plate
  • Well crops: 96 PNG images per plate (~154 Γ— 154 px), extracted by the pipeline's well detection step

Training Data

Models were trained on 96-well plate images from yeast colony growth experiments. Labels were collected using a custom Streamlit labelling interface and split at the plate level to minimise data leakage.

License

BSD 3-Clause β€” see LICENSE.

Citation

If you use these models, please cite the colony_counting repository:

Center for Living Systems, University of Chicago.
Colony Counting Pipeline. https://github.com/Center-for-Living-Systems/colony_counting
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support