SEARCH

SEARCH BY CITATION

Keywords:

  • visualization;
  • perception;
  • texture;
  • Computer Graphics I.3.3 Picture/Image Generation

Abstract

  1. Top of page
  2. Abstract
  3. 1. Introduction
  4. 2. Related Work
  5. 3. Experimental Set-Up
  6. 4. Experiments
  7. 5. Evaluation and Comparison in 3D
  8. 6. Dealing with High Occlusion
  9. 7. Conclusion and Future Work
  10. References
  11. Supporting Information

One of the standard techniques to visualize three-dimensional flow is to use geometry primitives. This solution, when opaque primitives are used, results in high levels of occlusion, especially with dense streamline seeding. Using semi-transparent geometry primitives can alleviate the problem of occlusion. However, with semi-transparency some parts of the data set become too vague and blurry, while others are still heavily occluded. We conducted a user study that provided us with results on perceptual limits of using semi-transparent geometry primitives for flow visualization. Texture models for semi-transparent streamlines were introduced. Test subjects were shown multiple overlaying layers of streamlines and recorded how many different flow directions they were able to perceive. The user study allowed us to identify a set of top scoring textures. We discuss the results of the user study, provide guidelines on using semi-transparency for three-dimensional flow visualization and show how varying textures for different streamlines can further enhance the perception of dense streamlines. We also discuss the strategies for dealing with very high levels of occlusion. The strategies are per-pixel filtering of flow directions, when only some of the streamlines are rendered at a particular pixel, and opacity normalization, a way of altering the opacity of overlapping streamlines with the same direction. We illustrate our results with a variety of visualizations.

1. Introduction

  1. Top of page
  2. Abstract
  3. 1. Introduction
  4. 2. Related Work
  5. 3. Experimental Set-Up
  6. 4. Experiments
  7. 5. Evaluation and Comparison in 3D
  8. 6. Dealing with High Occlusion
  9. 7. Conclusion and Future Work
  10. References
  11. Supporting Information

Flow visualization is widely used in applications in fields as diverse as aeronautics, medicine and biology. Compared to two-dimensional flow visualization or visualizing two-dimensional flow around surfaces, occlusion and perception of the flow for three-dimensional flow visualization make it a much harder problem. One of the most popular approaches for three dimensions is to visualize flow with geometry primitives, such as lines, ribbons or tubes. An example of such visualization is shown in Figure 1(a). When fully opaque streamlines are used, the inner parts of the Tornado data set are fully occluded. Different streamline seeding and streamline filtering algorithms have been proposed to reduce clutter and occlusion for three-dimensional flow visualization [CCK07, XLS10, MCHM10]. An example of streamline filtering is shown in Figure 2. Outer streamlines are removed and complex inner features of the data set become visible. However, once occluding streamlines are removed, the information about the data set that they were revealing is lost. Furthermore, it is not always possible to seed or filter streamlines in a way that guarantees minimal occlusion, as some important flow features may still be occluding other ones.

image

Figure 1. (a) Tornado data set rendered with fully opaque streamlines. The central part of the data set is fully occluded. (b) Semi-transparent streamlines with uniformly distributed opacity are used. (c) Using one of the best textures from the experiment 2. (d) Combining streamline filtering with the use of semi-transparent streamlines. Some of the streamlines are removed to lower occlusion of the central part of the data set, and one of the highest scoring textures from experiment 2 is used to render the remaining ones.

Download figure to PowerPoint

image

Figure 2. Streamline filtering reduces occlusion and reveals complex inner structures of the Plume data set. However, the occluding streamlines that were removed provided information about the data set as well.

Download figure to PowerPoint

Another solution that mitigates the occlusion problem is to use semi-transparent streamlines. Examples are shown in Figures 1(b)–(c). The inner part of the data set with high-curvature streamlines is revealed, without removing any of the peripheral streamlines. However, the examples show the challenges that the use of semi-transparency presents. In Figure 1(b) the image is blurry and semi-transparent streamlines are hard to perceive. In order to find out how to use semi-transparency effectively, we developed a user study. The results of the user study are utilized to produce visualizations shown in Figures 1(c) and (d). In Figure 1(c), one of the high-scoring results from the user study is used. In Figure 1(d), we use the results in Figure 1(c) as well as streamline filtering. Some of the streamlines are filtered out, reducing the occlusion of the central part of the data set.

One of the first goals of our user study was to identify the perceptual limits in the use of semi-transparent streamlines. We introduce two streamline texture models that allow us to create a variety of patterns. Test visualizations are created by overlaying multiple layers of animated semi-transparent streamlines. Streamlines in a particular layer have the same direction. The test subjects were asked to record the number of perceived flow directions. The experimental design allows us to study the problem of occlusion without the need for a multitude of different data sets: for a small vicinity on the screen, the projections of streamlines to the vicinity can be approximated by homogeneous flow with different directions and depths, with the only exception of vicinities of critical points. The user study further allowed us to find the best performing textures and formulate a set of visualization guidelines.

In order to reveal flow features and not miss any, streamlines should be seeded densely. In such cases, using the best performing textures from our user study may not sufficiently reduce occlusion levels. We have explored approaches that allow us to decrease occlusion even further in such cases. First, we explore how streamline filtering at the pixel level can be used. Second, we investigate opacity normalization, a technique that alters the opacity levels of streamlines with the same directions at the pixel level. We present the results in the corresponding sections of the paper.

2. Related Work

  1. Top of page
  2. Abstract
  3. 1. Introduction
  4. 2. Related Work
  5. 3. Experimental Set-Up
  6. 4. Experiments
  7. 5. Evaluation and Comparison in 3D
  8. 6. Dealing with High Occlusion
  9. 7. Conclusion and Future Work
  10. References
  11. Supporting Information

