Using Visualization and Animation to Convey Motion in Experimental Data


Forward Forward Forward

Chapter 7: Discussion and Conclusion

This thesis has used a real experimental data set as a vehicle for illustrating the process of visualizing large amount of data with spatial and temporal dependencies. This process includes data preprocessing, basic data analysis, modeling and data presentation. The main contribution of this thesis is the development of quantitative visual criteria for this class of problems. The criteria can be extracted from video data allowing high-level modeling of this system.

Visualizations must be based on modeling of the underlying data. Data modeling involves the process of high-level abstraction and extraction of useful information which corresponds to the abstraction. Data modeling techniques tend to be problem-specific. The minimum area invariant and the principal axis representation are the bases for the visualization modeling techniques discussed in this thesis. The minimum area invariant allows effective data compression and data extraction. The principal axis representation provides a consistent and accurate way of abstracting object position, size, and shape. Objects can then be represented using simple geometrical components. This abstraction provides a basis for static visualization and computer animation. A minimum area invariant for the hopping modes is introduced to classify hopping cells by their states. A minimum area invariant for the radial extinction modes is used for extracting critical points of bifurcation. The principal axis representation is used to represent cells and flame fronts.

Static visualization and computer animation are complementary approaches for visualizing the behavior of spatial and temporal features. Static approaches such as space-time diagrams are useful for visualizing overall patterns such as hopping order and fraction of time spent in a particular state. Dynamic animations convey a sense of motion and show the dynamic interrelationships between objects.

Existing visualization tools are developed for certain kinds of problems. Special effort must be provided in order to adapt the existing tools. A connection between parallel program performance evaluation and flame motion has been made to adapt a parallel program evaluation tool - ParaGraph. This adaptation can be generalized and applied to other problems which can be abstracted by a limited number of states. A successful adaptation involves providing definition of states that are meaningful to the underlying data and generating a trace file that can be understood by ParaGraph. Paragraph has 25 displays for visualizing a program execution trace. These displays fall into three categories - utilization, communication, and task information. This thesis applied utilization displays to the hopping mode and the radial extinction mode to illustrate the process of static visualization. Although ParaGraph suffers from insufficient detail in each display, the visualization models extracted from flame system are very straight-forward so simple displays are sufficient for depicting the insights. More work can be done to explore ways of adapting other displays to gain additional insight.

Some difficulties were encountered in the process of adapting ParaGraph. First of all, ParaGraph displays are not very flexible in that a lot of display choices are hard coded. Only a small number of options are available to the user. An example that is critical to the adaptation is the calculation of the total time that each processor spent in each of the three states - busy, overhead, and idle: ParaGraph calculates the total duration for two of the states (busy and overhead) according to the trace file. The total duration of the third state (idle) is computed by subtracting the duration of the busy state and the overhead state from the total time. As mentioned in Chapter 5, ParaGraph had been adapted to the hopping mode and the radial extinction mode of the flame system. Instead of three states, only two states are abstracted from flame system (hopping and stationary for the hopping mode, active and non-active for the radial extinction mode). Since the calculation in ParaGraph has been hard coded for three states, the calculation and display for the state information must be modified in order for ParaGraph to generate correct and meaningful displays. Similarly, it is fairly easy to imagine that more serious changes must be made if the number of states to be depicted is more than three.

Secondly, the current version of ParaGraph programs do not calculate the time processors spent in each of the states correctly. As a result, all the displays that use this information (such as the utilization-summary and utilization-Kiviat displays) could not provide correct information before changes were made.

Thirdly, ParaGraph aimed to visualize programs for massively parallel architectures that have thousands of processors, and the current version of ParaGraph's displays depend critically on the availability of data on each individual event. Thus, memory becomes a big concern. At the cost of less detailed displays and inconvenience of control over the display windows, ParaGraph managed to keep the number of processors that can be depicted as large as possible. For example, after each window finishes display, the underlying data is removed from memory. Consequently, if the display windows are obscured and then reexposed, the contents of these displays are lost, so they cannot be redrawn unless the entire simulation program is restarted all over again. In another words, the display windows cannot be refreshed. To view all the displays at a particular point of the trace file, the user must arrange all the display windows side by side (without overlapping), and this is impossible when the number of active displays is large. This inability to repair windows was a deliberate design decision based on a desire to conserve memory. Also related to the concern of saving memory is the fact that most of ParaGraph's displays contain limited amount of information. ParaGraph chose a flat organization rather than hierarchical with zooming, so the amount of information for each processor and the extent of detail in the display will eventually get to a point where each processor is represented by a single pixel (or pixel line). Hence no more information can be added to the display. A decision must be made to limit the number of processors, the amount of information for each processor, and/or the extent of detail. ParaGraph chose to provide multiple displays with limited information in each. The decision made for ParaGraph might be critical for parallel program visualization, but for the flame system, the number of objects that correspond to processors are very moderate compared with the number of processors in parallel programs. With limited number of processors, the amount of available memory should not be a problem. The amount of information and the detail in a single display should mainly be determined by the visualization needs of specific phenomena. Although ParaGraph's displays that are adapted to the flame system provide a lot of insight into the underlying phenomenon, it would be nice if the user could choose combining multiple ParaGraph's displays into one single display. In some cases comparisons among events can be facilitated in a display with more information. For example, if the utilization-count display and the Gantt-chart display could be combined into a single display, the hopping ordering discussed in Chapter 5 might be more obvious to the viewer.

Fourthly, the display can only played in one direction and this is not convenient. Therefore, ParaGraph is not the answer to static visualization. More reliable, adaptable visualization tools are needed.

Computer animations in this thesis are based on the POLKA computer animation package. Animation techniques are discussed and implemented for three modes of flame data - hopping mode, radial extinction mode, and rotation mode. Animations for different modes illustrate how basic graphic components and colors can be used to convey different kinds of motion. The animations for the hopping mode animate the motion of invisible objects - unoccupied cell positions. The animations for the rotation mode help the eye to detect minute cell deformation, and the animations for the radial extinction mode reveal the bifurcation phenomenon by visualizing the evolution of cell orientation.

The most important features of the POLKA animation package are that multiple actions can be shown concurrently and that the motion can be smoothed by specifying a transition path for the intermediate animation frames. On the other hand, POLKA has its limitations: First of all, some of the basic geometrical shapes such as ellipse are not available. Some of the animations would be more lifelike if the objects could be represented using ellipse and its principal axes. Secondly, POLKA does not have a way of ``memorizing'' objects. In order to preserve visual history, the programmer has to implement fading and other metaphors manually. Thirdly, the animation cannot be played backwards or started from an arbitrary point. Fourthly, it would be easier to debug the program if the cursor position in the animation coordinate system could be displayed as the cursor is moved around.

Scientific visualization is a new field, and existing tools do not satisfy all visualization needs. A general-purpose, more sophisticated visualization tool is needed for this class of problems.