Paper Review
Presented on Feb 22, 2006
Paper Title: Procedural annotation of uncertain information
Authors: Andrej Cedilnik and Penny Rheingans
Source: IEEE Symposium on Information Visualization (2000)
In this paper, the authors discuss a novel technique to integrate uncertainty measures into normal visualization. The annotation used in this paper is grid-like structure. Authors firstly used the integral method to calculate average value of uncertainty measures in a specific range around the grid lines, and then distorted these lines by this average value. This paper discusses four techniques to distort grid lines to convey uncertainty information. In the following text, we will discuss the concept of uncertainty, general approach, detailed techniques and some critique on this paper.
Uncertainty
Uncertainty is a very important and popular topic in the area of visualization. As we know, when data is collected, errors, variations and missing are inevitable. Uncertainty measures are used to denote the degree of trustworthiness of specific data. Higher uncertainty measures mean more errors or variations. Classic visualization methods do not take into account the uncertainty measures. They just regard the dataset as perfect. Therefore, the analyst probably draw inaccurate or incorrect conclusion by such a final image.
Currently, more and more researchers of visualization introduce new visual elements or attributes into existing techniques to present the uncertainty information. For example, Pang et al. and Wittenbrink et al. convey uncertainty information by adding glyphs, adding geometry, modifying geometry, modifying attributes, animation, sonification, and psychovisual approaches. However, these methods conceal or obscure the visual elements presenting the underlying data, so decision-makers probably draw inaccurate conclusions based on these distorted data. This paper describes a novel method using procedurally generated annotations to show uncertainty information. It does not distract the original data.
General Approach
This paper uses an annotation of two dimensional grid-like structure. It is generated by
for ( all points in X direction )
for ( all points in Y direction )
image[x, y] = procedural_grid (x, y)
Where the function procedural grid (x, y) would look like this:
procedural_grid (x, y)
d = spacing between two grid lines
if ( x mod d == 0 or y mod d == 0 )
return 1
else
return 0
The data set used in all example images is a 288 by 180 grid of total ozone measurements made by the Nimbus-7 satellite on September 16, 1979. The sensors collecting this data are subject to common data drop-outs, generally, of modest size. On this particular day, a subsystem failure resulted in a particularly large region of missing data. In regions with missing values, we have calculated a distance-weighted estimate of probable value, as well as a measure of uncertainty based on the distance to valid data samples and number of such samples considered. Figure 1 shows the image. Bright areas are more certain than dark areas.

Figure 1 Certainty associated with data used in example images.
Intensity Width Variation
This method maps certainty to brightness and adjust the width. Figure 2 show an example. There are two big areas of uncertainty and the annotation on those areas is much wider and lighter than in the areas with low uncertainty.

Figure 2 Width Variation Technique
Exponential Sharpness
This method is similar to the intensity width variation, but it employs trigonometric function to produce annotation lines which are smother and dimmer in areas of high uncertainty and sharper in the areas of high certainty. Figure 3 shows an example of exponential sharpness.

Figure 3 Exponential Sharpness Technique
Noise Technique
This idea is to have noise at high uncertainty and order in areas of low uncertainty. In order to achieve that, noise and turbulence can be used as a generator of distortion for the annotation line. At each pixel, the formula to determine the amount of deformation is given by:
distortion = uncertainty * noise(x,y)
The pseudo code for determining whether or not to draw point looks like this:
noise_draw(x,y)
distortion = uncertainty * noise(x,y)
d = distance between two grid lines
dx = x + distortion
dy = y + distortion
if( dx mod d == 0 or dy mod d == 0 )
return 1
else
return 0;
Figure 4 shows an example of noise technique.

Figure 4 Noise Technique
Amplitude Modulated Distortion
This idea uses a waving string as the annotation line. The areas with high uncertainty, the waving is high and in the areas of low uncertainty, the string is almost still. The pseudo-code to generate such a waving string is given by:
evaluate_sine(x,y)
i = 0
d = distance between two grid lines
e = width of the annotation line
for ( all possible sine functions f(x,y,uncertainty), that could intersect point)
if ( |f(x,y,uncertainty) - x| < e or |f(x,y,uncertainty) - y| < e)
i = MAX( i, get_intensity(x,y) )
return i
Figure 5 presents an example of this method.

Figure 5 Amplitude Modulated Distortion
Critique
Although this paper does not show any comparison or analysis on its method, we can find some obvious advantages and disadvantages from the figures in this paper. The advantages include minimal conceal of original data and high rendering efficiency. Most of original data is kept. The rendering workload is very low. The disadvantages are obvious. It is not suitable for rapid change of uncertainty. If the uncertainty changed quickly inside one grid, the annotation line can not reflect this change.