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.
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.
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.
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.
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.
Pick a point on the skin of the trunk, at least 4 mm from any real tumor, so nothing overlaps a real label.
Choose a volume between 30 and 1,500 mm³. Real tumors here run from about 14 to 3,800.
Start from a randomly rotated ellipsoid and roughen the surface with smoothed noise, so it isn't a clean sphere.
Push the center outward along the skin, so most of it sticks out of the body the way a real xenograft does.
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.
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