Figure Generation for "Curvature-Based Transfer Functions for Direct Volume Rendering: Methods and Applications"

(Go to the paper's homepage)

This page documents how I created the rendered figures in this paper. With this information, you can:

All renderings were performed with the command-line volume renderer miter, and post-processed with overrgb and unu, three tools in the teem toolkit. Teem is my research software, licensed under the LGPL, and distributed through Sourceforge. All the renderings in the paper can be reproduced with version 1.5.0 of the software, released Sept 10, 2003, and available here. NOTE: To be safe, use ONLY version 1.5.0 of teem to make the figures; some subtle differences may arise with later versions.

The pages below document the steps required for each of figures. Time constraints have not permitted me to make fancy GUIs for my software, so everything is done on the command-line, in a shell compatible with csh or tcsh. Things may look cryptic, but I've explained things the best I can with the time available. The idea is that you can regenerate the figures just by pasting commands into a unix shell (or a cygwin shell on Windows). The priority here is reproducibility, more than ease of use. From another standpoint, the value of these pages is that they demonstrate the capabilities of the underlying nrrd and mite libraries in teem. These pages are not intended to show off intuitive or simple use of the associated command-line tools (unu and miter) built on top of these libraries.

The renderings go much faster if you're on a multi-threaded machine, and your hoover build was compiled with pthreads ("setenv TEEM_PTHREAD"). Note that the image resolution here is generally HUGE, in order to make a nice looking paper. Most of the miter invocations involve three environment variables which are passed to similarly named options: you may want to change the values of in order to make things to faster:

More information about miter is available on the mite page, and more information about unu is at the the unrrdu page.

NOTE: The full-resolution images for the paper are available from the pages below. Please respect my authorship of these images by acknowledging me if you use them somewhere. Anything to the effect of "Renderings courtesy of Gordon Kindlmann" is sufficient; "More information at <>" would be nice.

The first page (for Figure 1) explains things in the most detail; the subsequent pages are a little more terse.

teaser thumbnail Figure 1:
Marschner-Lobb, correct Marschner-Lobb, actual Figures 2,3:
Marschner-Lobb renderings
Silohuettes Figures 4,7:
Quadratic Surfaces Figure 8(a):
Quadratic Surfaces
Ear Figure 8(b):
vmhead Figure 9:
Curvature-based NPR
mrihead Figure 10:
Surface Smoothing
thumb Figure 11:
Flowline Curvature