The problem — High-content screening generates hundreds of thousands of images per experiment. Measuring cell morphology consistently across that volume — and across plates, runs, and sites — requires a pipeline that encodes every measurement decision explicitly, produces the same answer on the same image regardless of when or where it runs, and is shareable so collaborators can reproduce the analysis rather than approximate it.
What it is / how it works — CellProfiler is a modular, pipeline-based image analysis platform developed at the Broad Institute. Users assemble analysis steps from a library of modules — identify nuclei, expand to cells, measure morphology, measure intensity, measure texture, flag QC failures — into a .cppipe file that is both the executable and the record of what was done. In batch (headless) mode the same pipeline runs across an HPC cluster without GUI overhead. Feature output is a per-cell table of several hundred measurements covering shape, intensity distribution, texture, and spatial relationships across compartments. CellProfiler is the canonical feature-extraction engine for the Cell Painting assay: the Bray et al. (2016) protocol was designed around it, and every JUMP-CP dataset was processed through a CellProfiler pipeline. It integrates Cellpose and StarDist as segmentation plugins, so deep-learning masks feed cleanly into CellProfiler measurement modules.
Where it fits in the pipeline — CellProfiler spans two stages. At segment it identifies nuclei, cells, and cytoplasm compartments — the objects every downstream measurement is tied to. At features it extracts the full measurement set from those objects. Illumination correction (BaSiCPy / CIDRE) should precede it; batch correction (Harmony, sphering) follows. See Cellpose vs CellProfiler for Nuclei Segmentation for when to hand off the segmentation step to a dedicated deep model and pass the masks in.
Where it breaks — CellProfiler is a 2D tool. Volumetric data (light-sheet, confocal z-stacks, organoids) requires a different stack: Cellpose in 3D mode, napari, or StarDist for segmentation, then custom feature extraction. It has no frame-to-frame tracking — live-cell time-lapse work belongs to TrackMate or btrack. For whole-slide tissue sections QuPath is the correct choice. The pipeline GUI scales poorly to highly multiplexed data (>10 channels, cyclic-IF): configuring channel-by-channel measurement modules becomes error-prone, and spatial-omics workflows are better served by squidpy downstream of Cellpose segmentation. Within its domain — fixed-cell 2D high-content screening — it remains the most reproducible and auditable option available.