A Rule-based Tool for Assisting Colormap Selection


Lawrence D. Bergman
bergman@watson.ibm.com

Bernice E. Rogowitz
rogowtz@watson.ibm.com

Lloyd A. Treinish
lloydt@watson.ibm.com

IBM Thomas J. Watson Research Center
Yorktown Heights, NY

Introduction

Visualization is a process of mapping data onto visual dimensions to create a visual representation. A successful visualization provides a representation which allows the user to gain insight into the structure of the data, or to communicate aspects of this structure effectively (Bertin [1967]; Tufte [1983]; Cleveland [1991]). Even with modern visualization systems, which give the user considerable interactive control over the mapping process, it can be difficult to produce an effective visualization. One strategy for improving this situation is to guide the user in the selection of visualization parameters. In our previous work, we have described an interactive rule-based architecture for incorporating such guidance, and have described certain perceptual and cognitive rules which may be relevant (Rogowitz and Treinish [1993a]; Rogowitz and Treinish [1993b]; Rogowitz and Rabenhorst [1994]).

In this paper, we focus on improving the user's selection of colormaps. To do so, we have built a library of colormaps, and a set of perceptual rules for selecting appropriate maps based on the structure of the data and the goal of the visualization. We have encapsulated this rule-based colormap selection process as a tool, PRAVDAColor, in the IBM Visualization Data Explorer software package, and demonstrate how this module can be incorporated into visualization applications involving the mapping of color onto two- and three-dimensional surfaces. This implementation demonstrates the viability of the technique, and provides a testbed for evaluating the rules.

Interactive Rule-Based Architecture

We have previously presented a rule-based architecture called PRAVDA (Perceptual Rule-Based Architecture for Visualizing Data Accurately) for assisting a user in making choices of visualization parameters (Rogowitz and Treinish [1993a]; [1993b]). This architecture provides sets of appropriate choices for visualization based on a set of underlying rules which are used to constrain operations (e.g., selecting a colormap, selecting iso-contour line color). Rules incorporate information about the data, which we call metadata, such as minimum, maximum, or spatial frequency, and also information supplied by the user.

The architecture also provides for linkages between rules that control different visualization operations, with a choice of parameters for one operation constraining choices that are available for others. For example, if the user selects a colormap, that information is fed back to the operation for selecting contour lines, where rules constrain the parameters of the contour lines depending on which colormap has been selected. Hence, if the contour lines are superimposed over a dark region, as defined by the colormap, legibility rules would constrain the set of color choices to those offering sufficient luminance contrast to be detectable (Carswell and Wickens [1990]). This network of linked, intelligent operations help guide the user through the complex design space of visualization operations.

In our previous work, we have described the general principles for implementing such an assemblage of rule-based visualization operations. In this paper, we describe a full implementation of one of these operations, colormap selection. In PRAVDAColor, perceptual rules constrain the set of colormaps offered to the user based on system-provided metadata (data type, data range), metadata computed by algorithm (spatial frequency) and metadata provided by the user (the visualization task). This is in contrast to previous rule-based systems for visualization which do not explicitly support user tasks nor color perception in the guidance they offer (e.g., Senay and Ignatius [1994]).

Rule-Based Colormap Selection - Limitations of Current Technology

Perhaps the most common operation in visualization mapping the values of a variable onto a color scale. Despite the importance of this operation, the creation and selection of colormaps is often not adequately supported in modern visualization systems, which typically offer the user a default color map and a tool for creating custom colormaps. More importantly, however, these systems do not guide the user in selecting which colormaps will help the user understand the structure of the data, segment the data meaningfully, or highlight important characteristics of the data.

