cp-extract-measurements¶
cp-extract-measurements is the CellProfiler measurement step for classical Cell Painting profiling.
It produces the standard measurement tables that later classical profiling steps use.
Purpose¶
Use this skill when you want:
the standard CellProfiler tables before profile aggregation
per-image metadata together with per-cell and per-nucleus measurements
the measurement stage that feeds the single-cell table step
Main Outcome¶
After this skill finishes, the run has standard CellProfiler measurement tables at the image, cell, and nucleus levels.
In the public demo setup, the packaged repository reuses bundled demo CellProfiler outputs instead of launching a fresh profiling backend run.
Inputs¶
This skill reads:
a project config such as
configs/project_config.demo.jsonthe profiling backend selected by that config
the profiling
.cppipeselected by the configan optional output directory
Outputs¶
Image.csvThe image-level metadata table. Each row represents one field or site.Cells.csvThe whole-cell measurement table. Each row represents one segmented cell.Nuclei.csvThe nucleus measurement table. Each row represents one segmented nucleus.pipeline_skill_manifest.jsonThe run record for this skill invocation.
In this bundled demo output, Cytoplasm.csv is not present.
Agent Demo¶
This page is based on a real local OpenClaw turn against the repository demo config:
record id:
cpmeasure-local-v5recorded on
2026-05-06 13:25 UTCmodel:
vibe/gpt-5-mini
Request¶
I want to inspect the raw CellProfiler measurement tables in this demo and understand what biological level each table represents.
Structured Trace¶
user_input:
I want to inspect the raw CellProfiler measurement tables in this demo and understand what biological level each table represents.
recorded_turn:
- the saved OpenClaw turn answered this request directly
- the reply referenced the bundled demo CellProfiler outputs under `demo/backend/profiling_backend/outputs/cellprofiler`
- the reply reported `Image.csv`, `Cells.csv`, and `Nuclei.csv`
- the reply explicitly noted that `Cytoplasm.csv` was not present in this demo bundle
final_answer_snapshot:
The raw CellProfiler tables in this demo are Image.csv, Cells.csv, and Nuclei.csv, and each one corresponds to a different biological level in the profiling workflow.
Observed Result¶
The recorded run exposed these standard CellProfiler tables:
Image.csv2image rows and4columnsCells.csv4cell rows and13columnsNuclei.csv4nucleus rows and5columns
In this public demo bundle:
Cytoplasm.csvwas not presentthe skill reused bundled CellProfiler outputs instead of launching a fresh backend script
Recorded Reply¶
I inspected the raw CellProfiler measurement outputs available in this demo.
Available raw measurement tables
- `/root/pipeline/CellPainting-Claw/demo/backend/profiling_backend/outputs/cellprofiler/Image.csv`
- `/root/pipeline/CellPainting-Claw/demo/backend/profiling_backend/outputs/cellprofiler/Cells.csv`
- `/root/pipeline/CellPainting-Claw/demo/backend/profiling_backend/outputs/cellprofiler/Nuclei.csv`
A `Cytoplasm.csv` table was not available in this bundled demo output.
What biological level each table represents
`Image.csv` — image / field level
- 2 rows
- one row per imaged field / site
- carries plate, well, and site context
`Cells.csv` — whole-cell single-cell level
- 4 rows
- one row per segmented cell
- contains cell coordinates, area, and channel intensities
`Nuclei.csv` — nucleus single-cell compartment level
- 4 rows
- one row per segmented nucleus
- contains nucleus coordinates and nuclear area
How to think about them together
- `Image.csv` → field / site level
- `Cells.csv` → whole-cell single-cell level
- `Nuclei.csv` → nucleus single-cell level
These are still the raw pre-aggregation measurement tables before anything is merged into a single-cell table or summarized into well-level profiles.