Vesuvius Challenge open data · free, no key

Are papyrus fibers visible on your traced surface?

Pick any traced segment of the open data, or upload your own mesh. Fiber Checker renders the CT along the surface patch by patch and tells you where long, thin papyrus strands show, with a check of itself on every run.

Made and shared by Chase Hendrick, October 2026. Scans and meshes: Vesuvius Challenge open data.

1.00sheet vs the gap beside it, on two scrolls it never saw
92 to 98%sheet vs a tile shuffle (pixel measure 53 to 57%)
0 USDthe free judge runs on this page's CPU
~80 sfor a 60-patch check of a segment

What the judge sees

Each patch is the CT rendered on the traced surface. The judge has to prefer it over copies that keep its brightness and texture but lose the strands. On a surface that sits on papyrus, it does, by a wide margin.

A fiber map

The result of a check: every patch colored by its fiber evidence, on the segment's own mesh grid, so it lines up with the trace. Below the map, the clearest patches the judge saw.

A fiber map of PHerc0139 segment w030
clear fiberssomeweakno signnot scored

PHerc0139, segment w030

A public scroll on no prize list, the 2.4 um scan of 2 January 2026 at level 2. This winding was one the free judge trained on, so it shows the output, not evidence of how well it works.

clearest patch 1clearest patch 2clearest patch 3 clearest patch 4clearest patch 5clearest patch 6

Model output about texture, never a reading of text.

The page

Choose a scroll, a segment and a scan, press Check fibers, and the map, the numbers, the clearest and weakest patches and a download appear beside it. The download holds fiber.json, fiber.tif, the map and a one-page report.

The Check a segment tab with a finished check

Who it is for

One check, read four ways.

🌱

Beginners

See what papyrus fibers look like in CT, play Fiber or not? against the model, and check an example in two minutes.

🏆

Prize entrants

The Progress Prize asks you to show fibers on your output surface. Attach the one-page report, and say which judge you used.

🔬

Researchers

Preregistered, tested once on held-out scrolls against built controls, with the failed first round on record. Compare two tracers patch by patch.

🧭

Tracers and tool builders

Upload a tifxyz, read fiber.tif on your own mesh grid, or call the API or MCP server from a script or an agent.

How it was tested

The free judge is a small network trained on Claude's answers about renders of four public scrolls. Its test was written down before any test image existed, then run once on two scrolls it never saw.

Pair the judge had to get rightPHerc0500P2PHerc0343PPixel measure
Sheet vs the gap beside it1.001.000.79, 0.76
Sheet vs a 14-pixel tile shuffle, a size never trained on0.980.920.53, 0.57
Sheet vs 3 voxels off0.870.68

120 and 62 patches; the pixel measure is structure-tensor coherence. A first round failed (it preferred tile-shuffled renders, because it rewarded the edges a shuffle adds) and stays on record; the second added shuffles of other sizes to training. All of it is model output.

Limits