← Writing

I measured where a sealed Herculaneum scroll is most likely to be readable — before anyone segments it

I found that PHerc1203, the finest-scanned sealed Herculaneum scroll that is still eligible for First Letters work, is mostly packed too tightly to read with the current virtual-unwrapping pipeline. But it is not uniformly hopeless. A small number of locations have measured readability geometry comparable to or better than known-readable regions in PHerc1667, a scroll that has already been virtually unwrapped and read end-to-end. I have not read any letters. What I have now is a map of where segmentation is worth attempting first.

The reason this matters is that the Vesuvius pipeline is not just an ink model. The usual path is: segment the coiled sheet out of CT, flatten it, then run ink detection. The ink model only has a chance if the flattened surface isolates one papyrus sheet in the 62-layer depth window it renders. If the surface is sitting in a packed or overlapping region, the output becomes speckle. That is exactly what the public auto_grown segmentation surfaces on PHerc1203 produce: no legible text, just speckle.

So I treated this as a diagnostics problem before a modeling problem. I extended my earlier readability gate into a CPU-only metric that can score candidate sites before spending GPU time on rendering and ink detection. For each surface column, I peak-center a 62-layer window on the brightest band along the local normal. A column is “readable-class” if two conditions hold: occupancy is at most 0.5, and band-prominence is at least 0.55. A site’s frac_readable is the fraction of its bright columns that pass both tests.

A two-panel chart titled 'What the 62-layer ink window sees.' Left, PERPENDICULAR (one sheet, readable): a single green band peaks mid-window with a small area above the papyrus threshold — occupancy 0.34. Right, OBLIQUE / PACKED (many bands, a smear): a red curve stays near the top across the whole window, shaded almost entirely above the threshold — occupancy 1.00.

The metric in one picture. A column that isolates one sheet puts papyrus in a narrow, prominent band with dark gaps around it (readable-class). A column in packed or oblique material stays bright through the whole depth window — no isolable sheet for the ink model to read.

The important part was calibration. A metric like this is only useful if it separates a scroll we know can be read from a scroll that is still sealed. I ran the same metric, unchanged, on PHerc1667, which is already virtually unwrapped and readable end-to-end. Then I ran it on PHerc1203.

PHerc1667 lit up. Across 60 sites, the median frac_readable was 0.35, the p90 was 0.94, and 62% of sites were at least 0.2. PHerc1203 did not. Across 240 stratified sealed-scroll sites, the median was 0.004, the p90 was 0.17, and only 10% of sites were at least 0.2. That is roughly a 90× median gap.

Histogram comparing per-site readability of PHerc1667 (read, green) and PHerc1203 (sealed, red) under the same metric. PHerc1667 spreads across all readability values with a large share of fully readable sites; PHerc1203 is spiked near zero with only a thin tail toward higher readability.

The load-bearing calibration. PHerc1667 — already read end-to-end — is readable-class at most sites (median 0.35), spread all the way up to fully readable. Still-sealed PHerc1203 sits near zero (median 0.004). A read scroll lights up; the sealed one does not. That ~90× gap is what licenses trusting the metric as a pre-segmentation acceptance test.

This is the load-bearing result. It says the metric is not just producing arbitrary scores. On a scroll already known to be readable, the same procedure finds many readable-class windows. On sealed PHerc1203, it mostly finds packed geometry. A read scroll lights up; the sealed one does not. That is what makes the metric worth using as a pre-segmentation acceptance test.

The PHerc1203 survey was mostly negative, but not entirely. Most sampled locations were effectively dead, with a median frac_readable of 0.004. The maximum site reached 0.89, and 13 of the 240 sites were at least 0.4. These are rare pockets, not broad regions. But they are exactly the kind of pockets a segmentation search should prioritize.

The same result also explains why the public PHerc1203 surfaces fail. I ran a basin probe around the 22 public auto_grown surfaces, searching within plus or minus 100 voxels along the normal and plus or minus 24 voxels tangentially. I did not find a readable sheet near any of them. In other words, those surfaces are sitting in packed dead zones. The speckle is a placement failure, not evidence that the ink model cannot work on PHerc1203.

Two PHerc1203 CT cross-sections at 2.4 micron. Left, PACKED (6% readable-class): a dense chaotic mass of crushed, overlapping fibers with only sparse scattered green readable-column markers. Right, READABLE POCKET (32% readable-class): a clean bright papyrus sheet running diagonally through dark air gaps, with green readable-column markers densely tracing along it.

The same scroll, the same metric, two places. Left: packed, crushed material — most of PHerc1203 looks like this, and it’s where the public surfaces sit. Right: a rare pocket where a single sheet is cleanly isolated in dark gaps, and the readable-class columns (green) trace right along it.

I had one uncomfortable moment with the best PHerc1203 pocket. Dense mapping initially made it look like the pocket fragmented into tiny pieces. That would have weakened the result, because a few isolated readable columns are less useful than a coherent surface target. I then ran the identical pipeline on a known-readable PHerc1667 site, and it fragmented in the same way. That pointed to my normal estimation as the source of the fragmentation, not the material.

To check this more directly, I ran a small robustness panel with the same 384³ pipeline on three groups: five readable PHerc1667 anchors, five dead PHerc1203 controls, and the top three PHerc1203 pockets. The readable PHerc1667 anchors had median frac_readable 0.30 and median largest connected component of 2950 cells. The dead PHerc1203 controls had median frac_readable 0.014 and component size 25. The top PHerc1203 pockets landed in between, with median frac_readable 0.14 and component size 573.

The best PHerc1203 pocket was stronger than that median: frac_readable 0.33, largest connected component 3943. That puts it inside the distribution of the readable PHerc1667 anchors in this panel. Pockets two and three were intermediate.

I want to be careful about the wording here. The best pocket is comparable to or better than known-readable PHerc1667 anchors under this pipeline. I am not claiming it is statistically indistinguishable from them. This is one top pocket compared against a small control panel, not a large-powered study. It is a strong candidate, not a finished result.

The other limit is more basic: this measures readability potential and geometry, not ink. I did not read letters. I did not grow a surface at the pocket. I did not render it through the full reading path. Absolute sheet area is also pipeline-limited. The same pipeline undercounts even on readable PHerc1667, so I report coherence relative to the PHerc1667 anchors rather than treating the raw area as an absolute physical measurement.

Even with those limits, the result changes the next step. Before this survey, a natural approach was to try surfaces, render, run ink detection, and inspect the output. That is expensive, and on PHerc1203 it can burn effort on surfaces that never had a readable 62-layer window to begin with. Now there is a cheap CPU diagnostic that says where the segmentation search should aim and where it should stop.

That fits the challenge’s own framing: diagnostics matter more than just trying larger models. If the rendered window does not isolate one sheet, a better ink model is being asked to solve the wrong problem. The acceptance test should happen before GPU inference, not after.

I will release the code and the candidate coordinates. The immediate next step is straightforward: grow a surface at the best PHerc1203 pocket and actually try to read it. The result may still fail. The pocket may not contain ink. The grown surface may not hold together well enough. But for the first time, there is a measured map of where that attempt is worth making.

Subscribe