Partaker (Python-based Analyzer for Real-Time Assessment of Kinetics and Expression in Real-time) is a GUI application for single-cell bacterial image analysis in microfluidic time-lapse microscopy. It integrates deep learning segmentation, multi-channel fluorescence quantification with Relative Promoter Unit (RPU) calibration, and morphological analysis in a unified interface.
Partaker allows you to create plots like this:
- Multi-model segmentation: Six selectable deep learning models for cell segmentation
- Multi-channel fluorescence: Per-cell fluorescence quantification with background subtraction and RPU calibration
- Morphological analysis: Automated cell classification (rod, coccoid, artifact) with eight morphological descriptors
- ND2 and TIFF support: Native reading of Nikon ND2 files and standard TIFF stacks
- Multi-file stitching: Automatic concatenation of sequential acquisitions on the time axis
- Session management: Save and resume analysis sessions through HDF5
Partaker integrates the following pretrained deep learning backends:
| Model | Family | Best For |
|---|---|---|
omnipose_bact_phase |
Omnipose | Phase-contrast, dense monolayers |
omnipose_bact_fluo |
Omnipose | Fluorescence images |
bact_phase_cp3 |
Cellpose 3 | Phase-contrast, general bacteria |
bact_fluor_cp3 |
Cellpose 3 | Fluorescence images |
cellpose_deepbacs |
DeepBacs/Cellpose | Phase-contrast bacteria |
unet |
Custom U-Net | User-trained binary segmentation |
Users can compare model outputs on their data and select the best-performing model for their imaging conditions.
- Python >= 3.10, < 3.12
- macOS (Apple Silicon or Intel), Windows, or Linux
- uv package manager (recommended)
- Install uv if you do not have it:
curl -LsSf https://astral.sh/uv/install.sh | sh- Clone the repository:
git clone https://github.com/SamOliveiraLab/partaker.git
cd partaker- Launch Partaker:
uv run guiThis will automatically download and install all dependencies and open the main GUI window.
- Load data: Go to
File > Openand select your ND2 or TIFF file - Navigate: Use the T (time), P (position), and C (channel) sliders to browse your data
- Segment: Select a segmentation model from the dropdown (e.g.,
omnipose_bact_phase) and switch Display Mode to "Labeled Segmentation" or "Overlay with Outlines" - Batch segment: Use the Segmentation tab on the right panel to select positions, time range, and model, then click "Segment Selected"
- Analyze fluorescence: Switch to the Population tab to quantify fluorescence intensity per cell across channels
- Morphology: Use the Morphology tab to extract cell shape descriptors and classify cell types
- Normal: Raw microscopy image
- Overlay with Outlines: Segmentation contours overlaid on the original image
- Labeled Segmentation: Color-coded instance labels showing individual cells
To use a custom-trained U-Net model, set the environment variable before launching:
export PARTAKER_UNET_WEIGHTS="/path/to/your/unet_weights.pt"
uv run guiThe weights file should be a PyTorch state-dict (.pt). A conversion script (convert.py) is provided for converting Keras .h5 weights to PyTorch format.
The validation dataset used in the manuscript (two-strain E. coli co-culture in monolayer microfluidic chambers) is available on the BioImage Archive under accession S-BIAD3015.
The segmentation benchmark dataset (45 annotated phase-contrast frames with ground-truth instance masks across four chamber positions) and the custom U-Net training dataset (80 frames with binary and instance masks, boundary weight maps, and trained model weights) are archived on Zenodo, together with the benchmarking notebook used to compute the reported metrics:
https://doi.org/10.5281/zenodo.20577330
Running the segmentation and analysis workflow on the example data produces:
- Segmentation masks: instance-labeled masks for each frame, viewable as "Labeled Segmentation" or "Overlay with Outlines"
- Cell metrics CSV: a per-cell, per-frame table containing morphological descriptors (area, perimeter, aspect ratio, solidity, and others) and per-channel fluorescence values
- Fluorescence time series: aggregated single-cell and population-level RPU traces synchronized with medium perturbations
- Benchmark metrics CSV: per-frame instance-level Jaccard Index, Dice coefficient, and mean IoU for each segmentation model (see the benchmarking notebook in the Zenodo deposit)
A video walkthrough of Partaker is available on YouTube: Partaker Demo
Full documentation is available at: https://samoliveiralab.github.io/partaker/
Contributions are welcome. Please use conventional commits and contact the maintainers before starting major changes.

