Mean Curvature Skeletons (i.e. curve-skeleton extraction via mean curvature flow)
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Downloads
curveskel
curveskel_filter_compare
curveskel_filter_resample
curveskel_io_cg
curveskel_io_skc
curveskel_render_lines
data
surfacemesh_filter_mcfskel
surfacemesh_filter_to_skeleton
surfacemesh_filter_voromat
.gitignore
.gitmodules
README.md
mcfskel.pro

README.md

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)

Example

Google Summer of Code

Xiang Gao has re-implemented this project in CGAL while participating in the CGAL Google Summer of Code 2013