Skeleton Refinement


This applet is a functioning mock-up of OOF2-style skeleton refinement in 3D.

The microstructure is specialized to a two-category 3D array of "pixels" (0's and 1's).
The initial skeleton is constructed from a regular rectangular grid by subdiving each cell
into five tetrahedrons. The calculation of the homogeneity of an element (tetrahedron) or the
homogeneity of an element face is done statistically; the interior of the solid or face is
randomly sampled for the categories. This method may not produce results as consistent as that of
the "bounding box" method, so the developer may need to go back and implement the latter method also.

A program to refine a skeleton composed of tetrahedrons
(based on rules described on this page) was written in C++.
The source files are Refinery.h, Refinery.cpp, Skeleton.h, Skeleton.cpp,
Microstructure.h, Microstructure.cpp, Utils.h, Utils.cpp.

The C++ implementation was also ported to Java (source: SkelRefinery.java),
which drives the applet above.
The applet can also be run as an application. Download SkelRefinery.java,
compile (javac SkelRefinery.java), and run (java SkelRefinery).


RCL
Last modified: Tue Oct 10 10:31:43 EDT 2006