Supporting material for SUBMISSION.md — the cross-run GrowPatch
sheet-switch detection writeup.
SUBMISSION.md— the submission itself.FINDINGS.md— full research log (scanning methodology development, intermediate results, all 28-range sweep, CT ground-truth work) thatSUBMISSION.mdis distilled from. Read this for the complete reasoning trail, including dead ends investigated and ruled out along the way.scripts/— every script used to produce the results in both documents, in the order they were developed:cross_run_consistency.py,batch_scan.py— original coarse (45.5um) cross-run prototype and full-corpus scan.fine_scan.py,visualize_fine.py,fine_scan2.py— fine (2.4um) follow-up and coverage-gap vs. switch classification.characterize_switch_w010.py— first per-cluster normal/tangential displacement decomposition (superseded byswitch_scan_v2.pyfor scanning, kept for the original analysis).switch_scan_v2.py,region_merge.py— the corrected deep scanner (walks the full ranked disagreement list, not just top-N) and region re-clustering used for all final results.sweep_remaining.py,rollup.py— automated the remaining 21-range sweep and produced the final 28-range summary table.find_peak.py— extracts true peak-disagreement points per region (not bounding-box centers) for accurate spot-checks.render_w107_patch.py— local tangent/normal-plane point-cloud visualization (pre-CT visual confirmation).ground_truth_ct.py,ground_truth_ct_generic.py,boundary_check.py— raw CT ground-truth confirmation: streams CT chunks from the open-data volumes bucket and overlays both runs' points on the real material-density background.prevalence_check.py— supporting data-volume sanity check for the "clean" (zero-signal) ranges.
figures/— the key result images referenced inSUBMISSION.md:sideview_w107-109.png— pre-CT visual confirmation (two coherent parallel point-cloud bands).ct_groundtruth_w107-109.png,ct_groundtruth_w073-076_tight.png,ct_groundtruth_w010-027_peak.png,ct_groundtruth_w064-068_wide.png,ct_groundtruth_w101-103_wide.png,ct_groundtruth_w104-106_wide.png— raw CT overlay confirmation at the 6 spot-checked peaks.boundary_check_w107-109.png— before/inside/after divergence check ruling out a constant registration offset.
All scripts are pure Python (numpy, scipy, Pillow, matplotlib,
stdlib urllib/concurrent.futures for HTTP chunk streaming) — no C++
build, no volume-cartographer install. They read directly from the
public, CC-BY-NC Vesuvius Challenge open-data S3 bucket:
s3://vesuvius-challenge-open-data/PHercParis4/segments/— the two independentGrowPatchtracings (2026-06-23 and 2026-07-01 batches) used for cross-run comparison.s3://vesuvius-challenge-open-data/PHercParis4/volumes/20260411134726-2.400um-0.2m-78keV-masked.zarr— the raw CT reference volume used for ground-truth confirmation.
Scripts expect a local fine2_4/<run>_<range>/ mesh cache populated by
sweep_remaining.py (or the original coarse cache via batch_scan.py);
see each script's top-of-file VOLUME_URL/path constants for the exact
layout.