Flow visualization is a large and very well-developed area of scientific visualization that still attracts much attention. A wide variety of approaches has been developed to visualize flows in 2D, 2.5D and 3D. Approaches to visualize vector fields can be categorized into dense (texture-based), feature-based, direct, and geometry-based techniques. A number of very good reviews of the field are available [HLD02, LHD*04, MLP*10].

A number of methods to mitigate the problem of occlusion for three-dimensional flow visualization have been proposed over the years. View dependent methods [MCHM10, LMSC11] remove streamlines that occlude important regions for a given viewpoint. View independent algorithms seed streamlines in areas of higher importance [CCK07, XLS10, VKP00]. However, when any of the above methods are used, certain flow features may still not be represented.

Researchers in scientific visualization have long been using principles of human perception to achieve best results, but recently perception has started to receive even more attention [BCFW08]. The role of colour is covered in many books, for example [Won96, Itt61, War99], and in numerous articles. Recently, the role of motion when creating scientific visualizations was discussed by Huber and Healy in Ref. [HH05]. Weiskopf [Wei04] investigated how colour influences perception of motion in animated visualizations, including flow visualization, and provided a set of design guidelines for visualization applications. Importance of utilizing perceptual principles and theory of human vision for flow visualization is stated by Ware in [War08].

Researchers working in a field of vision have studied different aspects of human perception of motion for a long time which resulted in a wealth of important findings. The following publications focus on revealing how the human visual system works and on creating models of human visual system perception [Wan95, CBL*98, THA91]. The problem of perception of transparent motion, which refers to perception of multiple motions that occur simultaneously at the same region, also got much attention. Snowden et al. [STEA91] explored neural response of MT and V1 area neurons to transparent motion. Qian et al. in three publications [QAA94a, QA94, QAA*94b] provide a thorough investigation of transparent motion. They found that in order for two motions to be perceived as separate, local motion signals should be at least somewhat unbalanced. Braddick et al. [BWC02] investigated how well the users perform a task of judging whether two transparent motions were orthogonal. Marshak and Sekuler [MS79] investigated the phenomenon of directional repulsion, which corresponds to the perception that the angle between transparent streams is larger than it actually is. Felisberti and Zanker [FZ05] created a user study to evaluate how attention affects perception of transparent motion. They utilize dot patterns moving in different directions simultaneously. They report that the overall number of directions that can be perceived simultaneously is quite small but that directional cues shown prior to the stimulus improve the perception. Langer et al. [LPR06] explore the perceptual limits for 2D flow visualization techniques. The authors introduce a spectral synthesis method that is used to create visualizations of layered motion fields.

Visualizing multiple layers of materials is an important topic in computer graphics and scientific visualization. In many cases, there is a need to overlay materials in the same view, for example, in a medical visualization different soft tissues should be visible above the bone. The use of textures to enhance perception of semi-transparent layers has been covered by Interrante et al. in Ref. [IFP95] and by Interrante in Ref. [Int96], and more perceptual aspects of visualization of textured layers were covered by Bair et al. [BH07, BHW05]. House et al. [HBW05] propose a framework for optimizing and evaluating visualizations and show how this approach can be applied to a problem of visualizing two overlapping surface layers with the use of semi-transparent textures. Their paper describes a ‘human in the loop’ algorithm and a large parameter space exploration. They find textures that provide accurate shape perception for both layers. The authors discuss several methods for analysing their results, which include clustering and principal component analysis.

Kinetic visualization by Lum et al. [LSM02] employs a particle system to provide motion cues that improve shape perception of visualized objects. Visualization of two overlapping layers of flow is discussed by Urness et al. [UIL*06]. Papers by Laramee et al. [LSH04] and Laramee et al. [LGSH06] combine geometry-based and texture-based flow visualization methods. The former uses texture advection on isosurfaces and the latter uses texture advection on stream surfaces.

Weigle and Banks [WB08] compare the use of perspective and global illumination for flow visualization, using streamtubes. Forsberg et al. [FCL09] performed user studies in which test subjects were asked to complete some common tasks in flow visualization, such as locating and finding the type of a critical point and tracing a particle. Ware in Ref. [War06] investigates how different rendering styles affect perception of orientation of contours in 3D with both stereo and non-stereo viewing. He reports that the best results are achieved by using tubes and stereoscopic viewing. Penney et al. [PCL12] presented results from a user study that evaluated how the users performed tasks using three-dimensional flow visualizations with different illumination conditions and using textured and non-textured streamtubes.

Mishchenko and Crawfis [MC12] have investigated the limits of perception of semi-transparency for flow visualization. The density of semi-transparent streamlines is high and the users are asked how many different overlapping flow directions at different depths they can perceive. We extend that paper by discussing approaches on how very high levels of occlusion can be dealt with.

3. Experimental Set-Up

  1. Top of page
  2. Abstract
  3. 1. Introduction
  4. 2. Related Work
  5. 3. Experimental Set-Up
  6. 4. Experiments
  7. 5. Evaluation and Comparison in 3D
  8. 6. Dealing with High Occlusion
  9. 7. Conclusion and Future Work
  10. References
  11. Supporting Information

The goal of our work is to determine the limits of human perception when three-dimensional flow is visualized with partially occluded animated semi-transparent geometry primitives and to find a set of guidelines for this visualization approach. A naive approach is to evaluate all possible flow visualizations with semi-transparent geometry. However, it is infeasible. Instead, we carefully design a user study. For this purpose, we introduce streamline and data set experimental models. Our experimental data set is a set of constant flow directions at different depths, overlapping each other, with streamlines being represented as lines with certain texture patterns and opacities applied to them. This allows us to investigate the following questions. What is the maximum number of partially occluded flow directions discerned by the user for a particular texture? What opacity and texture maximizes the number of discernible depths of flow? What animation speed should be selected?