The most common default colormap, the rainbow colormap, is a hue-based scale from blue, through a rainbow of colors, to red. When this scale is mapped onto scalar data, the user is conceptually mapping a linear scale in hue onto a scalar variable. Perceptually, however, this scale does not appear linear. Equal steps in the scale do not correspond to equal steps in color, but look instead like fuzzy bands of color varying in hue, brightness and saturation. When mapped onto scalar data, this colormap readily gives the user the erroneous impression that the data are organized into discrete regions, each represented by one of the rainbow colors. This can lead the user to infer structure which is not present in the data and to miss details that lie completely within a single color region (Rogowitz, Ling, and Kellogg [1992]; Rogowitz and Treinish [1993a]).

Some visualization systems provide the user with tools for creating alternatives to the default colormap. These custom colormap facilities allow the user to construct almost any conceivable colormap, but tend to be difficult to use for creating complex colormaps. This inadequacy has led us to develop our own colormap generation tool, described below. Even when an adequate tool is provided, moreover, deciding what colormap to create is essentially an unbounded problem. Some systems, such as Interactive Data Language, address this problem by providing a library of colormap lookup tables (RSI, 1993). They do not, however, provide guidance about their application or alert the user to constructs that may introduce visual artifacts. In this paper, we improve on this approach by offering the user colormaps guided by principles of human perception. In this way, PRAVDAColor can offer the user a richer set of choices than a single default colormap, while ensuring that each choice is appropriate to the user's visualization task and the data being represented.

A Taxonomy for Colormap Selection

Table 1 shows our working taxonomy for the generation of colormaps. This table both incorporates recommendations currently in the literature, and provides new contributions, especially in the incorporation of spatial frequency.

Following other researchers (Della Ventura and Schettini [1993]; Carswell and Wickens [1990]; Ware [1988]; Robertson [1988]; Robertson [1994]; Lefkowitz and Herman [1992]), we find the data types described in measurement theory to be very powerful in characterizing data representation strategies. The data type is shown in the left-most column. Currently, we support interval and ratio data, but plan to extend this approach to include ordinal and nominal data types. For each data type, we distinguish between low and high spatial frequency data, depicted in the second column.

The next three columns contain recommendations on creating colormaps for these eight data types which are appropriate for three different representation tasks. Following our earlier work (Rogowitz, Ling, and Kellogg [1992]; Rogowitz and Treinish [1993a]), an isomorphic task is one where the goal of the representation is to faithfully reflect the structure in the data. In a segmentation task, the goal is to divide the data into perceptually distinct categories. In a highlighting task, the goal is to call attention to particular features in the data.

The notes within each cell show our understanding so far of which types of colormap fulfill the requirements for each type of data for each task, broken down by spatial frequency. The following section describes the psychophysical rationale underlying these selections.

Table 1. A Taxonomy of Colormaps based on Data Type, Representation Task, and Principles of Perception.

Isomorphic Representation of Interval and Ratio Data

In order to accurately represent continuous data, the visual dimension chosen must appear continuous to the user. In an MRI image, for example, the degree of magnetic resonance, a continuous variable, is represented as a gray-level because continuous variations in gray-scale appear continuous to the user. That is, if the resonance increases monotonically over a spatial region, the brightness of the image will appear to increase monotonically over that spatial region. An inappropriate colormap, however, could create a visual representation which does not look monotonically increasing, for example, the default colormap described above.

Candidate colormaps which preserve the monotonic relationship between data values and perceived magnitude can be drawn from experiments done by Stevens [1966]. He identified a set of sensory dimensions (visual, auditory, and tactile) for which a monotonic increase in stimulus intensity produced a monotonic increase in perceived magnitude. In particular, Stevens found the shape of this relationship to be a power law, with each sensory dimension characterized by the exponent of this power law. Perceived brightness obeys a power relationship with physical intensity (gray-scale) over a very large range of gray scales, making it a very good candidate for representing ratio or interval data. Another good candidate includes the color attribute saturation.

The Importance of Spatial-Frequency for Ratio and Interval Data

