/diffusion

Signal diffusion methods on mesh surfaces, implicit and explicit

Primary LanguageMATLAB

Scale Space Construction on 3D Surfaces

We diffuse a signal (mean curvature) on explicit and implicit surfaces. We use the mesh Laplacian for explicit surface diffusion and the Implicit Closest Point Representation for implicit surface diffusion.

We propose a version of Gaussian for explicit surfaces called the mesh Gaussian. We also extend the method of Gaussian diffusion on implicit surfaces first theorized by Merriman and Ruuth.

Getting Started

ext/ directory contains external libraries I've included for the your convenience

src/ directoy contains support functions used by the main programs

main/ directoy contains the main programs

models/ is empty by design, but will populate as you run programs. It is easier to load saved matrices (e.g. mesh Laplacian), than always constructing them from scratch. models/ directory will build for specific surfaces

  • Plane
  • Circle
  • Sphere
  • General Models

Prerequisites

You will need a working copy of MATLAB. and gcc 4.7

Installing

Only the mesh Laplacian from ext/MeshLP/ needs to be mexed in Matlab. While in Matlab, follow these commands

cd ext/MeshLP/

mexcommands.m

Both the mesh and the cotangent Laplacian will compile. Now your ready to run some example code.

Authors

  • Andrew Rhodes - Initial Implementation - West Virginia University Ph.D. Student

External Libraries

Future Work

Currently all code is written in MATLAB, though I would like to someday convert it other more open source languages.