Mean Curvature Skeletons
(Originaly exported from https://code.google.com/p/starlab-mcfskel)
The source & compiled binaries from the paper "Mean Curvature Skeletons". The paper is available in the download section. In the downloads you will also find pre-compiled binaries for Window, OSX and Ubuntu.
@article{taglia_sgp12,
title={Mean Curvature Skeletons},
author={Andrea Tagliasacchi and Ibraheem Alhashim and Matt Olson and Hao Zhang},
booktitle={Computer Graphics Forum (Proc. of the Symposium on Geometry Processing)},
year={2012}}
Downloads
Checking out the source code
First checkout and compile the 'Starlab' framework:
git clone https://github.com/OpenGP/starlab.git
Then check out this repository:
git clone https://github.com/ataiya/starlab-mcfskel.git
Then open the file mcfskel.pro in QtCreator
and perform qmake & build
This is a set of plugins for the starlab environment specific to this project. The set contains:
voromat generates a medial manifold by projecting a mesh onto the voronoi poles
mcfskel mean curvature skeletonization (with medial guidance)
surfacemesh_to_skeleton a simple plugin to convert contracted meshes into curve-skeletons
surfacemesh_io_obj I/O of obj files containing medial information
skeleton_resample finely resamples a curve-skeleton (used in comparisons)
skeleton_compare compares euclidean distance between two skeletons
Usage
A typical usage is to load the mesh, apply a re-meshing operation, apply the voromat plugin without the embedding option, then start the skeletonization process (MCF steps). The resulting mesh can be collapsed into simple curves by applying the short_ecollapse plugin. The result can be saved to 'cg' file format.
Gallery
Example Video (Click to play)
Google Summer of Code
Xiang Gao has re-implemented this project in CGAL while participating in the CGAL Google Summer of Code 2013