Skip to content

Sheet Stitching Condensed Problem for Automatic Scroll Segmentation

License

Notifications You must be signed in to change notification settings

schillij95/graph_problem

Repository files navigation

Sheet Stitching Problem Playground

Intro

This repository contains a C++ playground to quickly implement different solutions to the "sheet stitching" graph problem. Please read the PDF Sheet_Stitching_Problem_Definition.pdf for an overview and introduction to the problem.

How to Use the Playground

Directory Structure:

graph_problem/
├── CMakeLists.txt
└── example.cpp

Build the Project:

mkdir build
cd build
cmake ..
make

This will generate the graph_problem executable in the build directory. Run the Executable:

./build/example

You have now loaded the graph into memory, created, and saved an initial histogram of the graph.

Initial histogram of unsolved graph

As can be seen, the distribution of "winding angle" is peaky and widely distributed over the segmentation patches.

Our goal is to formally define and then solve objectives over this graph that correct the erroneous patch linkages and assign more accurate winding numbers to the patches. For example, after solving, the winding angle distribution over the graph might look like this:

Solved histogram of unsolved graph

This more aligns with the expected distribution, where a small number of patches have a small winding angle, near the scroll center where the wrap circumference is small. As we get further away from the scroll center and the circumference grows, more papyrus area is required to span the same angular difference, so the patch frequency grows with respect to winding number.

Enjoy the playground!

About

Sheet Stitching Condensed Problem for Automatic Scroll Segmentation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published