π Awesome Scroll Tools
Here are all the awesome awarded open source contributions from our community that will allow us to read the scrolls! πβ¨
We maintain this list on GitHub and it can also be found on our website.
Contributions are divided into four categories: Data access/visualization, Segmentation, Ink Detection, and Other.
Every category is subdivided in classes: π Highlighted (for popular contributions), βοΈ Tools, π¦ Materials, π Reports, and π Visualization.
Some highlighted contributions are added to this repository as submodules.
We keep this repository updated as much as we can, but research moves fast! ππ¨
For state-of-the-art updates join our Discord server π¬β°
π Data access/visualizationβ
π Highlightedβ
-
vesuvius: Python library for accessing Vesuvius Challenge data. Allows direct access to scroll data without managing download scripts or storing terabytes of CT scans locally.
-
Segment browser is a web-based tool to browse layers and open source ink detection results of all released segments. By Johannes Rudolph
π οΈ Toolsβ
-
vesuvius-c: C library for accessing Vesuvius Challenge data. Allows direct access to scroll data without managing download scripts or storing terabytes of CT scans locally.
-
vesuvius-gui is a single binary GUI to render volumes and segments on-the-fly. By Johannes Rudolph
Segmentationβ
π Highlightedβ
-
Volume Cartographer: the OG virtual unwrapping toolkit. Includes a graphical interface to annotate scroll segments. First built by EduceLab; an active fork by Philip Allgaier contains many community contributions and is currently used by the segmentation team.
-
Khartes by Chuck is a tool to manually create and visualize segment meshes, while also visualizing a preview of the rendered segment.
-
Thaumato Anakalyptor is an automatic tool that combines classical methods such as threshold gradient operator based edge detectors and Deep Learning based instance segmentation of point clouds to detect, merge and render segments. It was built by Julian Schilliger (part of Grand Prize winning submission).
π οΈ Toolsβ
-
Fast Segment Rendering by Julian Schilliger. Fast rendering of segments with GPU acceleration. Capable of saving the surface volume to multiple file formats.
- CPU rendering by Julian Schilliger and Giorgio Angelotti
-
Volumetric Vesuvius Labelling by James Darby. Provide custom tooling the napari 3d viewer that will help manually annotate volumetric masks of the scrolls to train ML models for 3D segmentation.
-
Autosegmentation preprocessing pipeline (work in progress) collection of scripts to pre-process volumes for autosegmentation. By Giorgio Angelotti
-
Segment2Voxel by Giorgio Angelotti. Tool to create 1-voxel thick volumetric segment labels starting from mesh .obj files.
-
Volumetric Instance Labels to obj by James darby. Tools to create .obj mesh files from volumetric instance labels.
-
Hraun is a collection of python tools for handling volumetric scroll data by Forrest McDonald.
-
Scroll compression and masking by Olivier Daubney. Script to compress and mask scroll data, greatly reducing storage requirements!
-
Mesh merging by Julian Schilliger. Merges multiple overlapping meshes into one continuous mesh. Flattening not included.
- Mesh merging prototype by Giorgio Angelotti. Different attempt to merge existing mesh of segments by projecting them in 2D and retriangulating in the plane.
-
Meshing and chunking by Santiago Pelufo
-
Volumetric segmentation model with labels, deep learning 3D model to separate papyrus from air, by Tim Skinner
-
Superpixels and cells by Santiago Pelufo
-
Segment Flattening by Julian Schilliger and Giorgio Angelotti. Improved flattening of scroll segments.
- Slim-Flatboi previous implementation of the SLIM algorithm with minimization of isometric distortion to flatten scroll segments. Later included in ThaumatoAnakalyptor. By Giorgio Angelotti.
-
Single Sheet Segmentation attempt by Brett Olsen
-
vesuvius-blender by Santiago Pelufo. Explore the X-ray scans in Blender.
-
vesuvius-build by Santiago Pelufo. Scripts to build files for progressive loading of the data. Convert the tif stack to grid cells or to h5 format that can be used by Ilastik.
-
Volume Annotate A partial reimplementation of Volume Cartographer in Python by Moshe Levy.
- VA-Sheet Tracer by Trevor, Tom, Babak and Boaz
-
vesuvius-image by Brett Olsen. Tool for storing and viewing data, including efficient Zarr loading of stack of tif images later included in Khartes.
-
Quick Segment Created by EduceLab for annotating a large air gap in Scroll 1, and then projecting from that gap to either side to create two large segments, colloquially referred to as the βMonster Segmentβ. Hasnβt been used for more segmentation, since it was the only large air gap we could find.
-
scrollreading by Will Stevens. Experiments with using algorithms based on flood-fill to extract non-intersecting surfaces from scrolls.
-
VC with OME-Zarr & more by Hendrik Schilling:
- fast interactive OME-Zarr access and live slicing & flattening thread
- instant flattening from VC segments without meshing (10s for one slice) thread
- segment surface refinement (also works on obj segments) thread
- fiber based segmentation efforts using an optimizing physics inspired surface meshing approach based on ceres-solver thread
- non-destructive large scale interactive segment viewing and editing thread
π¦ Materialsβ
π Highlightedβ
-
Sheet instance annotation of cubes for Deep Learning models (work in progress)
-
Denoised and contrast enhanced volumes, download here, same path pattern for other scrolls.
π Segmentsβ
-
Scroll 2 segments by Sean Johnson
-
New segments by Sean Johnson
-
Large segments by Sean Johnson
-
Rescaled to 7.91um fragment surfaces and labels by Johannes Rudolph
π·οΈ Volumetric Labelsβ
- Instance segmentation labels by James Darby
π Reportsβ
-
Technical report on ThaumatoAnakalyptor by Julian Schilliger
-
Physical equalization of scrolls' brightness by Giorgio Angelotti
-
Volumetric segmentation architecture investigation by James Darby
-
Instance segmentation experiments by James Darby, Ryan Reszetnik, Liamo Pennimpede, Lucas Nelson
-
Probabilistic view on the offset for surface volume creation by Giorgio Angelotti
π Visualizationβ
-
Browser-based scroll viewer by Yao Hsiao
-
wj-wt-ftt by Yao Hsiao and Dalufishe. Tool to view and annotate volumetric scrolls data.
-
Crackle Viewer is a tool to browse and annotate surface volumes of rendered segments, by Julian Schilliger
-
Point cloud extraction method comparer by Giorgio Angelotti. Tool to compare different point cloud extraction methods.
-
Pipeline Visualize by Yao Hsiao. Tool to visualize the first steps of the Thaumato Anakalyptor pipeline.
-
Cell viewer and segmentation comparison by Yao Hsiao
-
Volume Viewer Used by the segmentation team primarily to see which segments they have worked on already. Hosted here. By Yao Hsiao
- Vesuvius Challenge Whiteboard by Yao Hsiao and Dalufishe
-
Scroll Viewer by Luke Farritor. A lightweight, extensible tool for viewing volumetric data, which runs in the browser, and is very fast.
-
Scroll Sleuth by Paul Geiger. A web app that supports visual ink-searching in segment volumes via multiple display modes and segmentation tools.
Ink Detectionβ
π 3D Ink Detectionβ
π Highlightedβ
- 3D (volumetric) Ink detection model by Ryan Chesler. Ink detection model that works on full scroll data in 3D, without segmentation nor flattening.
βοΈ Toolsβ
-
Large Scroll Model is a 3D Unet pretrained on scroll data, by Ryan Chesler
-
UV predictions visualizer by Giorgio Angelotti. Script to quickly visualize the ink predictions output by Ryan Chesler's 3D model as a scatter pkot on segments. Needs the predictions Zarr for the full scroll.
-
Volumetric ink detection attempt by Jorge Villaescusa
-
Inkalyzer by Youssef Nader. XAI package for Ink models to explain predictions and generate volumetric labels.
π¦ Materialsβ
-
3D Ink labels by Sean Johnsonn
-
3D Ink predictions by Ryan Chesler. Predictions of 3D Ink models on full scrolls in Zarr format.
ποΈ Scroll segments-based Ink Detectionβ
π Highlightedβ
- Grand Prize Winner Ink Detection model by Youssef Nader, Luke Farritor and Julian Schilliger
βοΈ Toolsβ
-
Unsupervised Ink Detection with DINO by Jorge GarcΓa. Contains experiments related to detecting ink without labels, including a Colab notebook.
-
Vesuvius GP+ by Jared Landau. Updated version of the Grand Prize Ink Detection script with extra features.
-
Segment-to-segment label mapping by Oliver Daubney
-
Runner Up Models, December, 2023
-
Ink detection model by SQ Mah
-
Ink detection model by Lou Schlessinger and Arefeh Sherafati
-
Ink detection model by lian Rafael Dal PrΓ‘, Sean Johnson, Leonardo Scabini, RaΓ Fernando Dal PrΓ‘, JoΓ£o Vitor Brentigani Torezan, Daniel Baldin Franceschini, Bruno Pereira Kellm, Marcelo Soccol Gris, Odemir Martinez Bruno
-
-
Vesuvius Kintsugi is a tool to label floodfill surface volumes of rendered segments, by Giorgio Angelotti
-
Omit is a pipeline that tries to detect ink with classical approaches (not deep learning) by Timo Meireman
-
First Letters winning models, October 2023
- Ink detection model by Luke Farritor
- Ink detection model, 2nd place but more accurate by Youssef Nader
-
Crackle Viewer is a tool to browse and annotate surface volumes of rendered segments, by Julian Schilliger
-
Fourth placed Kaggle model finetuning on scroll data by Luke Farritor
-
Scroll pretraining by Youssef Nader. Youssefβs original idea for pretraining on the scrolls and finetuning on the fragments, which led him to winning the First Letters Prize.
π¦ Materialsβ
-
Ink Labels. Nicola Bodill produced more accurate labels for ink detection based on the prediction of the Grand Prize winner model
-
Scroll 4 predictions. Youssef Nader produced some predictions on Scroll 4 from his Grand prize winner model. No sure trace of ink yet
-
Ink detection masks. Anton Repushko shared some ink labels for Scroll 1, these labels were used by many participants for their final submission in December 2023.
-
Crackle labels on Scroll 1 by Sean Johnson
-
[Ink Generator] (https://github.com/StewartSethA/VesuviusInkGenerator) by Seth Stewart, ink volume sample patches generated using gradient ascent
π Reportsβ
-
Introduction to Ink Detection by Jared Landau
-
Grand Prize Presentation by Youssef Nader and Julian Schilliger
-
First Ink on scroll 1 by Casey Handmer
π Visualizationβ
- Segment viewer. Used by the segmentation team primarily to see which segments they have worked on already. Hosted here By Yao Hsiao and Dalufishe
π Fragment-based Ink Detectionβ
π Highlightedβ
-
2.5D fragment segmentation (ink detection) baseline by Ryosuke Tanaka
-
Ink ID by Stephen Parsons
-
Iterative Labeling on fragments by Youssef Nader. Applying the iterative labeling approach of the GP winning team to improve ink detection on fragments hidden layers.
π Reportsβ
-
Kaggle Challenge top ink detection model analysis by Ryan Chesler
-
Ink detection model resolution analysis by Yannick Kirchhoff, Maximilian Rokuss and Benjamin Hamm
Otherβ
βοΈ Toolsβ
-
Efficient Data Downloader: scripts to efficiently download data with rclone, by James Darby
-
Improving scroll alignment with image registration Scripts and a report showing how image registration can improve the alignment of scroll volumes scanned at different energies and resolutions, by Paul Geiger
π¦ Materialsβ
- CT scanning campfire scrolls Ahron Wayne replicated the carbonization process of a papyrus scroll and scanned it with his personal CT scanner
π Reportsβ
- Hard-Hearted Scrolls, PhD Dissertation by Stephen Parsons
Contributions
If you want to contribute and add any resource please submit a PR! ππ