The parameter space of the experiments is huge. There are millions of different combinations of colours, opacities and texture patterns, each combination defining a particular visualization. With multiple user studies we have identified those parameter configurations that allow discerning a maximum number of partially occluded flow directions. We provide a detailed description of our experiments in the following sections.

3.1. Experimental model

3.1.1. Streamline models

We represent a streamline as a line with a specific width and length. The simplest way to apply semi-transparency to a streamline is to set a uniform opacity value for the whole streamline. However, it does not provide the best results. Utilizing some kind of a time-dependent texture pattern is beneficial. For example, by moving the texture along the flow primitive we can create an effect of flow motion [GW92]. We introduce two general models for the distribution of transparency over a flow primitive. The distribution of transparency is important as it affects the perception of the streamline.

Texture model 1

First, we explore a set of ‘sawtooth’ textures. Examples of this function with different parameters are shown in Figures 3 (a)–(f). The model is defined as:

  • display math(1)
  • display math(2)
  • display math(3)
image

Figure 3. Examples of texture patterns for flow lines. Horizontal axis corresponds to texture coordinate and vertical axis corresponds to opacity. Figures (a)–(f) show patterns generated with model 1 (Tsawtooth), and figures (g)–(o) show patterns generated with model 2 (Tsin). Figures (b)–(e) show the highest scoring Tsawtooth textures from experiment 1, and figures (l)–(t) show some of the highest scoring Tsin textures from experiment 2. For sawtooth textures (b)–(e) amax parameter is increasing, and (f) has a higher amin than textures (b)–(e). Sin wave texture (l) has smaller amax than (m), (n) has smaller amin than (o), and (p) has smaller C than (q).

Download figure to PowerPoint

inline image represents the texture opacity, where x is a texture coordinate that changes from 0 to 1. The clamp function returns amin if its first parameter is less than amin and returns amax if first parameter is larger than amax. Combining inline image and κ functions allows us to create a variety of texture patterns to control the opacity. Multiplying the expression by inline image allows us to vary the overall streamline opacity. The inline image term relates to the animation of the flow: t is time and σ specifies the speed of the animation. If we set σ to zero, we enforce a non-animated flow pattern. Parameter C controls the width of the ‘tooth’ of the texture. Other parameters for a particular streamline (not included in the above formula) are the line width w, line length l and colour c. Only textures along the flow direction are studied. Equation (3) represents a single sawtooth, and to generate multiple ‘teeth’ we combine λ number of teeth together, as in Figure 3(a).

Texture model 2

We also explore the model based on transcendental functions and defined as:

  • display math(4)
  • display math(5)

In model 2, λ specifies the frequency of inline image function, and parameter C allows us to create inline image textures with individual ‘spikes’, as shown in Figures 3 (l)–(n).

These two models allow a wide range of textures and are easily controlled for our experiments. The two models do not represent all possible texture patterns, but we feel they are sufficiently rich for our study. We refer to the textures introduced in this section as Tsawtooth and Tsin in the rest of the paper.

3.1.2. Data set model

The models introduced above define a single flow geometry primitive. However, visualization also depends on the total number of streamlines and how they are distributed in space. We construct a set of test data sets based on the following observations. For any 3D flow data set, the viewer sees streamlines projected to a viewing plane. As the vector field representation is discrete, for a specific location (small neighbourhood with a size of several pixels) on the viewing plane, there is only one flow direction at a specific depth. Projections of these flow directions to planes parallel to a viewing plane form a ‘stack’ of overlapping flows. The quality of visualization which utilizes semi-transparency depends on how well one can discern these overlapping, partially occluded flow directions at different depths. Thus, for our user study we introduce a test data set that consists of n overlapping flow layers with homogeneous flow. For each layer, we generate a large candidate set of streamlines. We select a subset based on a metric from this large set. For the experiments described below we used a random subset of streamlines from the candidate set. An example of the experimental data set is shown in Figure 4.

image

Figure 4. (a) Schematic depiction of the data set: layers with different flow directions are viewed on top of each other. The red arrow shows the view direction. (b) Experimental data set visualization: three flow directions visualized. Dark borders are used to highlight the fact that this is not a full-size visualization, but only a part of it. Please notice that we use dark borders for other visualizations in this paper with the same purpose.

Download figure to PowerPoint

3.2. Parameter space exploration

The parameters for streamline models and data set model define a 13-dimensional space. The dimensions are:

  • amax, amin, λ, inline image, inline image, A (for model 2), streamline colour, streamline width w and streamline length l,
  • steamline density, number of overlapping layers of flow, angle difference between flow directions, animation speed.

Thoroughly exploring a 13-dimensional parameter space with a user study is not feasible. Instead, we performed a variety of experiments with a limited number of users to distinguish areas of the parameter space that should be explored and areas that are not fruitful. In the following subsections, we cover in detail the parameter space we explored.

Streamline models parameters

Our initial sampling included using at least 10 different values for each of the streamline texture parameters. We found that the number of ‘spikes’ or ‘teeth’ for a texture should be 1, 2, 4 or 8. The images with streamlines that have a higher number of ‘spikes’ are perceived as excessively noisy. Thus, the larger values of λ were not used. It is almost impossible to recognize the difference between values for C being less than or equal to 0.3. In all further experiments, we have utilized at most four values of C. We substituted the scale parameter with the amax term for Tsin texture and with inline image term for Tsawtooth texture as our experiments showed that they work perfectly as scaling parameters. The parameter amin is kept low as high values of this parameter result in high opacity of streamlines and visualizations with such streamlines usually do not have more than few layers visible.

Streamline density, streamline width and length

