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.json

  • the profiling backend selected by that config

  • the profiling .cppipe selected by the config

  • an optional output directory

Outputs

  • Image.csv The image-level metadata table. Each row represents one field or site.

  • Cells.csv The whole-cell measurement table. Each row represents one segmented cell.

  • Nuclei.csv The nucleus measurement table. Each row represents one segmented nucleus.

  • pipeline_skill_manifest.json The 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-v5

  • recorded on 2026-05-06 13:25 UTC

  • model: 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.csv 2 image rows and 4 columns

  • Cells.csv 4 cell rows and 13 columns

  • Nuclei.csv 4 nucleus rows and 5 columns

In this public demo bundle:

  • Cytoplasm.csv was not present

  • the 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.

Next Skills