← mohithgajjela.com
SYSTEM / 06
MOHITH GAJJELA
RECORDED DEMO
real outputs of trained models
SYSTEM 06 / FAUXGRAFT

Two hand-labeled scans did the work of about six.

To train a model that finds tumors in mouse CT scans, an expert first has to outline every tumor in 3D by hand. Fauxgraft paints realistic fake tumors into real scans so the model can learn from far fewer of those outlines. Pick how many labeled scans the model gets, and compare it with and without the fakes.

01THE EXPLORER · 4 HELD-OUT MICE · 15 TRAINED MODELS

Every model below saw the same K hand-labeled scans. The only difference is what got added: nothing, simple spheres, or Fauxgraft tumors. None of them ever saw these four mice. The first column is the answer: the consensus of three experts.

RECORDED DEMO

These are the real predictions of models I trained, saved from the actual runs. Training them took a 2.5-hour CPU sweep, so it doesn't happen in your browser. The training code is on GitHub.

WHAT THE REPO DOES
Labeled scans (K)
Held-out mouse
REPLAY
02SPOT THE FAKE · 8 SLICES

Four are real tumors.
Four were painted in.

Click the four you think are fake, then reveal. Each slice is a 27 mm window through the flank of a mouse from the training set. The real ones are xenografts outlined by experts.

03RESULTS · 114 HELD-OUT SCANS FROM 55 UNSEEN MICE

A cold-start tool.
Big early, zero later.

With 1 or 2 labeled scans, the fakes were worth about three times the labels. By 8 labeled scans the advantage is gone. Simple spheres are the control: they help a little at first, then make the model worse, which says the realism is doing the work, not just having more examples.

DICE VS EXPERT CONSENSUS · HIGHER IS BETTER
MEDIAN TUMOR-VOLUME ERROR · LOWER IS BETTER
REAL LABELS ONLY+ SIMPLE SPHERES+ FAUXGRAFTALL 325 TRAINING SCANSEXPERT VS EXPERT

Mean ± sd across seeds: 3 at K ≤ 4, 2 at K = 8 and 16, 1 all-data reference. The confidence intervals are paired per held-out scan with a bootstrap. "Worth about" interpolates the real-labels-only curve on a log scale.

04HOW A FAKE TUMOR IS MADE

Copy what a flank xenograft
actually looks like.

01

Find the skin

Pick a point on the skin of the trunk, at least 4 mm from any real tumor, so nothing overlaps a real label.

02

Pick a size

Choose a volume between 30 and 1,500 mm³. Real tumors here run from about 14 to 3,800.

03

Make it lumpy

Start from a randomly rotated ellipsoid and roughen the surface with smoothed noise, so it isn't a clean sphere.

04

Make it bulge

Push the center outward along the skin, so most of it sticks out of the body the way a real xenograft does.

05

Match the tissue

Copy the brightness and grain of the real labeled tumors, and blur the edge over about one voxel the way the scanner does.

The fakes only go into the K labeled training scans, never into test scans, so the label budget is honest. The simple-sphere control is a perfect constant-brightness ball dropped anywhere inside the body, which is what "just add synthetic data" usually means.

05THE REAL THING · THIS PAGE IS A REPLAY

This page shows the outputs.
The repo trains the models.

The repo has the generator, a 3D U-Net training loop (PyTorch + MONAI), the full label-budget sweep, the re-evaluation, every figure, and the per-run results behind this page. Data is the public TumSeg database (Jensen et al., Scientific Data 2024, CC-BY): 452 whole-body mouse micro-CT scans, each tumor outlined by three experts.

# 2.2 GB download + preprocessing
bash scripts/get_data.sh data
# one run: 2 labeled scans + Fauxgraft tumors
python3 -m fauxgraft.train --k 2 --arm fauxgraft --seed 0
# the whole sweep, then every number and figure on this page
python3 -u scripts/sweep.py --workers 4 --threads 4
python3 scripts/reeval.py && python3 scripts/analyze.py
06LIMITS · STATED PLAINLY

What this page
cannot claim.

  • Few seeds. Compute allowed 3 seeds at K ≤ 4, 2 at K = 8 and 16, and one all-data reference. Which mice happen to be labeled matters a lot when K is tiny: real-labels-only at K = 1 ranged from Dice 0.04 to 0.35 across seeds. That's why the main comparisons are paired per scan.
  • More stray detections. Models trained with fakes fire on more small spots at low K (6.0 per scan vs 1.3 at K = 2). A 10 mm³ size filter cuts that to 3.8 vs 0.7 without changing any conclusion. Stray spots are also a weakness of this small model generally: even the all-data model averages 9 per scan.
  • The fakes stick out more than real tumors. On a test cylinder, about 82% of a fake's volume sits outside the body. Real xenografts in these scans are more embedded, as Spot the Fake shows. Closing that gap is the obvious next step.
  • Controlled comparison, not a state-of-the-art claim. Everything ran on one laptop CPU at half resolution (0.42 mm) with a 0.6M-parameter network. Absolute Dice isn't comparable to full-resolution, GPU-trained models. What matters is the gap between arms trained identically.
  • One generator, no tuning against test results. The size, bulge and texture rules were set before the sweep, and only that version was ever run.
Home