We alter the number of streamlines and the streamline width and length to find the level of coverage for a layer. Our goal is to densely cover the domain. We have ensured that there is always a streamline in a given local neighbourhood, which leads to a dense coverage overall. We have also ensured that the width of a line on the screen should be at least two pixels and the streamline length is much larger than line width. The width of streamlines was fixed for all further experiments. The length was set to be ‘infinite’, i.e. the streamlines are fully spanning the viewing area. Example visualizations of a flow layer with different streamline densities are shown in Figure 5.

image

Figure 5. Low (a), medium (b) and high (c) streamline densities for a flow layer.

Download figure to PowerPoint

Animation speed

We have experimented with a variety of animation speeds. One observation is that the perceived animation speed depends not only on the inline image term, but also on the other texture parameters in the models that we utilize. For the experiments, we fixed the animation speed in screen space to 6.5 cm/s, which with an average viewing distance of 50 cm corresponds to a subtended visual angle of approximately 7.4°. Noticeably faster animation speeds result in visualizations which are harder to perceive, as the visualization becomes temporally incoherent which is often perceived as flickering. On the other hand, slower animation speed and thus slower motion is hard to perceive as well.

We have also performed preliminary studies that compared uniform opacity and thus non-animated streamlines with varying-opacity, animated ones. Animated visualizations were better at revealing flow features, thus we have created our user study with only animated ones.

Streamline colours

For the user study, we have used greyscale for the colours of the animated streamlines. Luminance contrast plays the key role in motion perception [RG78]. Though colour plays a role in the perception of flow magnitude [Wei04], in our user study the goal is to differentiate flow directions, rather than flow velocities. Also, we primarily focus on occlusion, which depends on texture opacity and not on texture colour. Each streamline was assigned a random greyscale value.

Data set parameters

We have experimented with the number of flow layers in the test data set. We have found that it is very hard for the user to discern more than 7 or 8 directions, hence we limit our test data sets to 10 flow layers. Each layer has only one particular flow direction. We have used several values as minimal angle difference between flow directions. We ended up fixing the minimal angle difference to be at least 10 degrees. This allows us to focus on discerning significantly different directions. Each of the flow directions is randomly assigned to a particular layer.

4. Experiments

  1. Top of page
  2. Abstract
  3. 1. Introduction
  4. 2. Related Work
  5. 3. Experimental Set-Up
  6. 4. Experiments
  7. 5. Evaluation and Comparison in 3D
  8. 6. Dealing with High Occlusion
  9. 7. Conclusion and Future Work
  10. References
  11. Supporting Information

After parameter space reduction, we have created two experiments that we describe in detail in the current section. Each test subject was presented with a set of animated flow visualizations. For every visualization in this set the test subject was asked to record the number of flow directions which he or she could discern. There was no maximum time enforced for displaying a particular visualization, the test subjects could spend any amount of time on any visualization. The time spent for decision making, however, was recorded.

4.1. Experiment 1

For experiment 1, ‘sawtooth’ texture patterns were used. Based on the observations from the experiments discussed in Section 'Parameter space exploration', we have selected one hundred texture patterns. Texture parameters used were from the set [0.01, 0.1, 0.15, 0.2, 0.3, 0.4, 0.5] for amin, and from the set [0, 0.1, 0.2, ..., 1.0] for A and amax, while C was from the set [0.67, 1.57, 2, 3.14]. The number of streamlines (density), streamline width and streamline height were all kept constant. The resolution for all experiments was a 512 by 512 image. All experiments were conducted looking top-down at the layers. The number of layers was set to 10. Each layer had only one specific flow direction. Flow directions differed by 18 degrees. Each flow direction was assigned to a random flow layer. This random order was not altered when switching between different texture patterns. All streamlines in the data set (in each layer) used the same texture pattern. The colours for every streamline was selected randomly from a [0, 1] interval (black to white). The background was kept black.

Eleven test subjects have participated in the user study. All had normal or corrected to normal vision. All were graduate students majoring in computer science, 10 males and 1 female. Three were familiar with flow visualization. Each of the test subjects was shown 100 visualizations. For every visualization the number of discernible directions was recorded. In accompanying video S1, we present example visualizations that were shown to the users in experiment 1.

The numbers from the user study form a 2D matrix of results R, with rows corresponding to textures and columns corresponding to test subjects. If we use i as a row index and j as a column index, then inline image is the number of directions for visualization with texture i, discerned by a test subject j. For each texture i, we average the number of discerned directions over all test subjects. This allows us to find textures performing better on average and minimize importance of outliers. Due to space constraints, we present texture parameters, minimum, maximum and average scores as well as time for every texture for experiment 1 in the accompanying Table S1. In Table 2, we present results for some of the highest scoring textures from experiment 1. These textures are shown in Figures 3 (b)–(e).

Table 1. Parameter ranges before and after parameter space reduction, discussed in Section 'Parameter space exploration'. The centre column shows the ranges that were originally explored while the right column shows the ranges used for the user study
Parameter nameOriginalAfter reduction
Streamline width10 (from 1 to 10)1 (fixed width)
Animation speed5 (slow to fast)1 (fixed speed)
Streamline colours11311
Streamline density10 (low to high)1 (fixed density)
Number of layers5 (from 5 to 10)1 (fixed at 10)
Angle between flow directions5 (different angles)1 (fixed at 18 degrees)
C104
amin107
amax1111 (not changed)
λ104
A1111 (not changed)
Table 2. Details for the highest scoring textures for experiment 1 that are shown in Figures 3 (b)–(e). Min, max, average and standard deviation for the scores as well as average time and corresponding standard deviation for experiment 1 are shown. S denotes score, and T denotes time (in seconds)
TexSminSmaxSavgSstdevTavgTstdev
3(b)4106.21.819.015.9
3(c)586.11.213.49.9
3(d)486.21.514.711.5
3(e)4106.11.912.211.6