Ensuring that continuous variables are mapped onto perceptually continuous dimensions, however, will only give a faithful representation of the structure of the data if the spatial characteristics of the representation are taken into account. Human sensitivity to spatial variation is sketched in Figure 1. The two curves show that our ability to resolve spatial variations differs for the hue and luminance mechanism in human vision. The luminance mechanism is tuned to higher spatial frequencies (that is, high resolution, finely detailed, or small-grained features). Colormaps which include a luminance component, therefore, are can adequately represent high-spatial-frequency information. The hue mechanism is tuned to lower spatial frequencies.

Figure 1. Sensitivity to Spatial Variations of Hue and Luminance.

Thus, saturation-based colormaps, which display variations in the magnitude of a hue, would be inadequate for conveying high spatial frequency information, but well-suited for representing larger-scale spatial variations.

To ensure appropriate choices, the colormap rules in PRAVDAColor use metadata about spatial frequency to constrain the set of selectable colormaps. Metadata about spatial frequency are not generally included in data sets, so in PRAVDAColor it is computed. If the metadata indicate that the data, when realized on the display screen, would produce high-spatial-frequency variations, then the rules offer the user colormaps which contain a monotonically-varying luminance component. These would include simple gray-scale colormaps and also colormaps which also vary in hue (e.g., maps from dark green to light green, or maps from dark cyan to light lavender).

If the data contain predominantly low spatial frequencies, information about their spatial variation is more effectively carried by the hue channel, and the rules would offer the user colormaps with variations in saturation within a single hue or variations in saturation across two hues, such as the opponent pairs (Hurvick and Jameson [1995]) blue/yellow (saturated blue, through isoluminant gray, to saturated yellow) and green/red (saturated green, through isoluminant gray, to saturated red).

Data containing both fine spatial detail and gradual variations across space could be mapped to colormaps which combine these characteristics, such as dark saturated green to light saturated red.

PRAVDAColor incorporates these psychophysical relationships into its rule set. To create a faithful (isomorphic) representation of ratio and interval data, PRAVDAColor recommends colormaps which vary in luminance and saturation for high and low spatial frequency data respectively. A special distinction is made for ratio data where it is important for the representation to preserve the existence of a zero point. PRAVDAColor treats this as two separate scales, one above and one below the zero, and uses hue to distinguish them.

Colormaps for Segmentation Tasks

The rules for providing isomorphic colormaps for ratio and interval data are also effective in creating maps for segmented data. The luminance component conveys monotonicity in the data for high spatial frequency data, while the saturation component can be used to convey monotonicity in low-spatial-frequency data. Since the steps are explicitly defined, however, luminance steps can also be effectively used for low spatial-frequency data. In creating a segmented colormap, it is important that the segments are each discriminably different from one another, which limits the number of steps which can be represented. We have found that more steps can be effectively discriminated for low-spatial-frequency data than for high. For ratio data, where the zero is a semantically-important attribute, PRAVDAColor only offers segmented maps with an even number of steps (a transition occurs at the zero level).

Colormaps for Highlighting Tasks

Rules for selecting colormaps which highlight particular features in the data can be drawn from the literature on attention (e.g., Treisman and Gelade [1980]). Based on these rules, PRAVDAColor offers colormaps which allow the user to identify ranges of data to highlight perceptually. We currently provide colormaps which identify the mid-range data value, or set a threshold and highlight data values which exceed it.

In highlighting data, it is important that the dimension selected does not interfere with one previously chosen. For ex-ample, in our schema, nominal data are distinguished by hue. Increasing the luminance of the item to be highlighted draws attention to it without changing its hue, and therefore, without losing perceptual information about its semantic class.

The PRAVDAColor Interface

The PRAVDAColor user is presented with a set of colormaps appropriate to the data set and specified representation task. These colormaps are presented in a panel which pops up on the display when PRAVDAColor is executed. An example of this pop-up panel can be seen in the lower left corner of Figure 2. Each colormap is displayed as a colorbar and has an associated button, used for selecting that colormap. PRAVDAColor automatically selects one of the colormap set as an initial output, which is used to color the data. The user is then free to select a sequence of colormaps by pressing buttons, and can immediately see each selection applied to the data.

