This page illustrates the
progressive coding technique for isosurfaces as described in the paper "Progressive Encoding of Complex Isosurfaces".
We also provide, for evaluation purposes only, an implementation
of the paper. The application can open volume files with an extension .iso containing scalar values defined
on a regular 3D grid which range from -1 to 1. An isosurface with a predefined isovalue 0 will be extracted after transforming scalar values to binary signs as inside or outside the isosurface.
During the extraction, a binary octree file with geometry can be saved and read by specifying or dragging a *.bbm file into the tool. The given tool allows the user to progressively encode this binary volume data with geometry in 4 files (*_header.txt, *.sign, *.leaf, *.geo), then progressively decode or decode in full.
Several options (quantizations)
are available for encoding. We list the resulting bit-rates, given in bits per vertex for geometry
and connectivity, as well as the final size of the compressed version. The executable has been compiled for a Win32
platform (Windows 9x/NT/2000) and uses the OpenGL library. We suggest that
you take a couple of minutes to see how to tune
the encoding process on a volume example.
(668 KB, Windows 9x/NT/2000 application, requires OpenGL).
Models in .zip format (PLEASE, if you use these meshes, acknowledge where they are coming as indicated):
Bonsai, Engine, MRI-head, Courtesy of Rezk-Salama et al.
Dragon, Buddha, Feline, Courtesy of Caltech and Stanford Graphics Group.
Scientific Simulation Data, Courtesy of Mark Duchaineau, LLNL.
Temple, Courtesy of Scott Schaeffer.
Triceratops, Eight, Horse, Sphere by applying Sean Mauch's Close Point Transformation to meshes
The source files are not
available, and we will not provide any additional technical support other than
what is in the how-to section.
The code was written by
Haeyoung Lee. The current implementation uses one version of the Adaptive Arithmetic Coding Source Code developed by Fred Wheeler.