Some of the streamline textures have such low or high opacities, that in the resulting visualizations it is impossible to discern more than a few flow layers. We use the concept of layer ink, that is equal to the total amount of opacity of a layer, as a metric. For a given layer, opacity values for the pixels in the screen are averaged over the animation time period. Then we sum up all the values and divide the sum by the total number of pixels.

There is an interesting observation about the results of experiment 1. While the best scoring textures look relatively similar and have similar opacity distributions, the lowest scoring textures fall into one of the two categories: too much or too little ink. We show the 10 lowest and the 10 highest scoring textures' ink values along with their scores in Figure 6.

image

Figure 6. Ink values and scores shown for the top scoring 10 and the lowest scoring 10 textures from experiment 1. Blue diamonds represent the top scoring textures and red squares represent the lowest scoring textures.

Download figure to PowerPoint

4.2. Experiment 2

For experiment 2, the set-up was the same as for experiment 1, except for a different streamline texture pattern and adding 0.0 to a set of amin values. ‘Sin wave’ texture patterns were utilized. A candidate set of 100 textures was selected. As in experiment 1, the same 11 test subjects have participated in experiment 2.

We present the complete results of experiment 2 in the accompanying Table S2. In Table 3, we show the results for some of the high-scoring textures from experiment 2, which are also shown in Figures 3 (l)–(o). Figure 7 shows scores and corresponding ink values for the 10 highest and the 10 lowest scoring textures for experiment 2.

image

Figure 7. Ink values and scores shown for the top scoring 10 and the lowest scoring 10 textures from experiment 2. Blue diamonds represent the top scoring textures and red squares represent the lowest scoring textures.

Download figure to PowerPoint

Table 3. Details for the highest scoring textures for experiment 2 that are shown in Figures 3 (l)–(o). Min, max, average and standard deviation for the scores as well as average time and corresponding standard deviation for experiment 2 are shown. S denotes score, and T denotes time (in seconds)
TexSminSmaxSavgSstdevTavgTstdev
3(l)285.71.722.620.2
3(m)285.61.920.013.1
3(n)385.71.810.85.6
3(o)285.72.123.012.6

4.3. Analysis in frequency space

To better understand why certain visualizations in our user studies allow for a larger number of discernible directions than the others, we found it useful to look at the visualizations in the frequency domain. Figure 8 shows three example visualizations and their corresponding 2D Fourier transforms. The top left image (a) has only two flow directions discernible. Two flow directions correspond to two directions in the Fourier space (d). The opacities of the streamlines are high, occluding the other flow directions, which results in two stripes in the frequency domain. The centre image (b) adds a single horizontal streamline and thus flow direction which adds a vertical stripe to the frequency domain (e). The right image (c) has six different flow directions. All of them are discernible (with animation, but perhaps not in a static image) and are represented in Fourier space by corresponding stripes. Overall, clear, discernible direction in image space results in a sharp, clear stripe in frequency domain. Barely discernible directions, on the other hand, result in more blurry and vague stripes in frequency domain.

image

Figure 8. Top row shows example visualizations and bottom row shows their corresponding 2D Fourier transforms. Left: two visible flow directions result in two lines in Fourier space. However, as the further flow direction visibility is low due to occlusion, its ‘stripe’ in frequency domain is blurred and less sharp than that of the front layer. Centre: even a single well visible horizontal streamline results in a new direction in the frequency domain (notice a vertical line in Fourier space). Right: a total of six directions are visualized and all six directions in the top visualization are discernible. Corresponding directions in the frequency domain are visible.

Download figure to PowerPoint

4.4. Visualization guidelines

Based on the results from the experiments with a limited number of users, as well as results from experiments 1 and 2, we formulated the following guidelines for visualizing semi-transparent flow. Guidelines for opacities and number of discernible flow directions follow directly from Tables 2 and 3, while the rest of the guidelines summarize our observations discussed in Section 'Parameter space exploration'.

Opacity

  • Opacity of a small neighbourhood at a particular depth should not be less than approximately 0.03, and should not exceed approximately 0.15.

Number of flow directions

  • It is difficult to perceive more than seven overlapping flow directions at different depths. As a guideline, when designing a visualization, one can not expect users to discern more than seven depths of flow for dense representations.

Ink distribution

  • Using animated opacity along a streamline provides both better flow visualization and reduced occlusion.
  • While opacity along the streamline can be distributed in a variety of ways, it should cover at least 50% of the streamline.
  • The difference between minimum and maximum opacities for a streamline should be at least 10% . Otherwise, the result would be an ‘almost solid’ streamline, losing any flow motion.

Animation

  • Using animation to reveal flow features with motion is crucial. When the speed is too slow, animation does not help in revealing flow features. High-animation speed results in incoherency and perceived flickering of the visualization.
  • Streamline texture models create a periodic pattern. The animation speed should be selected in a way that the texture does not move for more than a half of a function period in two successive frames.

We would like to stress the following: Despite the fact that the results confirm our common sense that too little opacity or too much opacity are equally bad and that the opacity on the individual streamline should occupy more than just a small fraction of the streamline, randomly picking a texture that ‘seems right’ may not generate effective visualizations.

5. Evaluation and Comparison in 3D

  1. Top of page
  2. Abstract
  3. 1. Introduction
  4. 2. Related Work
  5. 3. Experimental Set-Up
  6. 4. Experiments
  7. 5. Evaluation and Comparison in 3D
  8. 6. Dealing with High Occlusion
  9. 7. Conclusion and Future Work
  10. References
  11. Supporting Information

To evaluate the results of our user study, we created visualizations of the Plume and Tornado data sets. In Figures 9 and 10, we show different visualizations of Plume. Figure 9 shows one frame of the animated visualization of Plume with one of the highest scoring Tsin textures. With semi-transparent streamlines, complex inner flow features are visible. The animated visualization is included as an accompanying video S2 with the paper.