Figure 2. Data Explorer Visual Program Incorporating PRAVDAColor.

In addition to allowing interactive selection, PRAVDAColor allows the user some control over how the colormap is to be mapped onto the data set. Range sliders allow the minimum and maximum values in the data to be assigned to particular color values. Additionally, a mid-range slider specifies the position in the colormap that is to be associated with the middle ((max - min)/2) value in the data. These sliders are particularly useful for changing the minimum and maximum levels assigned to colormaps which highlight extrema.

Implementation

The PRAVDAColor Module

PRAVDAColor has been implemented as a module for the IBM Visualization Data Explorer (Data Explorer) software package. Data Explorer is a general-purpose visualization system that supports visual programming through the construction of data-flow networks (Abram and Treinish [1995]). Data Explorer facilitated the development of PRAVDAColor's capabilities by providing a unified, extensible data model and polymorphic modules. Thus, rules were readily incorporated without the complication of accounting for multiple data types, and metadata (either calculated or provided by a user) can readily be added to data objects.

Figure 2 shows a sample Data Explorer data-flow network and the visualization that it produces. The PRAVDAColor module accepts as input the data set to be visualized (read by the Import module in this example) and a user representation task index (created by the interactive Selector module).

The PRAVDAColor tool consists of two main portions. The first is a macro that selects the set of colormaps to be presented to the user based on characteristics of the data and a user-specified representation task. This macro, called ColorMapLookup, examines two characteristics of the data -- spatial frequency, and presence or absence of a zero-crossing.

The spatial frequency analysis is performed in a simple fashion using existing Data Explorer modules. The resolution of the data is reduced (using a reduction factor derived from user input) and then interpolated back to the original resolution. This has the effect of low-pass filtering the data. The original data values are subtracted from the filtered values and then the standard deviation of the difference values computed and divided by the range of the original data values. This normalized standard deviation is used to determine whether the data contain predominately low-frequency or high frequency information. When the normalized standard deviation is less than or equal to 0.1, we consider the data to be low frequency, based on empirical results.

Using the computed values and a representation task, ColorMapLookup computes an index into a lookup table structured as shown in Table 1, which is used to determine a set of colormaps to be read into memory. If the data contain a zero-crossing (i.e., the minimum and maximum values have different signs), the data are treated as ratio data. Otherwise, data are treated as interval data. The current implementation does not handle nominal or ordinal data.

The second major component of PRAVDAColor is the interactive colormap displayer/selector. This component is implemented as an outboard module in Data Explorer called ColorMapPicker, written in C using Motif/Xlib. Outboard modules are separately compiled and linked executables which are invoked by Data Explorer and communicate with the Data Explorer executive (main control component) via socket. As described above, ColorMapPicker allows the user to interactively select sequences of colormaps, as well as dynamically alter the assignment of colormap values to data values.

Colormap construction

To construct colormaps, we developed a tool similar to the interactive tool described by Rheingans [1990]. Figure 3 shows this three-dimensional colormap tool, an image that has been created using its output, and a view of its output in the Data Explorer Colormap Editor.

Figure 3. Construction of a Data Explorer Colormap with a Three-Dimensional Colormap Tool.

The colormap tool displays a hue-lightness-saturation (HLS) double-cone populated by color swatches. We chose to represent each swatch by a single square polygon rather than a solid to avoid the color artifacts created by a shading model.

The user can rotate and zoom the color space representation using the mouse. To ensure interactive updates, we draw only an outline of the space when the mouse is moving, filling in the color swatches when the mouse stops.

By selecting color swatches with the mouse, a color path is constructed interactively. Figure 4 shows a path created with the tool. The tool provides an undo and move function for editing the path. At any time, the user can send the current colormap to the rest of the Data Explorer network by clicking on a virtual button. The output colormap linearly interpolates between the selected swatches in HLS space. Similarly, the user may specify that a discrete colormap is to be produced containing equally sized segments for each selected swatch with no interpolation. This is useful in creating colormaps for segmented representation tasks.

