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.
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.
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 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.




Model output about texture, never a reading of text.
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.
One check, read four ways.
See what papyrus fibers look like in CT, play Fiber or not? against the model, and check an example in two minutes.
The Progress Prize asks you to show fibers on your output surface. Attach the one-page report, and say which judge you used.
Preregistered, tested once on held-out scrolls against built controls, with the failed first round on record. Compare two tracers patch by patch.
Upload a tifxyz, read fiber.tif on your own mesh grid, or call the API or MCP server from a script or an agent.
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 right | PHerc0500P2 | PHerc0343P | Pixel measure |
|---|---|---|---|
| Sheet vs the gap beside it | 1.00 | 1.00 | 0.79, 0.76 |
| Sheet vs a 14-pixel tile shuffle, a size never trained on | 0.98 | 0.92 | 0.53, 0.57 |
| Sheet vs 3 voxels off | 0.87 | 0.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.