image

Figure 9. A single frame of animated Plume data set visualization. We used semi-transparent streamlines with one of the highest scoring Tsin textures to create it.

Download figure to PowerPoint

image

Figure 10. Visualizations of the central part of the Plume data set. (a) Rendering with opaque streamlines with halos. (b) Using semi-transparent streamlines with one of the highest scoring Tsin texture.

Download figure to PowerPoint

We compare visualizations with opaque and semi-transparent streamlines in Figure 10. Figure 10(a) shows a central part of the Plume data set visualized with fully opaque streamlines with halos. Figure 10(b) uses semi-transparent streamlines with one of the highest scoring Tsin textures. Areas denoted with red rectangles highlight some of the regions of the data set where the high-curvature streamlines are present. In Figure 10(b) one can clearly perceive these high-curvature streamlines, while in Figure 10(a) those flow features are fully occluded.

5.1. Using multiple textures

Figure 12 shows an example of using multiple high-scoring textures in one visualization. Textures shown in Figures 3(l) and (t) are used for visualizing the Tornado data set. The high-frequency texture from Figure 3(l) is used for the visualization shown in 12(a); relatively low opacity minimizes occlusion of the central part of the data set. Peripheral streamlines, however, are harder to perceive. With a smooth, lower frequency texture in 12(b) peripheral streamlines are easier to perceive, but the central part of the data set is highly occluded. Figure 12(c) uses both textures. The higher frequency texture provides lower occlusion in the central part of the data set, while the smoother, lower frequency texture is used to render streamlines in the other parts of the data set. We present animated visualizations in the accompanying video S3.

Our approach can be combined with other methods for reducing occlusion. An example is shown in Figure 12(d). An algorithm from Ref. [MCHM10] has been utilized to remove streamlines that occlude the central, high-curvature part of the Tornado data set. Then the remaining streamlines are visualized with one of the highest scoring textures from experiment 2.

6. Dealing with High Occlusion

  1. Top of page
  2. Abstract
  3. 1. Introduction
  4. 2. Related Work
  5. 3. Experimental Set-Up
  6. 4. Experiments
  7. 5. Evaluation and Comparison in 3D
  8. 6. Dealing with High Occlusion
  9. 7. Conclusion and Future Work
  10. References
  11. Supporting Information

As discussed in Section 'Visualization guidelines', it is very hard to perceive more than seven overlapping directions. However, dense flow exhibits high occlusion, perhaps with hundreds of overlapping streamlines. For example, Figure 11 shows the number of flow directions in the central region of the Plume data set, when using medium density streamline seeding. The number of overlapping streamlines at a particular pixel is visualized with colour, with blue representing smaller and red representing higher overlap.

image

Figure 11. Example of high level of occlusion. Central part of the Plume data set is rendered with colours corresponding to the number of overlapping streamlines at a particular pixel. Even with moderately dense streamline seeding, occlusion is high. Blue corresponds to one streamline (no occlusion), while red corresponds to 126 overlapping streamlines.

Download figure to PowerPoint

image

Figure 12. Visualizing Tornado data set using one ((a) and (b)) or two different textures simultaneously (c). In (a), only one high-scoring Tsin, high-frequency texture, is used. In (b), one of the high-scoring Tsin textures with low frequency is used. In (c), both textures are used. The higher frequency texture is used to visualize the central part of the data set as it provides lower occlusion, while the rest of the data set is visualized with lower frequency texture which provides higher coherency and continuity of the peripheral streamlines. In (d), outer streamlines are filtered to minimize occlusion and the remaining streamlines are visualized using one of the high-scoring Tsin textures.

Download figure to PowerPoint

6.1. Per-pixel filtering of flow directions

To deal with the cases when the level of occlusion is very high, we could render only a few of the streamlines at a particular pixel. But what streamlines do we keep and what do we discard? Can we make this decision at the pixel level, or will it lead to severe artifacts? Will we ‘break’ streamlines by not showing significant parts of them? We have performed a number of tests and have investigated the following approach. At each pixel, we find the number of streamlines at this location. Depending on the streamlines' projected directions, we put them into bins, with each bin representing a disjoint set of angles, thus creating histograms of flow directions at a pixel level. A bin for a particular pixel shows how many streamlines fall into the particular angular sector at this pixel. For our purposes, we used 32 bins of 11.25 degrees. Our goal is to use these histograms to limit the occlusion while at the same time to select an optimal, in some sense, set of directions. A straightforward approach is to take the directions with the highest histogram score. An example of using this approach with the Plume data set is shown in Figure 13. When using this approach, occlusion remains relatively high. Another problem with this approach is noise. The reason that the occlusion is still high is that there are multiple overlapping streamlines with the same directions (being in the same bin), and all of them are rendered. To address this issue, we propose opacity normalization, which we discuss in the following subsection.

image

Figure 13. Per-pixel filtering of flow directions. (a) All streamlines are rendered (no filtering). (b) Streamlines only in top 5 bins are rendered. Occlusion is slightly reduced, but some noise is present.

Download figure to PowerPoint

6.2. Opacity normalization

The idea of opacity normalization is as follows: if there are n overlapping streamlines with the same direction at a particular pixel, then we can alter their opacities so that their accumulated opacity is equal to the opacity of exactly one streamline. An example with the Plume data set is shown in Figure 14. The occlusion is reduced in areas where streamlines with the same direction overlap. Animated comparison visualizations are presented in the accompanying video S4.

image

Figure 14. Opacity normalization for visualization of a part of the Plume data set. (a) No normalization. (b) Opacity is normalized by the number of directions in a particular bin.

Download figure to PowerPoint

Based on our tests, we conclude that opacity normalization significantly reduces high levels of occlusion. Per-pixel filtering without opacity normalization, however, may not be sufficient when dealing with high-occlusion levels.

