Continuing the march towards robust autosegmentation methods, this past month’s progress prizes are largely centered around methods to accomplish this task and tools/workflows to enable it.
2 x $2,500
Will Stevens / @willstevens0478_75318 has extended his ball-and-spring surface-growing algorithm, detailed here. Like the sheet tracing method, it adds initial candidate vertices using simple neighborhood heuristics, but it differs in how it then optimizes these candidates to better fit the surface: (1) after each batch of insertions the mesh undergoes a mass-spring relaxation that minimizes nodal forces and conforms the sheet to the predicted surface, and (2) the resulting per-vertex stress map acts as an intrinsic quality check, clearly exposing layer “sheet switches” and other mistakes (the images look great, too!).


Lachlan Parker / @lcparker explored methods for generating synthetic data for instance segmentation by creating nearby Bezier surfaces, taking their signed distance function, and creating a mask which is filled with intensity values sampled from real data cubes. Check out the jupyter notebooks and the repository here.
Additionally, Lachlan created a simplified version of the Mask3d repository, tailored specifically for the task of instance segmentation on scroll data. While being one of the stronger frameworks for instance segmentation, Mask3d is notoriously difficult to install, so this is a very welcome addition!


2 x $1,000
Stephane Gouttebroze / @stephane.gouttebroze implemented an addition to khartes, available in his khartes branch, which refines existing manual segmentations to tighten their fit to the papyrus sheet. This is done by moving vertices which lie in lower intensity regions towards higher intensity ones. This looks like it could provide an improvement to ink detection models!
Before and after running segmata Yao Hsao / @.yaohsiao created a simplified version of neuroglancer, going from 115,510 lines of code to only 22,667! This version of neuroglancer is much easier to interface with if you’re just looking for a fast ome-zarr viewer, and should be easier to extend if desired.
Other exciting updates!
Scroll Deformation
@khartes_chuck showed an exciting approach to whole-scroll deformation utilizing structure tensors. We’ve been excited by the prospect of deforming scrolls for a while now. Both Seth Parker / @csparker and Brett Olsen / @caethan have discussed structure tensors in Discord, and Brett implemented some initial fiber following work based on structure tensors. @khartes_chuck also used them in his extrapolation methods within khartes.
Chuck posted this initial picture of his new work , showing how structure tensors alone can retrieve a significant amount of data from a single 2d slice. Early results looked quite promising!

We expected this work might understandably take some time to develop. Amazingly, some time turned out to not be that long after all, as we all were completely blown away by this casual drop a mere 5 days later — a slice of PHerc. Paris 4 , returned to its true circular shape!
The potential for this kind of deformation is massive. If a scroll were perfectly deformed to its cylindrical shape, all methods of segmentation become significantly easier. Chuck is open-sourcing this work in the evolutor repository , and is continuing to work on a 3D method of this deformation. We can’t wait to see where it goes!
“I'm still trying to get my first set of ideas to work. Turns out computing r is easier than computing theta...”
@khartes_chuck, shortly before computing theta
VC3D Development
We’ve begun another development run for Volume Cartographer! Forked from Hendrik Schilling / @waldkauz’s VC3D repository, this repository will be the primary version of volume-cartographer used by the challenge team.
The most significant improvements as of now are a working docker package, a more featured segmentation list, and some stability improvements. Huge credit to Philip Allgaier / @spacegaier for much of this work.
We also invite anyone to contribute to this repository, and have a list of features/fixes we’re looking for in the issues list.
Fiber Analysis
Recent work by Francesco Mori has highlighted again that fibers can provide us with structured and useful data that is hard to obtain from other representations.
Beginning from fiber predictions, analyzing the structure tensor’s three orthogonal eigenvectors reveal a local 3-D reference frame for every fiber voxel: the eigenvector of the smallest eigenvalue points along the fiber’s long axis, the middle eigenvector lies in the sheet plane but across the fiber, and the eigenvector of the largest eigenvalue is normal to the page surface.
Because the fibers are neither perfect rods nor planes but “stripe-like,” these eigenvectors can be exploited to trace fiber trajectories and, more broadly, to reconstruct the papyrus surface geometry for accurate unrolling. A continuous vector field derived from these fiber predictions could greatly help in segmentation or deformation efforts.
A more detailed report is available here.