Uncertainty Visualization in Isosurface Volume Rendering: A Case Study




Philip J. Rhodes
Robert S. Laramee
R. Daniel Bergeron
Ted M. Sparr

Department of Computer Science
University of New Hampshire
Durham, NH 03824 USA
{rhodes,rlaramee,rdb,tms}@cs.unh.edu





Overview



We describe a technique for rendering isosurfaces in multiresolution volume data so that uncertainty (error) is shown in the visualization.




Uncertainty visualization is typically difficult, but the nature of isosurface rendering makes it amenable to an effective solution.









Visualizing Uncertainty


Not much research has been done with visualizing uncertainty outside of GIS.


Visualization of locally defined uncertainty adds yet another variate to be processed.

• This is a burden with large scientific datasets, simply because of the increase in size.

• The visualization channel has limited bandwidth. Visualization of uncertainty must compete with visualization of data.

• uncertainty information may not be easily available, except in some very abstract form.

Multiresolution Data


MR Data consists of a hierarchy of increasingly coarse approximations.

• Each level of the hierarchy introduces additional error.

• This error may be reasonably easy to measure

• At coarser levels, this additional error becomes greater than the error present in the original data.

• Scientists would like to know the uncertainty present in a particular representation of the data.



Adaptive Resolution


• Resolution varies over the data domain in response to data values.


• Scientists want to know how faithfully a region of the data is represented.


• He or she may wish to increase the resolution in interesting regions that are represented with unacceptably high uncertainty.








Isosurface Rendering


Isosurface rendering is an excellent candidate for uncertainty visualization.

• Since the entire isosurface has the same data value, the value itself does not need to be visualized.

• Conventional rendering techniques produce a surface with constant color value.

• Therefore, the color parameter is available to visualize uncertainty.


Error Generation






float computeError(float summary,
                float cube[],int size){

    float error=0;
    int c;

    for(c=0;c<size;c++){
        error+=fabs(summary-cube[c]);
    }

    return error/size;
}




Figure 1. 1283 data; skin isovalue (0.185);uncertainty disabled



Figure 2. 643 data; skin isovalue (0.185); uncertainty disabled


Figure 3. 323 data; skin isovalue (0.185); uncertainty disabled


Figure 4. 1283 data; skin isovalue (0.185); uncertainty mapped to hue with range (144,0)

Figure 5. 643 data; skin isovalue (0.185); uncertainty mapped to hue with range (144,0)


Figure 6. 323 data; skin isovalue (0.185); uncertainty mapped to hue with range (144,0)


Figure 7. 643 data; skin isovalue (0.185); uncertainty mapped to hue with range (108,0)


Figure 8. 323 data; skin isovalue (0.185); uncertainty mapped to hue with range (108,0)


Figure 9. 5% AR Data; bone isovalue (0.378); uncertainty mapped to hue with range (144,0)