7. Conclusion and Future Work

  1. Top of page
  2. Abstract
  3. 1. Introduction
  4. 2. Related Work
  5. 3. Experimental Set-Up
  6. 4. Experiments
  7. 5. Evaluation and Comparison in 3D
  8. 6. Dealing with High Occlusion
  9. 7. Conclusion and Future Work
  10. References
  11. Supporting Information

We have investigated how dense semi-transparent geometry primitives can be used for three-dimensional flow visualization. We have conducted a user study; a set of overlapping flow layers was shown to the test subjects and the number of flow directions that they were able to discern was recorded. Flow was visualized with animated semi-transparent streamlines; two texture models were introduced to generate patterns for the streamlines. A set of the highest scoring textures was identified and used to generate a number of visualizations. Guidelines on how to use semi-transparency for flow visualization were introduced as well.

We have shown how in some cases multiple textures can be used to generate better visualizations than when using only one texture. While semi-transparent streamlines with the high-scoring textures effectively minimize occlusion, for dense flow with potentially hundreds of overlapping streamlines using those textures may be insufficient. We have investigated techniques to deal with this problem. The first one is per-pixel filtering of directions, based on the histograms of flow directions at the particular pixels. The second one is opacity normalization. Our tests show that opacity normalization can be successfully used to significantly reduce high occlusion.

For future work, we plan on conducting a formal study with varying textures being applied for different flow layers. We have shown that combining multiple textures in one visualization can provide better results than when using only one texture and would like to explore this topic in a systematic manner.

