cellprofiler
Processes microscopy images to analyze cells. It allows counting cells, measuring features, and visualizing results reliably.
What it does
This tool helps to automatically and repeatably count and measure cell nuclei in microscope images. It processes images to identify nuclei, count how many there are, and measure features like brightness.
When to use it
- ✓When you need to count cell nuclei across many microscope images.
- ✓To measure the amount of light (fluorescence) within each cell nucleus.
- ✓When it's important that the analysis is exactly the same every time it's run.
Example of what to ask your AI
“Analyze these microscope images and count the nuclei in each, measuring their brightness.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
You provide the images and a set of instructions (a pipeline). The tool uses a program called CellProfiler to follow these instructions, find the nuclei, count them, and extract the measurements you requested.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add K-Dense-AI/scientific-agent-skills --skill cellprofilerOr download just the file:
curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/cellprofiler/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
CellProfiler quantitative microscopy
Use this skill when a user needs a repeatable CellProfiler .cppipe, nuclear counts, nuclear
fluorescence, or batch microscopy measurements. The bundled assay accepts one 2D grayscale
TIFF nuclear channel per field, with black-is-zero (MINISBLACK) pixels and bright nuclei on a
dark background. Palette and white-is-zero TIFFs need an explicit conversion. For volumetric
segmentation, multichannel cell painting, or tissue-specific models, design a separate pipeline
and validate those assumptions rather than silently projecting or splitting the images.
The official application and manual remain 4.2.8. PyPI publishes 4.2.8.1; its seven modules used here and embedded Threshold module match the 4.2.8 source, but this review did not execute that native distribution. Keep the helper environment separate from CellProfiler's older dependency stack; see the runtime reference for the verification boundary.
Workflow
- Establish the acquisition unit: plate, well, site, time point if present, pixel size, nuclear channel identity, camera bit depth, exposure, and biological replicate. Keep original image intensities. Convert proprietary formats explicitly with Bio-Formats before using this helper.
- Create the CSV manifest below.
image_pathis absolute or relative to the manifest; sample IDs use letters, digits, dots, dashes, or underscores; sample IDs and plate/well/site combinations are unique. Use a nonnumeric sample ID such assample_001: LoadData infers column types and can otherwise turn001into1. Avoid surrounding whitespace in identifiers. TIFFs must be uint8 or uint16, single plane/series/resolution, and nonconstant. The helper rejects RGB, z-stacks, and float images rather than guessing channels. - Use assets/nuclei.cppipe as a starting pipeline: LoadData → IdentifyPrimaryObjects → intensity/size measurements → outline overlay → CSV export. The initial diameter range is 8–80 pixels, with global Otsu thresholding, no threshold smoothing, and border objects excluded. Calibrate this range from representative images and acquisition pixel size before comparing conditions.
- Run a small pilot spanning controls, low/high density, dim images, and plate edges. Inspect
saved overlays for missed nuclei, splits, merges, and edge exclusions. Adjust thresholding
and declumping in CellProfiler, export the tuned
.cppipe, and pass--pipelineto preserve it. Do not choose settings separately for each treatment to make their counts agree. - Freeze the tuned pipeline and analyze the batch. Review input saturation warnings, zero counts, count/area distributions, and control behavior. Aggregation for inference belongs at the biological replicate level; thousands of cells from one well are not independent wells.
Run the bounded assay
From this skill directory, create images.csv:
sample_id,image_path,plate,well,site
control_A01_1,images/control_A01_1_DAPI.tif,Plate1,A01,1
python scripts/nuclei_assay.py prepare images.csv load_data.csv
python scripts/nuclei_assay.py run images.csv results --executable cellprofiler
python scripts/nuclei_assay.py summarize results
run requires a fresh/empty output directory and executes CellProfiler with -c -r, a saved
pipeline copy, --data-file, output folder, and --done-file. Success requires exit code zero,
a Complete marker, and valid measurement tables. It records the command, pipeline checksum,
input image checksums, and sample QC in assay_qc.json before execution, retaining failed
status and the error if execution or output validation fails. CellProfiler output goes to
cellprofiler.log. Rerun in a new output folder. summarize checks CSV contents independently;
it does not prove an engine run completed.
Custom pipelines must preserve DNA, Nuclei, Metadata_Sample, integer-dtype scaling, and
the unprefixed single-object Image.csv/Nuclei.csv export contract. Keep the required
intensity/area measurements. A renamed object set or different intensity scale needs a
corresponding helper adaptation, not an unchecked --pipeline substitution.
The executable can also be the CellProfiler application launcher or a local container launcher; see references/runtime-and-qc.md for the container target,
…
FAQ
What kind of image works best?
It works best with grayscale microscope images (TIFF) that show only the nuclei, with bright nuclei on a dark background.
What is a 'pipeline'?
A pipeline is a step-by-step instruction file that tells CellProfiler exactly what to do with the images, such as where to look for nuclei and what measurements to take.
Can I use color or 3D images?
This specific tool is designed for 2D grayscale images. For color, 3D, or more complex images, you would need a different pipeline.
Details
Original description by the author
Runs reproducible CellProfiler microscopy pipelines for nuclear segmentation, cell counts, and per-object fluorescence measurements. Supports image/channel manifests, headless batch execution, segmentation overlays, and measurement QC for 2D fluorescence assays.
Popularity
- GitHub stars
- 51k
- Ranking position
- #1844
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
13c-metabolic-flux
Estimates metabolic fluxes using carbon-13 isotope tracing data. It is useful for analyzing cellular metabolism and biochemical pathways.
K-Dense-AI/scientific-agent-skills
adaptyv
Designs protein characterization experiments using the Adaptyv API. It helps estimate costs, submit sequences, and monitor lab results.
K-Dense-AI/scientific-agent-skills
aeon
Performs machine learning tasks on time series data. It is useful for classifying, forecasting, detecting anomalies, and finding patterns in sequential data.
K-Dense-AI/scientific-agent-skills
alphagenome
Looks up precomputed genomic effects for genetic variants. It provides scores and explanations to understand the impact of variants on the genome.
K-Dense-AI/scientific-agent-skills
Similar skills
dashboard-builder
Helps your agent create useful monitoring dashboards. It turns data into charts that answer important system questions.
affaan-m/ECC
dev-team
Simulates a collaborative development team where different roles respond to a problem together. It's useful for getting multiple perspectives without manually switching agents.
affaan-m/ECC
ecc-council
Has your agent convene a four-voice council for difficult decisions. It's useful when there are multiple good options and debate is needed before choosing.
affaan-m/ECC