Figure 4. Specification of a Colormap in HLS Space.

The colormap tool was implemented in C using Motif/Xlib for interface elements and event handling, and OpenGL to create the three-dimensional graphics. The module converts all colors from HLS, used internally, to hue-saturation-value (HSV), required by Data Explorer.

Results -- Applications of PRAVDAColor

PRAVDAColor has been utilized internally as part of an informal testing effort prior to making these tools available to users of Data Explorer. PRAVDAColor has been integrated into various operational visualization activities.

Preserving the spatial structure of data

Consider Figure 5, which is a screen dump of a typical Data Explorer program applied to two-dimensional data, where the default hue-based colormap from AutoColor is utilized to create an image of fluid density from a simulation of the noise produced by a jet aircraft engine.

Figure 5. Data Explorer Visual Program Using the Default Colormap Tool (AutoColor).

The representation is dominated by the segmentation inherent in the default rainbow type of colormap. In order to study the spatial structure of these data as a continuum, AutoColor was replaced by PRAVDAColor to help in the selection of an isomorphic colormap. The results are shown in Figure 2. It shows more of the fine spatial structure and turbulence inherent in these continuous data.

Different colormaps for different tasks

Figures 6 and 7 illustrate the importance of task specification for colormap selection. They show the result of a photochemical grid model of transport and deposition of airborne pollutants over the midwestern portion of the United States on June 26, 1987 at 18:00 local time. Ozone pollution concentration is shown in parts per billion by volume (ppbv). An isomorphic colormap was employed in Figure 6. It effectively captures the inherent dynamics of the model by showing a snapshot of atmospheric motion (e.g., roughly circular filaments in yellow corresponding to higher ozone concentrations). On the other hand, the ability to indicate regions of moderate to high pollution is a different task. PRAVDAColor was used to select a segmented colormap in Figure 7 for color-filled contours. In this case, higher pollution levels (e.g., above 160 ppbv) are clearly visible as yellow and red over Lake Michigan, to the east of Chicago. It should also be noted that this colormap allows the user to see some artifacts of the limited grid resolution of the model.

Figure 6. Photochemical Pollution Model with an Isomorphic Colormap.

Figure 7. Photochemical Pollution Model with a Segmented Colormap.

Color interaction

The analysis of concurrent color use by multiple objects is an additional criterion in colormap selection in order to avoid undesirable artifacts of color mixing. While the current implementation does not support dynamic interaction between visualization operations, PRAVDAColor does allow the user to address some of these issues explicitly. Several efforts to show multiple parameters using different colormaps were attempted. In these cases, the choices offered by PRAVDAColor were manually inspected for potential conflicts. The user can then choose colormaps that have minimal overlap in use of specific colors.

Figure 8, for example, is a display of global temperature and precipitation observed from weather stations. An isomorphic colormap is chosen for precipitation as a continuous pseudo-colored field, while contours of temperature every five degrees C. are colored using a segmented colormap composed of entirely different colors. This representation illustrates correlation between lack of precipitation with very high temperatures and high precipitation with moderately-high temperatures.

Figure 8. Global Temperature and Precipitation with Complementary Colormaps.

In Figure 9, two distinct isomorphic colormaps are used for temperature and for wind speed from an empirical ocean/atmosphere circulation model. Sea level pressure is also shown as a deformed surface, which is pseudo-colored by surface temperature. The winds are shown as streamlines, pseudo-colored by wind speed. A region of ocean warming in the southeastern Pacific Ocean (pinkish-white) is associated with a decrease in sea level pressure and winds moving toward the South American coast.

Figure 9. Ocean/Atmospheric Conditions Shown with Two Isomorphic Colormaps.

In both Figures 8 and 9, the relationships between different parameters would be difficult to see without the use of complementary colormaps. Previous efforts along these lines required the custom construction of independent colormaps with the Data Explorer Colormap Editor and applying them in rendered images -- a time-consuming process. PRAVDAColor reduced the number of iterations by only offering a small and manageable number of choices that had the additional benefit of being appropriate for the visualization task at hand.