References

  1. Top of page
  2. Abstract
  3. 1. Introduction
  4. 2. Related Work
  5. 3. Experimental Set-Up
  6. 4. Experiments
  7. 5. Evaluation and Comparison in 3D
  8. 6. Dealing with High Occlusion
  9. 7. Conclusion and Future Work
  10. References
  11. Supporting Information
  • 1
    [BCFW08] Bartz D., Cunningham D., Fischer J., Wallraven C.: The role of perception for computer graphics. Eurographics State-of-the-Art-Reports (2008), pp. 6586.
  • 2
    [BH07] Bair A., House D. H.: Grid with a view: Optimal texturing for perception of layered surface shape. IEEE Transactions on Visualization and Computer Graphics 13 (2007), 16561663.
  • 3
    [BHW05] Bair A., House D. H., Ware C.: Perceptually optimizing textures for layered surfaces. In Proceedings of Applied Perception in Graphics and Visualization (2005), pp. 6774.
  • 4
    [BWC02] Braddick O. J., Wishart K. A., Curran W.: Directional performance in motion transparency. Vision Research 42, 10 (2002), 12371248.
  • 5
    [CBL*98] Cochin S., Barthelemy C., Lejeune B., Roux S., Martineau J.: Perception of motion and qEEG activity in human adults. Electroencephalography and Clinical Neurophysiology 107 (1998), 287295.
  • 6
    [CCK07] Chen Y., Cohen J., Krolik J.: Similarity-guided streamline placement with error evaluation. IEEE Transactions on Visualization and Computer Graphics 13, 6 (2007), 14481455.
  • 7
    [FCL09] Forsberg A. S., Chen J., Laidlaw D. H.: Comparing 3D vector field visualization methods: A user study. IEEE Transactions on Visualization and Computer Graphics 15 (2009), 12191226.
  • 8
    [FZ05] Felisberti F. M., Zanker J. M.: Attention modulates perception of transparent motion. Vision Research 45, 19 (2005), 25872599.
  • 9
    [GW92] Gelder A. V., Wilhelms J.: Interactive visualization of flow fields. In Proceedings of Volume Visualization (1992), pp. 4754.
  • 10
    [HBW05] House D. H., Bair A., Ware C.: On The Optimization Of Visualizations Of Complex Phenomena. In Proceedings of IEEE Visualization'05 (2005), pp. 8794.
  • 11
    [HH05] Huber D. E., Healey C. G.: Visualizing data with motion. In Proceedings of IEEE Visualization (2005), pp. 527–534.
  • 12
    [HLD02] Hauser H., Laramee R. S., Doleisch H.: State-of-the-Art Report 2002 in Flow Visualization. TR-VRVis-2002-003, Tech. Rep., VRVis Research Center, Vienna, Austria (2002).
  • 13
    [IFP95] Interrante V., Fuchs H., Pizer S. M.: Enhancing transparent skin surfaces with ridge and valley lines. In Proceedings of IEEE Visualization (1995), pp. 52–59.
  • 14
    [Int96] Interrante V.: Illustrating Transparency: Communicating the 3D Shape of Layered Transparent Surfaces via Texture. PhD thesis, University of North Carolina at Chapel Hill, USA, 1996.
  • 15
    [Itt61] Itten J.: The Art of Color: The Subjective Experience and Objective Rationale of Color (revised ed.), Wiley, 1997.
  • 16
    [LGSH06] Laramee R. S., Garth C., Schneider J., Hauser H.: Texture advection on stream surfaces: A novel hybrid visualization applied to cfd simulation results. In Proceedings of the Eighth Joint Eurographics/IEEE VGTC Conference on Visualization (EUROVIS'06) (Aire-la-Ville, Switzerland, Switzerland, 2006), Eurographics Association, pp. 155162.
  • 17
    [LHD*04] Laramee R. S., Hauser H., Doleisch H., Vrolijk B., Post F. H., Weiskopf D.: The state of the art in flow visualization: Dense and texture-based techniques. Computer Graphics Forum 23, 2 (2004), 203221.
  • 18
    [LMSC11] Lee T.-Y., Mishchenko O., Shen H.-W., Crawfis R.: View point evaluation and streamline filtering for flow visualization. In Proceedings of IEEE Pacific Visualization Symposium 2011 (March 2011), pp. 8390.
  • 19
    [LPR06] Langer M. S., Pereira J., Rekhi D.: Perceptual limits on 2D motion-field visualization. ACM Transaction on Applied Perception 3, 3 (July 2006), 179193.
  • 20
    [LSH04] Laramee R. S., Schneider J., Hauser H.: Texture-based flow visualization on isosurfaces from computational fluid dynamics. In Proceedings of the Sixth Joint Eurographics - IEEE TCVG Conference on Visualization (VISSYM'04) (Aire-la-Ville, Switzerland, Switzerland, 2004), Eurographics Association, pp. 8590.
  • 21
    [LSM02] Lum E., Stompel A., Ma K.-L.: Kinetic visualization: A technique for illustrating 3D shape and structure. In Proceedings of IEEE Visualization 2002 Conference (October/November 2002), pp. 435442.
  • 22
    [MC12] Mishchenko O., Crawfis R.: Effective texture models for three dimensional flow visualization. In Proceedings of the SCCG 2012 (May 2012), pp. 4552.
  • 23
    [MCHM10] Marchesin S., Chen C.-K., Ho C., Ma K.-L.: View-dependent streamlines for 3D vector fields. IEEE Transactions on Visualization and Computer Graphics 16, 6 (2010), 15781586.
  • 24
    [MLP*10] McLoughlin T., Laramee R., Peikertand R., Post F., Chen M.: Over two decades of integration-based, geometric flow visualization. Computer Graphics Forum 29, 6 (2010), 18071829.
  • 25
    [MS79] Marshak W., Sekuler R.: Mutual repulsion between moving visual targets. Science 205, 4413 (1979), 13991401.
  • 26
    [PCL12] Penney D., Chen J., Laidlaw D.: Effects of illumination, texture, and motion on task performance in 3D tensor-field streamtube visualizations. In Pacific Visualization Symposium (PacificVis), 2012 IEEE (March 2, 2012), pp. 97104.
  • 27
    [QA94] Qian N., Andersen R. A.: Transparent motion perception as detection of unbalanced motion signals. II. Physiology, The Journal of Neuroscience 14, 12 (1994), 73677380.
  • 28
    [QAA94a] Qian N., Andersen R. A., Adelson E. H.: Transparent motion perception as detection of unbalanced motion signals. I. Psychophysics, The Journal of Neuroscience 14, 12 (1994), 73577366.
  • 29
    [QAA*94b] Qian N., Andersen R. A., Adelson E. H., Richard D., Andersen A.: Transparent motion perception as detection of unbalanced motion signals. III. Modeling, The Journal of neuroscience 14, 12 (1994), 73817392.
  • 30
    [RG78] Ramachandran V., Gregory R.: Does colour provide an input to human motion perception? Nature 275, 5675 (1978), 5556.
  • 31
    [STEA91] Snowden R., Treue S., Erickson R., Andersen R.: The response of area MT and V1 neurons to transparent motion, The Journal of Neuroscience 11, 9 (1991), 27682785.
  • 32
    [THA91] Treue S., Husain M., Andersen R. A.: Human perception of structure from motion. Vision Research 31 (1991), 5975.
  • 33
    [UIL*06] Urness T., Interrante V., Longmire E., Marusic I., O'Neill S., Jones T. W.: Strategies for the visualization of multiple 2D vector fields. IEEE Computer Graphics and Applications 26 (2006), 7482.
  • 34
    [VKP00] Verma V., Kao D. T., Pang A.: A flow-guided streamline seeding strategy. In Proceedings of the IEEE Visualization (Vis'00) (2000), pp. 163170.
  • 35
    [Wan95] Wandell B. A.: Foundations of vision: Sinauer associates, 1995.
  • 36
    [War99] Ware C.: Information visualization: Perception for design, Elsevier, 2012.
  • 37
    [War06] Ware C.: 3D contour perception for flow visualization. In Proceedings of the 3rd Symposium on Applied Perception in Graphics and Visualization (APGV '06) (New York, NY, USA, 2006), ACM, pp. 101106.
  • 38
    [War08] Ware C.: Toward a perceptual theory of flow visualization. IEEE Computer Graphics and Applications 28 (2008), 611.
  • 39
    [WB08] Weigle C., Banks D. C.: A comparison of the perceptual benefits of linear perspective and physically-based illumination for display of dense 3D streamtubes. IEEE Transactions on Visualization and Computer Graphics 14 (2008), 17231730.
  • 40
    [Wei04] Weiskopf D.: On the role of color in the perception of motion in animated visualizations. In Proceedings of IEEE Visualization (2004), pp. 305312.
  • 41
    [Won96] Wong W.: Principles of color design, Wiley, 1996.
  • 42
    [XLS10] Xu L., Lee T.-Y., Shen H.-W.: An information-theoretic framework for flow visualization. IEEE Transactions on Visualization and Computer Graphics 16, 6 (2010), 12161224.
  1. We experimented with other functions to generate sawtooth patterns, such as inline image, but decided to use Equation (3) as it gives us more flexibility.

Supporting Information

  1. Top of page
  2. Abstract
  3. 1. Introduction
  4. 2. Related Work
  5. 3. Experimental Set-Up
  6. 4. Experiments
  7. 5. Evaluation and Comparison in 3D
  8. 6. Dealing with High Occlusion
  9. 7. Conclusion and Future Work
  10. References
  11. Supporting Information

Disclaimer: Supplementary materials have been peer-reviewed but not copyedited.

FilenameFormatSizeDescription
cgf12268-sup-0001-SuppMat.zip16781KOnline Video

Please note: Wiley Blackwell is not responsible for the content or functionality of any supporting information supplied by the authors. Any queries (other than missing content) should be directed to the corresponding author for the article.