Agent4CT is a continuously-running LLM agent that improves a CT reconstruction codebase by editing it, running short experiments on a Slurm GPU cluster, and keeping or discarding changes based on the resulting metrics. The pattern is borrowed from karpathy/autoresearch and generalised to five CT-imaging benchmarks — the Pentathlon.
The Pentathlon
Five public AAPM CT reconstruction challenges, run on the same recon backbone (PYRO-NN fan-beam, Wagner / Siemens-AS geometry):
Mayo LDCT
AAPM Low Dose CT Grand Challenge (2016) — abdomen / chest / head, 25 % low-dose.
Metric: PSNR + SSIM vs high-dose recon
DL-Sparse-View CT
2021 — 2D breast phantom, 128-view sparse fan-beam, perfectly-known truth.
Metric: RMSE vs exact phantom
TrueCT
Truth-based CT (2022) — 200 virtual patients, mono-energetic phantom truth.
Metric: PSNR + RMSE vs mono-energetic truth
CT-MAR
CT Metal Artifact Reduction (2024) — sinogram + image pairs, 8-metric IQ score.
Metric: aggregate clinical IQ
DL-Spectral CT
Spectral CT (2022) — 1000 cases, two kVp, three-tissue map decomposition.
Metric: tissue-map RMSE
See Pentathlon for the headroom-recovered scoring and per-challenge train/val/test splits.
How the loop runs
Each iteration is one 5-minute Slurm job. The agent edits pentathlon/<challenge>/solver.py, the harness runs the job, computes the validation metric, and decides keep / discard via git. Every 30 iterations a 1-hour stage job runs on a 3× larger subset to catch overfitting. Test sets are touched exactly once, at the end. See Agents.
🏆 Leaderboards
Best-of-best per solver per dataset under the canonical calibrated-SSIM-headroom scoring convention.
The champion per dataset (single canonical ranking = headroom, SSIM tiebreak) is rendered live from the registry below, so it never drifts from the dataset boards.
See Leaderboards for the full per-solver rankings (every solver, below-baseline dimmed, with comparison images) and the cross-dataset summary.
Quick links
- 🏆 Leaderboards — calibrated headroom rankings per dataset
- 📊 Live dashboard — every run, every iteration, scratch pad with images
- 🧪 Setup — env, cluster, data
- 🥇 Pentathlon — challenges + scoring
- 🧠 Agents — the autoresearch loop
- ⚡ Performance — PYRO-NN + NFS tips
- 📓 Findings — cross-cutting insights from the autoresearch loop
- 📦 GitHub