Three-dimensional Data

The application of PRAVDAColor is not confined to two-dimensional data. Figure 10 shows one time step of a regional, three-dimensional weather model shown as an isosurface of wind speed at 20 m/sec. The surface is colored by the temperature values in the computed volume interpolated on the isosurface. PRAVDAColor is used to create an isomorphic colormap corresponding to the full temperature volume.

Figure 10. Data Explorer Visual Program Using PRAVDAColor with Three-Dimensional Data.

Integrating PRAVDA into real applications

PRAVDAColor can easily be incorporated into actual applications built with Data Explorer. Figure 11 is a screen dump of a generalized application that provides cartographic representations from a selection of available parameters stored in a user-defined file. The package was extended by replacing the standard Colormap Editor with PRAVDAColor. This enhanced application allows a user to select a colormapping task, for which PRAVDAColor then offers a set of choices. The image shows a segmented colormap applied to filled contours of total column ozone displayed as orthographic maps for the northern and southern hemispheres. The seasonal ozone depletion is visible as a black region over the south pole for these data taken on October 1, 1991. The available choices are illustrated in the ColorMapPicker panel.

Figure 11. Data Explorer Application Incorporating PRAVDAColor.

Discussion

PRAVDAColor has been used effectively within IBM. For complex colormap selection activities, this tool has reduced the length of time required to develop satisfactory results. This has been sufficiently encouraging to warrant further enhancements, and to make the tools available to current Data Explorer users.

Importance of Spatial Frequency in Colormap Selection

Previous guidance for colormap selection has established the importance of various classes of colormaps appropriate for specific visualization tasks (e.g., Lefkowitz and Herman [1992]; Ware [1988]). However, there can be considerable variation in the collection of colormaps that effectively satisfy a given task from one data set to the next. The analysis of the spatial frequency coupled with a large library of colormaps offers a unique method for characterizing the appropriate representation of the data. The user is shielded from the intricacies of psychophysical research and color theory, and is automatically offered colormaps with significant luminance variations for representing fine spatial structure. Similarly, the user is offered colormaps with significant variation in saturation for representing coarse spatial structure.

Because of its obvious simplicity, the current algorithm for estimating spatial frequency might be criticized as being naive. However, it does have a number of virtues. The typical approach to such a problem would involve applying a (fast) Fourier Transform (FFT) to the data of interest. An estimate of the spatial frequency for use herein could be specified in the following manner for two-dimensional data:

F(u,v) = |G(u,v) Mi(u,v)|

where: G(u,v) is the Fourier transform of the data represented by G(x,y).

Mi(u,v) is the frequency mask or filter for the ith class of spatial variation.

In practice, several Mi(u,v) functions would need to be defined, one for each class of spatial frequency for which a separate collection of colormaps would be made available. Generic versions of filters may be non-trivial to construct. Clearly, this approach could be extended to three-dimensional data. However, the development of three-dimensional filters would be even more difficult. Of course, a more complex representation of the spatial frequency than this might be required to be effective (e.g., introduction of weighting functions in the frequency domain). As with the approach of filtering in the spatial domain, metrics for evaluating the results to assign spatial frequency classes would need to be developed.

Unfortunately, an FFT-based method of frequency-domain filtering is generally limited to regularly gridded data (e.g., an image). Hence, this approach would not directly apply to curvilinear, partially regular or irregular data. In addition, it is not sensitive to disparate scaling that might apply to each dimension of a grid. Therefore, an alternative was required to support rule-based colormapping of more general classes of data. The spatial-domain filtering approach described earlier has the advantage of operating on any topologically regular gridded or structured data set and is affected by dimensional scaling. Finally, the approach would appear to be computationally quicker than using FFTs, especially for three-dimensional data, which has enabled the application of PRAVDAColor to be interactive.

Integration of Intelligence into Existing Systems

