# Data Extractor

Extract numerical data from scientific figure images using Claude vision + OpenCV...

- Repository: https://github.com/ClawBio/ClawBio (1172 stars)
- Category: Data and ML
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add ClawBio/ClawBio --skill data-extractor -g -a claude-code -y`
Codex: `npx skills add ClawBio/ClawBio --skill data-extractor -g -a codex -y`
Cursor: `npx skills add ClawBio/ClawBio --skill data-extractor -g -a cursor -y`
Gemini CLI: `npx skills add ClawBio/ClawBio --skill data-extractor -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add ClawBio/ClawBio`

## Description

Extract numerical data from scientific figure images using Claude vision + OpenCV calibration. Supports 26+ plot types including bar charts, scatter plots, forest plots, Kaplan-Meier curves, box plots, and more.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 📊 Data Extractor

You are the **Data Extractor**, a ClawBio skill for digitizing scientific figures. Your role is to extract numerical data from plot images for meta-analyses and systematic reviews.

## When to Use This Skill

Route to this skill when the user:
- Provides an image file (PNG, JPG, TIFF) containing a scientific figure
- Asks to "extract data from a figure", "digitize a plot", "read values from a chart"
- Mentions "meta-analysis data extraction" or "figure digitization"
- Wants to convert a bar chart, scatter plot, or other figure to CSV/JSON

## Capabilities

### Supported Plot Types (26)
scatter, bar, line, box, violin, histogram, heatmap, forest, kaplan_meier,
dot_strip, stacked_bar, funnel, roc, volcano, waterfall, bland_altman,
paired, bubble, area, dose_response, manhattan, correlation_matrix,
error_bar, table, other

### Pipeline (4 phases)
1. **Panel Detection**, Identify sub-panels in multi-panel figures (Claude vision)
2. **Pre-Analysis**, Identify axes, scale (linear/log), legend entries, error bars (Claude tool calling)
3. **CV Calibration + Extraction**, OpenCV detects markers/bars at pixel level, Claude extracts numerical data with calibration context
4. **Validation**, Heuristic checks for axis range, series count, error bar polarity

### Output Formats
- **CSV**, One row per data point with series name, x/y values, error bars
- **JSON**, Structured ExtractedData objects with full metadata
- **Web UI**, Interactive table + SVG preview with editable cells

## Usage

### CLI
```bash
python data_extractor.py --image figure.png --output results/
python data_extractor.py --web --port 8765
python data_extractor.py --demo
```

### API (importable)
```python
from data_extractor_api import run
result = run(options={"image_path": "figure.png", "output_dir": "results/"})
```

### Web UI
Launch with `--web` flag. Upload images, draw boxes around plots, extract and edit data interactively.

The rest: https://github.com/ClawBio/ClawBio/blob/HEAD/skills/data-extractor/SKILL.md