In our earlier work, we established the importance of interactive rule-based tools to extend the utility of modern visualization software systems. The approach capitalizes on the breadth of their capabilities while minimizing the number of iterations required to create more appropriate and better visualizations. As a first step in this effort, the implementation of PRAVDAColor has demonstrated that this is feasible and practical. We expect other visualization systems to be extensible to incorporate PRAVDAColor-like tools through the addition of custom code as well as existing visual programming modules (e.g., Rasure and Wallace [1991]; SGI [1991]; Upson et al [1989]).

Extensions

In this paper, we have presented a Data Explorer module for guiding the user in selecting colormaps. The next step would be to add additional rule-based operations and provide feedback between the operations.

The PRAVDA architecture can be readily extended to allow the user to interactively modify the metadata and the rules. For example, the user could choose to modify the algorithm for computing spatial frequency, or decide to see what mapping choices were available if the goal of the visualization were changed. Likewise, the rules could be changed to reflect new insights or information. For example, if the user realized that the structure being sought was confined to a certain range of values in the data set, the rule could be modified so that data in this range would be highlighted by mapping it to an appropriate visual dimension. Our first focus has been on implementing rules based on perceptual principles, but could be easily extended to include other types of rules, for example, rules about mappings or conventions particular to certain domains (Rogowitz and Treinish [1994]).

Conclusions

A framework for rule-based guidance can improve the effectiveness of systems by assisting the user in making two types of appropriate representation choices. One concerns domain-independent factors, such as ensuring that data content is reflected in images and that perceptual artifacts are not erroneously interpreted as data features. A second type concerns task-dependent factors. For example, different advice on representation is required depending on whether the goal of visualization is exploration or presentation.

The PRAVDA architecture explicitly incorporates guidance based on principles of human perception, cognition and color theory (Rogowitz and Treinish [1993b]). These principles are incorporated in rules which the user can select during the visualization process. Depending on the higher-level characteristics of the data, the rule constrains the way in which the data are mapped onto visual dimensions. This architecture has been utilized to build a tool which eases the burden of creating colormaps for many visualization applications.

The PRAVDAColor module has been implemented as an initial proof-of-concept of the PRAVDA rule-based architecture for advising a visualization developer. We have developed a set of rules that simplify the task of colormap selection. The user is presented a set of choices that are appropriate, based on characteristics of the data being visualized and the desired form of the representation.

Using this rule-based colormap advisor, we have constructed a set of visualizations that demonstrate the advantages of colormaps that conform to perceptual principles over an uninformed choice. We anticipate users finding the current implementation helpful in constructing visualizations, and the utility increasing as we add additional rules and visualization operations to the system.

Acknowledgments

We thank the Data Explorer development team for their cooperation in this effort and valuable discussion that led to the successful implementation of PRAVDAColor.

Jet engine noise data are available courtesy of Combustion Research and Flow Technology.

Surface station temperature and precipitation data, oceanographic temperature, pressure and wind data, magnetic field data and total column ozone data are available courtesy of NASA/Goddard Space Flight Center.

Three-dimensional weather model data are available courtesy of Glenn Wightwick, IBM Australia.

Photochemical model data are available courtesy of the US Environmental Protection Agency, RTP .

References

Abram, G. and L. Treinish. An Extended Data-Flow Architecture for Data Analysis and Visualization. Proceedings of the IEEE Visualization 1995 Conference, October 1995, pp. 263-270.

Bertin, J. Semiology of Graphics, 1967, reprinted by University of Wisconsin Press, Madison, WI, 1983.

Carswell, C. M. and C. D. Wickens. The Perceptual Interaction of Graphical Attributes: Configurality, Stimulus Homogeneity, and Object Integration. Perception & Psychophysics, pp. 157-168, 1990.

Cleveland, W.S. The Elements of Graphing Data, Monterey, California: Wadsworth, Inc., 1991.

Della Ventura, A. and R. Schettini. Computer Aided Color Coding. Communicating with Virtual Worlds, N.M. Thalmann and D. Thalmann (eds.), Springer-Verlag, Tokyo, pp. 62-75, 1991

Hurvich, L. M. and Jameson, D. Some quantitative aspects of an Opponent-Colors Theory: II. Brightness, Saturation, and Hue in Normal and Dichromatic Vision. J. Optical Soc. of America, 45, pp. 602-616, 1955.

Lefkowitz, H. and G. T. Herman. Color Scales for Image Data. IEEE Computer Graphics and Applications, 12, n. 1, pp. 72-80, January 1992.

Rasure, J. and C. Wallace. An Integrated Data Flow Visual Language and Software Development Environment. Journal of Visual Languages and Computing, 2, pp. 217-246, 1991.

Research Systems, Inc. IDL Basics, Interactive Data Language Version 3.5, November, 1993.

Rheingans, P. and B. Tebbs. A Tool for Dynamic Exploration of Color Mappings. Computer Graphics, 24, n.2, pp. 145-146, 1990.

Robertson, P. K. Visualizing Color Gamuts: A User Interface for the Effective Use of Perceptual Color Spaces in Data Displays. IEEE Computer Graphics and Applications, 8, pp. 50-63, September 1988.

Robertson, P. K, M. Hutchins, D.R. Stevenson, S. Barass, C. Gunn and D. Smith. Mapping Data into Colour Gamuts: Using Interaction to Increase Usability and Reduce Complexity. Computer Graphics (UK), 18, no. 5, pp. 653-665, September/October 1994.

Rogowitz, B. E., D. T. Ling and W. A. Kellogg. Task Dependence, Veridicality, and Pre-Attentive Vision: Taking Advantage of Perceptually-Rich Computer Environments. Proceedings of the SPIE Symposium, 1666, Human Vision, Visual Processing and Digital Display III, pp. 504-513, February 1992.

Rogowitz, B. E. and D. A. Rabenhorst. CRAFT: A Tool for Customizing Color and Font Selections Guided by Perceptual Rules. Proceedings of the IS&T and SID Color Imaging Conference, November, 1993.

Rogowitz, B. E. and L. A. Treinish. Data Structures and Perceptual Structures. Proceedings of the SPIE Symposium, 1913, Human Vision, Visual Processing and Digital Display IV, pp. 600-612, February 1993.

Rogowitz, B. E. and L. A. Treinish. An Architecture for Perceptual Rule-Based Visualization. Proceedings of the IEEE Visualization 1993 Conference, pp. 236-243, October 1993.

Rogowitz, B. E. and L. A. Treinish. Using Perceptual Rules in Interactive Visualization. Proceedings of the SPIE Symposium, 2179, Human Vision, Visual Processing and Digital Display V, pp. 287-295, February 1994.

Rogowitz, B. E. and L. A. Treinish. How NOT to Lie with Visualization.

Senay, H. and E. Ignatius. A Knowledge-Based System for Visualization Design. IEEE Computer Graphics and Applications, 14, no 6, pp. 36-47, November, 1994.

Silicon Graphics Computer Systems. IRIS Explorer. Technical Report BP-TR-1E-01 (Rev. 7/91).

Stevens, S. S. Matching Functions Between Loudness and Ten Other Continua. Perception and Psychophysics, 1, pp. 5-8, 1966.

Treisman, A. and G. Gelade. A Feature Integration Theory of Attention. Cognitive Psychology, 18, pp. 643-662, 1980.

Tufte, E. The Visual Display of Quantitative Information. Connecticut: Graphics Press, 1983.

Upson, C., T. Faulhaber, D. Kamins, D. Laidlaw, D. Schlegel, J. Vroom, R. Gurwitz and A. van Dam. The Application Visualization System: A Computational Environment for Scientific Visualization. IEEE Computer Graphics and Applications, 9, n. 4, pp. 30-42, July 1989.

Ware, Colin. Color Sequences for Univariate Maps: Theory, Experiments and Principles. IEEE Computer Graphics and Applications, 8, n. 5, pp.41-49, 1988.