Topological Visualisation Techniques for Volume Multifield Data

*Dean P. Thomas, Rita Borgo, Robert S. Laramee and Simon J. Hands*

## **Abstract**

This survey paper provides an overview of topological visualisation techniques for scalar data sets. Topological algorithms are used to reduce scalar fields to a skeleton by mapping critical changes in the topology to the vertices of graph structures. These can be visualised using graph drawing techniques or used as a method of seeding meshes of distinct objects existing in the data. Many techniques are discussed in detail, beginning with a review of algorithms working on scalar fields defined with a single variable, and then generalised to multivariate and temporal data. The survey is completed with a discussion of methods of presenting data in higher dimensions.

**Keywords:** indirect volume rendering, topology driven visualisation, multivariate visualisation, contour tree, Reeb graph, Reeb space, joint contour net, Reeb skeleton, scalar data

### **1. Introduction**

The Marching Cubes (MC) algorithm [1] is a long established method used in indirect visualisation for creating mathematical models of data existing in a scalar field. Early research centred upon improvements for the presentation of data from medical sources such as CT and MRI scans. Whilst well suited for approximating isosurfaces on smooth functions, MC derived algorithms typically struggle to accurately capture features such as sharp edges and corners. These features can often to lead to poorly shaped triangles. Various approaches have been suggested for correcting these limitations including *Extended Marching Cubes* [2], *Dual Marching Cubes* [3], and *Cube Merging* [4]. The algorithm continues to be refined and improved for various purposes, and remains an active field of study [5].

Besides improvements to model quality, a recurring theme in research linked to the algorithm is identifying and solving topological ambiguities in the models it creates. Typical ambiguities result in the absence of triangles between two surfaces existing in opposing corners of a MC cell. This can lead to creation of a model which contains two separate objects, when in reality the model should be a single joined object. Many approaches have been suggested for overcoming these ambiguities including the use of Marching Tetrahedra [6]. The use of topological algorithms removes the possibility for ambiguities, whilst providing a method for seeding disjoint contours using similar lookup tables to those of Marching Cubes. Algorithms for surface generation, such as Marching Cubes, can also be generalised for use in multivariate data sets.

The remainder of this chapter is structured as follows. Section 2 describes topological visualisation techniques for scalar fields that solve the ambiguity problems of MC. In Section 3 we discuss extending topological techniques to cover multivariate data sets. Section 4 considers displaying the output of topological algorithms from higher dimensional data sets. The chapter is concluded in Section 5.

## **2. Topology driven visualisation**

Algorithms for computing isosurfaces, otherwise known as level sets, are prone to topological inaccuracies [7–9]. During the construction of an isosurface no topological information is used; hence, an isosurface is unable to distinguish individual connected regions. Morse theory provides a method for computing the topology of scalar data, as we sweep through the isovalue range, by considering the gradient and second derivatives of the level set at each vertex in the scalar field. Through the use of tetrahedral mesh cells (for 3D scalar fields) we can approximate the isosurface as a piecewise linear function between sampling points. However, at the boundary between cells this approach invalidates a key condition of Morse theory which requires a function to have derivatives defined at all sampling points. Work by Edelsbrunner et al. [10] and Bremer et al. [11] provides a mechanism for handling these limitations, allowing us to consider the data as a Morse function.

Topology driven visualisation is used to capture characteristics of a data set using basic topological invariants such as the number of holes or points in a connected region. This information provides a means for obtaining a skeleton of the data which can then be used to construct visualisations in various forms. Use of topological visualisation techniques can see a reduction in the size of a large data set, as only key features need to be retained. By using topological structures to represent a data set intuitive methods can be used for speeding up computations; for example, by allowing many parts of a data set to be rendered in parallel. A further increase in efficiency is provided by the ability to bypass redundant computations—such as the processing of empty cells in MC. Increases in rendering performance come with the overhead of the need to do a one-time pre-processing of the data.

Many topology based algorithms rely on abstract graph based structures for storage of data. In many situations the graph structures can be viewed directly to form an overview of the data in an easily perceived format. For those with little prior knowledge of topological visualisation techniques it can be hard to form an initial understanding of the data using such formats. In order to better understand the data it is common to directly link the graph visualisation, either statically or dynamically, with a rendered view of the data. However, difficulty in understanding topological data representations can be further complicated when a data set is large in size. Hence, other approaches are sometimes used that try to take advantage of human perception, such as topological landscapes.

#### **2.1 Terminology**

In order to present the algorithms and structures used in topological visualisation the following key terminology is used.

**47**

**Table 2.**

**Table 1.**

*Topological Visualisation Techniques for Volume Multifield Data*

complexes—a set of *n* simplexes glued together at their boundaries.

are primarily only interested in the zeroth dimensional Betti number β0.

can be categorised into two types. Critical points have a local gradient *<sup>f</sup>*

extrema or saddle points in the data; the second derivative *f*

**Betti number Associated simplex Property**

*β*<sup>1</sup> Line-segment Holes *β*<sup>2</sup> Triangles Voids

*Betti numbers β0, β1, and β2 and associated concepts of connectivity.*

*β*<sup>0</sup> Point Connected components

*Classification of simplexes in dimensions zero to four.*

The simplex is a generalisation of the triangle or tetrahedron to *n* dimensions. Properties of simplexes in dimensions 0 (a point) through to 4 (a Pentatope) are given in **Table 1**. Computational topology often refers to meshes as simplicial

Enable us to categorise the topology of a mesh existing in *n* dimensions by examining the connectivity of its structure as a number of *n* dimensional simplexes. Each dimension, from 0 to *n* − 1, has its own Betti number β*n* associated with it to represent the quantity of cuts required through a mesh in order to separate it into two parts. We can consider these numbers as representing the number of holes in the mesh in *<sup>n</sup>* dimensions (**Table 2**). Most topological visualisation algorithms consider only the .0th dimensional Betti number, used to represent connectivity. However, it is possible to augment the graphs with higher order Betti numbers to provide feedback on changes in the mesh such as the morphing from a sphere to a torus (**Table 3**). In this work we

This is a way of expressing the number of holes in a surface. In three dimensions, a sphere is genus 0, and torus genus 1. Surfaces with additional holes are commonly

The sampling points in a scalar field *<sup>f</sup>*(*<sup>x</sup>*), at which the function value is defined,

**Name Dimension** *n* **Common name Vertices Edges Faces Cells** 0-simplex 0 Point 1 — — — 1-simplex 1 Line-segment 2 1 — — 2-simplex 2 Triangle 3 3 1 — 3-simplex 3 Tetrahedron 4 6 4 1 4-simplex 4 Pentatope (or 5-cell) 5 10 10 5

represent positions where the topology of the level set changes. These relate to local

′

(*x*) allows us to classify

′′

(*x*) <sup>=</sup> 0 and

*DOI: http://dx.doi.org/10.5772/intechopen.82185*

*2.1.1 Simplex*

*2.1.2 Betti numbers*

*2.1.3 Genus*

referred to as an *n*-torus.

*2.1.4 Critical point*

## *2.1.1 Simplex*

*Computer Graphics and Imaging*

for use in multivariate data sets.

**2. Topology driven visualisation**

data as a Morse function.

of the data.

**2.1 Terminology**

seeding disjoint contours using similar lookup tables to those of Marching Cubes. Algorithms for surface generation, such as Marching Cubes, can also be generalised

from higher dimensional data sets. The chapter is concluded in Section 5.

The remainder of this chapter is structured as follows. Section 2 describes topological visualisation techniques for scalar fields that solve the ambiguity problems of MC. In Section 3 we discuss extending topological techniques to cover multivariate data sets. Section 4 considers displaying the output of topological algorithms

Algorithms for computing isosurfaces, otherwise known as level sets, are prone to topological inaccuracies [7–9]. During the construction of an isosurface no topological information is used; hence, an isosurface is unable to distinguish individual connected regions. Morse theory provides a method for computing the topology of scalar data, as we sweep through the isovalue range, by considering the gradient and second derivatives of the level set at each vertex in the scalar field. Through the use of tetrahedral mesh cells (for 3D scalar fields) we can approximate the isosurface as a piecewise linear function between sampling points. However, at the boundary between cells this approach invalidates a key condition of Morse theory which requires a function to have derivatives defined at all sampling points. Work by Edelsbrunner et al. [10] and Bremer et al. [11] provides a mechanism for handling these limitations, allowing us to consider the

Topology driven visualisation is used to capture characteristics of a data set using basic topological invariants such as the number of holes or points in a connected region. This information provides a means for obtaining a skeleton of the data which can then be used to construct visualisations in various forms. Use of topological visualisation techniques can see a reduction in the size of a large data set, as only key features need to be retained. By using topological structures to represent a data set intuitive methods can be used for speeding up computations; for example, by allowing many parts of a data set to be rendered in parallel. A further increase in efficiency is provided by the ability to bypass redundant computations—such as the processing of empty cells in MC. Increases in rendering performance come with the overhead of the need to do a one-time pre-processing

Many topology based algorithms rely on abstract graph based structures for storage of data. In many situations the graph structures can be viewed directly to form an overview of the data in an easily perceived format. For those with little prior knowledge of topological visualisation techniques it can be hard to form an initial understanding of the data using such formats. In order to better understand the data it is common to directly link the graph visualisation, either statically or dynamically, with a rendered view of the data. However, difficulty in understanding topological data representations can be further complicated when a data set is large in size. Hence, other approaches are sometimes used that try to take advantage

In order to present the algorithms and structures used in topological visualisa-

of human perception, such as topological landscapes.

tion the following key terminology is used.

**46**

The simplex is a generalisation of the triangle or tetrahedron to *n* dimensions. Properties of simplexes in dimensions 0 (a point) through to 4 (a Pentatope) are given in **Table 1**. Computational topology often refers to meshes as simplicial complexes—a set of *n* simplexes glued together at their boundaries.

## *2.1.2 Betti numbers*

Enable us to categorise the topology of a mesh existing in *n* dimensions by examining the connectivity of its structure as a number of *n* dimensional simplexes. Each dimension, from 0 to *n* − 1, has its own Betti number β*n* associated with it to represent the quantity of cuts required through a mesh in order to separate it into two parts. We can consider these numbers as representing the number of holes in the mesh in *<sup>n</sup>* dimensions (**Table 2**). Most topological visualisation algorithms consider only the .0th dimensional Betti number, used to represent connectivity. However, it is possible to augment the graphs with higher order Betti numbers to provide feedback on changes in the mesh such as the morphing from a sphere to a torus (**Table 3**). In this work we are primarily only interested in the zeroth dimensional Betti number β0.

## *2.1.3 Genus*

This is a way of expressing the number of holes in a surface. In three dimensions, a sphere is genus 0, and torus genus 1. Surfaces with additional holes are commonly referred to as an *n*-torus.

## *2.1.4 Critical point*

The sampling points in a scalar field *<sup>f</sup>*(*<sup>x</sup>*), at which the function value is defined, can be categorised into two types. Critical points have a local gradient *<sup>f</sup>* ′ (*x*) <sup>=</sup> 0 and represent positions where the topology of the level set changes. These relate to local extrema or saddle points in the data; the second derivative *f* ′′ (*x*) allows us to classify


#### **Table 1.**

*Classification of simplexes in dimensions zero to four.*


#### **Table 2.**

*Betti numbers β0, β1, and β2 and associated concepts of connectivity.*

#### *Computer Graphics and Imaging*


**Table 3.**

*Betti numbers used to describe the sphere and torus.*

if the critical point is a local minima *<sup>f</sup>* ′′ (*x*) <sup>&</sup>gt; 0 or a local maxima *<sup>f</sup>* ′′ (*x*) <sup>&</sup>lt; 0. In the case where a critical point is a local minima all neighbouring vertices will have a higher function value, whilst a local maxima means that all surrounding vertices are lower in value. Regular points have a non-zero gradient and have no overall effect on the connectivity the level set.

## *2.1.5 Contour*

The boundary of connected regions of a level set, also known as the 0-dimensional homology group, is known as contours. Each individual contour is an element in the level set that represents a distinct topological object within the isosurface.

## *2.1.6 Topological persistence*

The most simplistic way of defining topological persistence is as a quantitative measure of importance of each contour. In literature topological persistence is often known as geometric measures [12] due to the fact it relates to measures such as volume or surface area. It is possible to compute persistence values directly from the meshes representing each contour by performing a piecewise sum of all cells in a connected region. Alternatively, the persistence can be approximated by counting the number of regular vertices making up a connected region. Persistence measures are often used as a method of eliminating noise from the topological structure by iteratively removing the contour with smallest persistence value.

Most of the techniques and structures discussed in this section can be generalised for use in any number of dimensions—a list of general terms is provided in **Table 4**.

### **2.2 Merge trees**

One of the fundamental data structures in computational topology are merge trees, commonly used to describe two similar concepts. Merge trees track connected level sets within the data as the isovalue is swept across the scalar range. The *join tree* captures connected sub-level sets, or regions, of the data below a specific isovalue threshold. Similarly the *split tree* captures connected super-level sets.


**49**

**Figure 1.**

*Topological Visualisation Techniques for Volume Multifield Data*

Merge trees present a simple method for capturing topological information as the arcs in a tree-like structure. This can then be used to compute zero-dimensional persistence measures representing the number of connected components in a region [14]. Merge trees are often used as a computation step in the construction of more complex topological data structures such as the contour tree, described in detail in Section 2.3. Alternatively, merge trees can be used directly for analysis and feature

A visual metaphor for understanding the concept of merge trees is given in **Figure 1**. To capture the merge tree, in this case the join tree of the grey function (top-left), the isovalue is gradually decreased from the global maxima. In the top-centre image this has revealed three local maxima, each denoted as a red critical point. In the top right image a fourth local maxima has been revealed (the green contour) and the red and blue structures have merged, this is marked by a node in the graph. In the bottom left image, the pink and green surfaces have merged to form the cyan region. The bottom centre image sees the small intervals represented by the cyan and yellow surfaces merged into one large purple region. If the isovalue continues to be reduced it is possible to observe no further changes in the topology until reaching the global minima represented by the blue graph

The contour tree, introduced by Boyell and Ruston [16] uses concepts from Morse theory [17, 18] to capture changes in the topology of scalar field at critical points in the data. The tree structure allows the tracking of splits and joins in the topology as the isovalue is varied by tracing a path through the graph. **Figure 2** demonstrates how individual contours in the data are captured by the contour tree using a one-to-one correspondence with edges. Each leaf in the contour tree represents an individual local extrema and critical vertices represent a change in the connectivity of the level set. Typically, the contour tree does not contain information regarding changes in topological genus; however, this information can be

We can formally describe the structure of the contour tree as follows:

*A visual representation of the merge tree algorithm for the function shown in the top-left. The merge tree captures each of the local maxima as the function height is reduced (moving left-to-right, top-to-bottom). A real world analogy is to think of the isovalue as the water level in a valley that gradually drains to reveal the* 

*peaks of multiple hills. Image courtesy of Landge et al. [13].*

*DOI: http://dx.doi.org/10.5772/intechopen.82185*

extraction in complex data sets [13].

node.

**2.3 The contour tree**

added to the output [19].

**Table 4.** *Classification of manifolds in dimensions zero to four.*

Merge trees present a simple method for capturing topological information as the arcs in a tree-like structure. This can then be used to compute zero-dimensional persistence measures representing the number of connected components in a region [14]. Merge trees are often used as a computation step in the construction of more complex topological data structures such as the contour tree, described in detail in Section 2.3. Alternatively, merge trees can be used directly for analysis and feature extraction in complex data sets [13].

A visual metaphor for understanding the concept of merge trees is given in **Figure 1**. To capture the merge tree, in this case the join tree of the grey function (top-left), the isovalue is gradually decreased from the global maxima. In the top-centre image this has revealed three local maxima, each denoted as a red critical point. In the top right image a fourth local maxima has been revealed (the green contour) and the red and blue structures have merged, this is marked by a node in the graph. In the bottom left image, the pink and green surfaces have merged to form the cyan region. The bottom centre image sees the small intervals represented by the cyan and yellow surfaces merged into one large purple region. If the isovalue continues to be reduced it is possible to observe no further changes in the topology until reaching the global minima represented by the blue graph node.

## **2.3 The contour tree**

*Computer Graphics and Imaging*

*Betti numbers used to describe the sphere and torus.*

if the critical point is a local minima *<sup>f</sup>* ′′

connectivity the level set.

*2.1.6 Topological persistence*

*2.1.5 Contour*

**Table 4**.

**2.2 Merge trees**

**Table 3.**

**Topological concept** *β<sup>0</sup> β<sup>1</sup> β<sup>2</sup>* Sphere 1 0 1 Torus 1 2 1

where a critical point is a local minima all neighbouring vertices will have a higher function value, whilst a local maxima means that all surrounding vertices are lower in value. Regular points have a non-zero gradient and have no overall effect on the

The boundary of connected regions of a level set, also known as the 0-dimensional homology group, is known as contours. Each individual contour is an element in the

The most simplistic way of defining topological persistence is as a quantitative measure of importance of each contour. In literature topological persistence is often known as geometric measures [12] due to the fact it relates to measures such as volume or surface area. It is possible to compute persistence values directly from the meshes representing each contour by performing a piecewise sum of all cells in a connected region. Alternatively, the persistence can be approximated by counting the number of regular vertices making up a connected region. Persistence measures are often used as a method of eliminating noise from the topological structure by

Most of the techniques and structures discussed in this section can be generalised for use in any number of dimensions—a list of general terms is provided in

One of the fundamental data structures in computational topology are merge trees, commonly used to describe two similar concepts. Merge trees track connected level sets within the data as the isovalue is swept across the scalar range. The *join tree* captures connected sub-level sets, or regions, of the data below a specific isovalue

level set that represents a distinct topological object within the isosurface.

iteratively removing the contour with smallest persistence value.

threshold. Similarly the *split tree* captures connected super-level sets.

**Name Dimension Common name** 0-manifold 0 Point 1-manifold 1 Polyline 2-manifold 2 Polygon 3-manifold 3 Polyhedron 4-manifold 4 4-Polytope

(*x*) <sup>&</sup>gt; 0 or a local maxima *<sup>f</sup>* ′′

(*x*) <sup>&</sup>lt; 0. In the case

**48**

**Table 4.**

*Classification of manifolds in dimensions zero to four.*

The contour tree, introduced by Boyell and Ruston [16] uses concepts from Morse theory [17, 18] to capture changes in the topology of scalar field at critical points in the data. The tree structure allows the tracking of splits and joins in the topology as the isovalue is varied by tracing a path through the graph. **Figure 2** demonstrates how individual contours in the data are captured by the contour tree using a one-to-one correspondence with edges. Each leaf in the contour tree represents an individual local extrema and critical vertices represent a change in the connectivity of the level set. Typically, the contour tree does not contain information regarding changes in topological genus; however, this information can be added to the output [19].

We can formally describe the structure of the contour tree as follows:

#### **Figure 1.**

*A visual representation of the merge tree algorithm for the function shown in the top-left. The merge tree captures each of the local maxima as the function height is reduced (moving left-to-right, top-to-bottom). A real world analogy is to think of the isovalue as the water level in a valley that gradually drains to reveal the peaks of multiple hills. Image courtesy of Landge et al. [13].*

#### **Figure 2.**

*Left: a surface that varies as the function value is varied. Right: a labelled contour tree representation of the surface. Image courtesy of Carr et al. [15].*

	- Leaf nodes correspond to:

a.Local maxima where a contour is created.

b.Local minima where a contour is destroyed.

	- a.A saddle point where one more contours are created as a contour splits into two or more disjoint contours.
	- b.A saddle point where one or more contours are destroyed as two or more disjoint contours merge into one.
	- Represent a single contour between the supernode where it is created and the supernode where it is destroyed.

In addition to optimizations of contour tree computation, research is focused on approaches for storing the contour tree hierarchy, allowing it to be traversed in an efficient manner. A number of related approaches have been proposed including Kd-trees, segment trees, and interval trees. These formats prove problematic as they can require a large amount of storage and are difficult to navigate. An alternative method is proposed in [20] using the observation that an isosurface is the level set of a continuous function in 3D space; therefore, a whole contour can be traced from a single element. Vertices where contours can be built from are given the name seeds; algorithms for computing seeds relate to work in image processing requiring similar storage facilities. An entire contour can be computed for the specified desired isovalue from the seed that is bounded by the two supernodes representing the critical points of the contour. Results showed that by using this method the number of seeds required for representation were in most cases significantly reduced. However, often the overall storage size of the contour tree was increased in comparison to other methods.

Carr et al. [15] investigated the use of contour trees in higher dimensional data sets, whilst also improving upon the algorithm proposed in [21]. This also introduced the concept of *augmented contour trees*, an extension that added

**51**

*Topological Visualisation Techniques for Volume Multifield Data*

non-branching vertices at non-critical points in the data to provide additional values for isosurfaces to be seeded from. This feature was built into a GUI allowing the user to identify regions of interest, using colour coding and to distinguish them as directed by the user [22]. Carr and Snoeyink [23] use the contour tree as the underlying data structure to generate object meshes using path seeds. The use of the contour tree can be extended to finding paths between two points given condition clauses, such as a minimum or maximum values, on a function defining a

Chiang et al. [25] introduce a modified contour tree construction algorithm that improves processing time by only sorting *critical vertices* in the merge tree construction stage. This vastly increases processing speeds in very large data sets. However, as observed by the authors, critical vertices are difficult to identify in data with dimensionality of four or more. Further increases in speed are offered by storing multiple seeds for the monotone path construction algorithm [26] used to generate surfaces. An increased storage overhead is required; however, a surface does not require complete re-extraction each time the isovalue is changed. Recently Gueunet et al. [27] presented a multithreaded approach to computing the augmented contour tree using a shared memory approach. Initial evaluations of the "contour forest" algorithm showed quicker computations achievable using the approach; however, at present the extent of the speed up is limited by load imbal-

For a given technique of subdividing the input domain, the output of the contour tree algorithm is fixed. However, in the case that a different technique is used to define the neighbourhood of sampling points the location of the critical point may change trivially. For example, changing the method of defining neighbours during split/merge tree computations can slightly alter the location of critical points. The underlying structure of the tree, the number of supernodes and superarcs, remains fixed for a given input with only the geometric locations of supernodes changing.

Using the contour tree comes with the limitation that the input must be defined on a *simply connected domain* that is free of loops. Limitations in the merge tree computation phase of the contour tree algorithm prevent it from correctly handling data without a boundary. However, the Reeb graph [28], a generalisation of the contour tree, can be used to compute the topology of scalar data in such situations [29]. As with the contour tree, the Reeb graph can be applied to models of any dimension provided it is represented on a simplicial mesh [30]. The Reeb graph has also been used to assist in the design of transfer functions in volume visualisation [31], by assigning opacity based upon how many objects were obscured by nested surfaces

The first use of the Reeb graph for encoding topological features for visualisation purposes was by Shinagawa and Kunii [32] where the structure was used as a way of representing objects obtained from computerised-tomography (CT) sources [33]. An online algorithm is given by Pascucci et al. [30] that allowed the Reeb graph of a function to be computed using a streaming approach with the output continually updated as additional data points are added. Efficiency of the algorithm is optimal for two dimensional inputs and the streaming nature of the algorithm limits peak

ber of triangles, means it performs less favourably for higher dimensional inputs. A key feature of many Reeb graph algorithms is that a *2-skeleton* of the input volume is used to define the relationship between vertices, edges and triangles. The same restriction applies to scalar fields in *n* dimensions; hence, provided a

) complexity of the algorithm, where *n* is the num-

*DOI: http://dx.doi.org/10.5772/intechopen.82185*

ance and redundant computations.

and their proximity to the edge of a scalar field.

2

memory usage. However, the Ο(*<sup>n</sup>*

**2.4 The Reeb graph**

landscape [24].

#### *Topological Visualisation Techniques for Volume Multifield Data DOI: http://dx.doi.org/10.5772/intechopen.82185*

*Computer Graphics and Imaging*

• Vertices or *supernodes*

*surface. Image courtesy of Carr et al. [15].*

**Figure 2.**

• Edges or *superarcs*

○ Leaf nodes correspond to:

○ Interior nodes correspond to:

a.Local maxima where a contour is created.

b.Local minima where a contour is destroyed.

into two or more disjoint contours.

disjoint contours merge into one.

the supernode where it is destroyed.

a.A saddle point where one more contours are created as a contour splits

b.A saddle point where one or more contours are destroyed as two or more

○ Represent a single contour between the supernode where it is created and

In addition to optimizations of contour tree computation, research is focused on approaches for storing the contour tree hierarchy, allowing it to be traversed in an efficient manner. A number of related approaches have been proposed including Kd-trees, segment trees, and interval trees. These formats prove problematic as they can require a large amount of storage and are difficult to navigate. An alternative method is proposed in [20] using the observation that an isosurface is the level set of a continuous function in 3D space; therefore, a whole contour can be traced from a single element. Vertices where contours can be built from are given the name seeds; algorithms for computing seeds relate to work in image processing requiring similar storage facilities. An entire contour can be computed for the specified desired isovalue from the seed that is bounded by the two supernodes representing the critical points of the contour. Results showed that by using this method the number of seeds required for representation were in most cases significantly reduced. However, often the overall

*Left: a surface that varies as the function value is varied. Right: a labelled contour tree representation of the* 

storage size of the contour tree was increased in comparison to other methods. Carr et al. [15] investigated the use of contour trees in higher dimensional data sets, whilst also improving upon the algorithm proposed in [21]. This also introduced the concept of *augmented contour trees*, an extension that added

**50**

non-branching vertices at non-critical points in the data to provide additional values for isosurfaces to be seeded from. This feature was built into a GUI allowing the user to identify regions of interest, using colour coding and to distinguish them as directed by the user [22]. Carr and Snoeyink [23] use the contour tree as the underlying data structure to generate object meshes using path seeds. The use of the contour tree can be extended to finding paths between two points given condition clauses, such as a minimum or maximum values, on a function defining a landscape [24].

Chiang et al. [25] introduce a modified contour tree construction algorithm that improves processing time by only sorting *critical vertices* in the merge tree construction stage. This vastly increases processing speeds in very large data sets. However, as observed by the authors, critical vertices are difficult to identify in data with dimensionality of four or more. Further increases in speed are offered by storing multiple seeds for the monotone path construction algorithm [26] used to generate surfaces. An increased storage overhead is required; however, a surface does not require complete re-extraction each time the isovalue is changed. Recently Gueunet et al. [27] presented a multithreaded approach to computing the augmented contour tree using a shared memory approach. Initial evaluations of the "contour forest" algorithm showed quicker computations achievable using the approach; however, at present the extent of the speed up is limited by load imbalance and redundant computations.

For a given technique of subdividing the input domain, the output of the contour tree algorithm is fixed. However, in the case that a different technique is used to define the neighbourhood of sampling points the location of the critical point may change trivially. For example, changing the method of defining neighbours during split/merge tree computations can slightly alter the location of critical points. The underlying structure of the tree, the number of supernodes and superarcs, remains fixed for a given input with only the geometric locations of supernodes changing.

### **2.4 The Reeb graph**

Using the contour tree comes with the limitation that the input must be defined on a *simply connected domain* that is free of loops. Limitations in the merge tree computation phase of the contour tree algorithm prevent it from correctly handling data without a boundary. However, the Reeb graph [28], a generalisation of the contour tree, can be used to compute the topology of scalar data in such situations [29]. As with the contour tree, the Reeb graph can be applied to models of any dimension provided it is represented on a simplicial mesh [30]. The Reeb graph has also been used to assist in the design of transfer functions in volume visualisation [31], by assigning opacity based upon how many objects were obscured by nested surfaces and their proximity to the edge of a scalar field.

The first use of the Reeb graph for encoding topological features for visualisation purposes was by Shinagawa and Kunii [32] where the structure was used as a way of representing objects obtained from computerised-tomography (CT) sources [33]. An online algorithm is given by Pascucci et al. [30] that allowed the Reeb graph of a function to be computed using a streaming approach with the output continually updated as additional data points are added. Efficiency of the algorithm is optimal for two dimensional inputs and the streaming nature of the algorithm limits peak memory usage. However, the Ο(*<sup>n</sup>* 2 ) complexity of the algorithm, where *n* is the number of triangles, means it performs less favourably for higher dimensional inputs.

A key feature of many Reeb graph algorithms is that a *2-skeleton* of the input volume is used to define the relationship between vertices, edges and triangles. The same restriction applies to scalar fields in *n* dimensions; hence, provided a

triangulation of the data is available the algorithm will be able to compute a correct *n* dimensional Reeb graph. Reeb graph algorithms can largely be split into two groups; those that are *sweep based*, requiring the maintenance of level sets, and those that use a *split and compute* method to collapse the problem to that of a *contour tree* computation. A third alternative was given by Harvey et al. [34] that randomly collapsed triangles for arbitrary 2-skeletons to improve the running time to <sup>Ο</sup>(*<sup>m</sup>* log*m*).

The sensitivity of Reeb graph computations to the topological genus of the input domain was first demonstrated by McLaughlin [29] in the case of a non-simply connected domain, such as that representing a sphere or torus. Additionally, the number of loops present in the data as a result of the Morse function can further extend the complexity of the algorithm. In order to address this undesired effect the Reeb graph computation can be reduced to that of the simpler contour tree algorithm. This approach was first used by Tierny et al. [35] where they performed "loop-surgery" by making symbolic cuts during the *merge tree* step of the algorithm. The symbolic cuts could then be stitched back together to retrieve a topologically correct Reeb graph of the data. An alternative approach, capable of generalising to higher dimensional inputs, was later proposed by Doraiswamy and Natarajan [36] that explicitly maintained level sets, eliminating the need for a loop-surgery pre-processing step.

More recently Doraiswamy and Natarajan [37] offered an improved algorithm for constructing the Reeb graph of *n*-dimensional scalar fields, reverting to the split and compute contour tree technique, as originally proposed in [35]. A further optimised algorithm [38], using a variation of the split and compute technique, used the join tree of the data to identify potential loops. An important modification upon the technique developed by Tierny et al. [35] was the segmentation of domain into multiple loop free contour trees, instead of a single contour tree, thus enabling multiple regions of the input to be computed in parallel.

Output from Reeb graph algorithms remains fixed provided the simplicial subdivision defined upon the input domain does not change. As is the case with the contour tree, variations can slightly alter the location of the critical vertices without changing the overall structure of the graph.

#### **2.5 Seeded contours**

Contours, as opposed to isosurfaces, can be grown using values extracted from the scalar field to produce topologically correct meshes. De Berg and van Kreveld [24] made the observation that a whole contour could be traced starting from a single *seed* element. Wyvill et al. [39] generate contour surfaces as a two-stage process; first, the core region is flood filled by evaluating neighbouring cells for inclusion in the level set. In the second stage boundaries are calculated using lookup tables similar in form to those of the MC algorithm [1].

Contour trees are a reliable source of seed cells for propagation algorithms similar to those of Wyvill et al. [39]; hence, the contour tree can be used to generate surfaces for each superarc at a given isovalue. Carr and Snoeyink [23] use the contour tree as the underlying data structure to store and generate object meshes. Rather than using *minimal seed sets* as used by van Kreveld et al. [20] to generate contours, an alternative method was deployed using *path seeds*. Carr et al. [15] also investigated the use of contour trees in higher dimensional datasets, whilst also improving upon the algorithm proposed by Tarasov and Vyalyi [21]. This enables users to identify individual contours of interest and distinguish them accordingly [22].

The *flexible isosurface* [40] is a technique for combining many of the features discussed in this section with the concepts of *topological persistence* (see Section 2.6) into a single interface. Simplification methods, as discussed in [12], can also be

**53**

ing approaches.

*Topological Visualisation Techniques for Volume Multifield Data*

the user by providing a simple grouping mechanism.

**2.6 Topological persistence and simplification**

cal features of data existing on a triangular mesh.

**2.7 Topology in direct volume rendering**

the simplification process due to connectivity between time steps.

applied to the data so as to display isosurfaces in a meaningful way. This approach allows each contour to be hidden or displayed according to the user preferences at runtime. In order to further aid data exploration contours can also remain fixed in view as the global isovalue is varied. Colour can be applied to each surface (or a sub-tree of the main contour tree) to allow assignment of meaning to contours by

Different scientific fields of study often define the interesting features and attributes in a domain specific form. However, some features are invariant and can be useful in any field of science. The contour spectrum [41] was introduced as a method of relaying quantitative information about individual contours in scalar data including surface area and volume. Carr et al. [42] directly compare isosurface statistics against raw histograms of scalar data for a number of data sets. Measurements evaluated included the cell intersection count, triangle count and isosurface area. It was found that using these measures a truer distribution of the scalar field could be computed. An improvement was given by Meyer et al. [43] using concepts from geometric measure theory that minimised the effect of noise on the observed distributions. The key to this improvement was introducing a normalisation of the individual contour statistics to the domain average.

Scalar field data often contains noise; when partitioned using a topology sensitive algorithm this manifests in the generation of a large quantity of small objects present at a limited range of isovalues. Methods for reducing noise were first proposed by Edelsbrunner et al. [14] using an iterative process that performed topological simplification by assessing the Betti-numbers of topological objects. The goal of the algorithm is to simplify shape whilst preserving the underlying topologi-

Carr et al. [12] proposed the use of concepts originally discussed as part of the contour spectrum [41], such as enclosed volume and surface area, as an aid for noise removal. Objects are queued in ascending order, according to the user selected measure, and iteratively removed until a terminating level of simplification is achieved. The effects of three different simplification features are compared using X-ray data from a human skull, where it was found that use of the isovalue range persistence measure (**Figure 3**) could result in the removal of important features such as the eyes. Carr et al. remark that simplification techniques are sensitive to the source and should be chosen using domain specific knowledge. The technique is suited to *n* dimensional data; however, time variate data requires additional considerations in

The techniques discussed in Section 2.5 model topological objects as meshes, meaning they are well suited to indirect volume visualisation. However, topology based approaches can also be applied to data displayed using direct volume render-

A segmentation algorithm, such as the contour tree or *volume skeleton tree*, is first used to look for boundaries between objects in the scalar field topology. Following this, traditional direct volume rendering techniques can be applied to the data based upon attributes of the identified objects. Takeshima et al. [44] use attributes such as the number of equal valued contours and occlusion to assign levels of opacity to objects. The net effect was that the outermost objects were assigned lower opacities so as to not obscure features centred in the volume. A more flexible approach was

*DOI: http://dx.doi.org/10.5772/intechopen.82185*

#### *Topological Visualisation Techniques for Volume Multifield Data DOI: http://dx.doi.org/10.5772/intechopen.82185*

*Computer Graphics and Imaging*

pre-processing step.

**2.5 Seeded contours**

triangulation of the data is available the algorithm will be able to compute a correct *n* dimensional Reeb graph. Reeb graph algorithms can largely be split into two groups; those that are *sweep based*, requiring the maintenance of level sets, and those that use a *split and compute* method to collapse the problem to that of a *contour tree* computation. A third alternative was given by Harvey et al. [34] that randomly collapsed triangles for arbitrary 2-skeletons to improve the running time to <sup>Ο</sup>(*<sup>m</sup>* log*m*). The sensitivity of Reeb graph computations to the topological genus of the input

domain was first demonstrated by McLaughlin [29] in the case of a non-simply connected domain, such as that representing a sphere or torus. Additionally, the number of loops present in the data as a result of the Morse function can further extend the complexity of the algorithm. In order to address this undesired effect the Reeb graph computation can be reduced to that of the simpler contour tree algorithm. This approach was first used by Tierny et al. [35] where they performed "loop-surgery" by making symbolic cuts during the *merge tree* step of the algorithm. The symbolic cuts could then be stitched back together to retrieve a topologically correct Reeb graph of the data. An alternative approach, capable of generalising to higher dimensional inputs, was later proposed by Doraiswamy and Natarajan [36] that explicitly maintained level sets, eliminating the need for a loop-surgery

More recently Doraiswamy and Natarajan [37] offered an improved algorithm for constructing the Reeb graph of *n*-dimensional scalar fields, reverting to the split and compute contour tree technique, as originally proposed in [35]. A further optimised algorithm [38], using a variation of the split and compute technique, used the join tree of the data to identify potential loops. An important modification upon the technique developed by Tierny et al. [35] was the segmentation of domain into multiple loop free contour trees, instead of a single contour tree, thus enabling

Output from Reeb graph algorithms remains fixed provided the simplicial subdivision defined upon the input domain does not change. As is the case with the contour tree, variations can slightly alter the location of the critical vertices without

Contours, as opposed to isosurfaces, can be grown using values extracted from the scalar field to produce topologically correct meshes. De Berg and van Kreveld [24] made the observation that a whole contour could be traced starting from a single *seed* element. Wyvill et al. [39] generate contour surfaces as a two-stage process; first, the core region is flood filled by evaluating neighbouring cells for inclusion in the level set. In the second stage boundaries are calculated using look-

Contour trees are a reliable source of seed cells for propagation algorithms similar to those of Wyvill et al. [39]; hence, the contour tree can be used to generate surfaces for each superarc at a given isovalue. Carr and Snoeyink [23] use the contour tree as the underlying data structure to store and generate object meshes. Rather than using *minimal seed sets* as used by van Kreveld et al. [20] to generate contours, an alternative method was deployed using *path seeds*. Carr et al. [15] also investigated the use of contour trees in higher dimensional datasets, whilst also improving upon the algorithm proposed by Tarasov and Vyalyi [21]. This enables users to identify

The *flexible isosurface* [40] is a technique for combining many of the features discussed in this section with the concepts of *topological persistence* (see Section 2.6) into a single interface. Simplification methods, as discussed in [12], can also be

multiple regions of the input to be computed in parallel.

up tables similar in form to those of the MC algorithm [1].

individual contours of interest and distinguish them accordingly [22].

changing the overall structure of the graph.

**52**

applied to the data so as to display isosurfaces in a meaningful way. This approach allows each contour to be hidden or displayed according to the user preferences at runtime. In order to further aid data exploration contours can also remain fixed in view as the global isovalue is varied. Colour can be applied to each surface (or a sub-tree of the main contour tree) to allow assignment of meaning to contours by the user by providing a simple grouping mechanism.

### **2.6 Topological persistence and simplification**

Different scientific fields of study often define the interesting features and attributes in a domain specific form. However, some features are invariant and can be useful in any field of science. The contour spectrum [41] was introduced as a method of relaying quantitative information about individual contours in scalar data including surface area and volume. Carr et al. [42] directly compare isosurface statistics against raw histograms of scalar data for a number of data sets. Measurements evaluated included the cell intersection count, triangle count and isosurface area. It was found that using these measures a truer distribution of the scalar field could be computed. An improvement was given by Meyer et al. [43] using concepts from geometric measure theory that minimised the effect of noise on the observed distributions. The key to this improvement was introducing a normalisation of the individual contour statistics to the domain average.

Scalar field data often contains noise; when partitioned using a topology sensitive algorithm this manifests in the generation of a large quantity of small objects present at a limited range of isovalues. Methods for reducing noise were first proposed by Edelsbrunner et al. [14] using an iterative process that performed topological simplification by assessing the Betti-numbers of topological objects. The goal of the algorithm is to simplify shape whilst preserving the underlying topological features of data existing on a triangular mesh.

Carr et al. [12] proposed the use of concepts originally discussed as part of the contour spectrum [41], such as enclosed volume and surface area, as an aid for noise removal. Objects are queued in ascending order, according to the user selected measure, and iteratively removed until a terminating level of simplification is achieved. The effects of three different simplification features are compared using X-ray data from a human skull, where it was found that use of the isovalue range persistence measure (**Figure 3**) could result in the removal of important features such as the eyes. Carr et al. remark that simplification techniques are sensitive to the source and should be chosen using domain specific knowledge. The technique is suited to *n* dimensional data; however, time variate data requires additional considerations in the simplification process due to connectivity between time steps.

#### **2.7 Topology in direct volume rendering**

The techniques discussed in Section 2.5 model topological objects as meshes, meaning they are well suited to indirect volume visualisation. However, topology based approaches can also be applied to data displayed using direct volume rendering approaches.

A segmentation algorithm, such as the contour tree or *volume skeleton tree*, is first used to look for boundaries between objects in the scalar field topology. Following this, traditional direct volume rendering techniques can be applied to the data based upon attributes of the identified objects. Takeshima et al. [44] use attributes such as the number of equal valued contours and occlusion to assign levels of opacity to objects. The net effect was that the outermost objects were assigned lower opacities so as to not obscure features centred in the volume. A more flexible approach was

**Figure 3.**

*An example of a topological persistence measure defined on the superarcs of a contour tree or Reeb graph. The measure of persistence defined here uses the isovalue range—this is given as the difference of isovalues of the two critical vertices defining the superarc (see* **Table 5***).*

used by Weber et al. [45] applying distinct transfer functions to each object, or topological zone, as directed by the user. This customization, implemented via the user interface, enables grouping of similar features and related components using colour and transparency.

#### **2.8 Temporal univariate scalar data**

Recent interest in topological visualisation research has focused upon the comparison of scalar data through topological methods to assign a degree of similarity to data. This has potential uses in different scientific domains including physics, chemistry, and climate science, which often feature a temporal component. The merge tree, with its simple data-structure, presents an attractive method for computing topological differences between data sets. Beketayev et al. [46] define a distance measure between merge trees with potential applications in a range of scientific disciplines. The algorithm uses a *branch decomposition* approach to deconstruct the merge tree into multiple sub-graphs, each a descending path from a saddle to a leaf vertex. Each branch decomposition can then be scored via an adapted form of the edit distance [47] between two graphs. A recursive algorithm then tests if two merge trees are within an epsilon value to determine if they are classified as similar.

This approach was further extended by Saikia et al. [48] to produce the *extended branch decomposition graph*, a union of all individual sub-trees. This data structure allows quicker comparison between merge trees by computing multiple similarity thresholds in parallel. In addition the extended branch decomposition graph improves upon memory usage by reducing the redundancy found in multiple disjoint branch decompositions. Branch decomposition methods have also been applied to the more complex contour tree to compute similarity and symmetry in scalar topology [49].

The method used by Beketayev et al. [46] had a runtime of Ο(*<sup>n</sup>* 5 ), where a merge tree contains *n* nodes, this was lowered to <sup>Ο</sup>((*<sup>n</sup>* log*n*) 2 ) in related work [48]. Potential downfalls to the optimised algorithm are that instabilities can arise from permuted forms of branch decompositions, this is handled in [46] by considering all possible permutations at the cost of scalability. The optimised algorithm uses the *extended branch decomposition graph*, a union of all possible branch decomposition graphs, to store all branch decompositions in a single tree structure. Two potential uses for the

**55**

area.

**Table 5.**

variables.

**3.1 Jacobi node**

**3.2 The Reeb space**

*Topological Visualisation Techniques for Volume Multifield Data*

distance measure are suggested; identification of similar structures within a single

**Superarc Top supernode Bottom supernode Id Persistence Id Isovalue Id Isovalue** 0.67 12 0.84 13 0.17 1.07 4 1.67 5 0.60 0.54 6 1.25 7 0.71 0.03 16 0.74 7 0.71 0.11 7 0.71 5 0.60 0.43 5 0.60 13 0.17

Fluid dynamics is an area of science that can benefit from visualisation of 3D volumes with a time component. The complexity of mixing two fluids is one specific problem that can be better understood using topological methods as the system evolves over time [50]. Topological analysis makes it possible to take a slice of the volume at a given time-step and count the number of bubbles present. Alternatively, topological analysis enables tracing of properties, such the volume

Multivariate topological visualisation is a more recent research interest in the visualisation community in comparison to topological visualisations of a single field. Due to the relative infancy of the field, Carr et al. [51] highlight the need for sufficiently complex data sets to extensively test the emerging algorithms in the

Many of the topological structures and algorithms applicable to a single variable can be generalised to more than one variable being defined at each sampling point. We begin this section by defining the concept of *Jacobi nodes*, we then continue to examine structures used to capture and the display the topology of multiple

These are critical points in the scalar fields where the gradients of multiple inputs become parallel or equal to zero. A pre-requisite for the algorithms are that the fields are defined on a common sampling mesh meaning that the critical points

The *Reeb space* is a generalisation of the Reeb graph to allow for multivariate or temporal data. The first discussion of using the Reeb space to compute topological structure of multiple functions is presented by Edelsbrunner et al. [52], where it is suggested that the Reeb space can be modelled mathematically in the form *f*: <sup>↦</sup> <sup>ℝ</sup>*<sup>k</sup>*

where represents the domain and *f* the output of *k* scalar functions. For the simple

,

data set or, for time variate data, repetition between time steps.

**3. Multivariate topological visualisation**

are guaranteed to have the same geometric locations.

and centre of gravity of individual bubbles, throughout the simulation.

*DOI: http://dx.doi.org/10.5772/intechopen.82185*

*Persistence measures associated with* **Figure 3***.*


*Topological Visualisation Techniques for Volume Multifield Data DOI: http://dx.doi.org/10.5772/intechopen.82185*

**Table 5.**

*Computer Graphics and Imaging*

colour and transparency.

**Figure 3.**

classified as similar.

scalar topology [49].

**2.8 Temporal univariate scalar data**

*two critical vertices defining the superarc (see* **Table 5***).*

used by Weber et al. [45] applying distinct transfer functions to each object, or topological zone, as directed by the user. This customization, implemented via the user interface, enables grouping of similar features and related components using

*An example of a topological persistence measure defined on the superarcs of a contour tree or Reeb graph. The measure of persistence defined here uses the isovalue range—this is given as the difference of isovalues of the* 

Recent interest in topological visualisation research has focused upon the comparison of scalar data through topological methods to assign a degree of similarity to data. This has potential uses in different scientific domains including physics, chemistry, and climate science, which often feature a temporal component. The merge tree, with its simple data-structure, presents an attractive method for computing topological differences between data sets. Beketayev et al. [46] define a distance measure between merge trees with potential applications in a range of scientific disciplines. The algorithm uses a *branch decomposition* approach to deconstruct the merge tree into multiple sub-graphs, each a descending path from a saddle to a leaf vertex. Each branch decomposition can then be scored via an adapted form of the edit distance [47] between two graphs. A recursive algorithm then tests if two merge trees are within an epsilon value to determine if they are

This approach was further extended by Saikia et al. [48] to produce the *extended branch decomposition graph*, a union of all individual sub-trees. This data structure allows quicker comparison between merge trees by computing multiple similarity thresholds in parallel. In addition the extended branch decomposition graph improves upon memory usage by reducing the redundancy found in multiple disjoint branch decompositions. Branch decomposition methods have also been applied to the more complex contour tree to compute similarity and symmetry in

downfalls to the optimised algorithm are that instabilities can arise from permuted forms of branch decompositions, this is handled in [46] by considering all possible permutations at the cost of scalability. The optimised algorithm uses the *extended branch decomposition graph*, a union of all possible branch decomposition graphs, to store all branch decompositions in a single tree structure. Two potential uses for the

2

5

) in related work [48]. Potential

), where a merge

The method used by Beketayev et al. [46] had a runtime of Ο(*<sup>n</sup>*

tree contains *n* nodes, this was lowered to <sup>Ο</sup>((*<sup>n</sup>* log*n*)

**54**

*Persistence measures associated with* **Figure 3***.*

distance measure are suggested; identification of similar structures within a single data set or, for time variate data, repetition between time steps.

Fluid dynamics is an area of science that can benefit from visualisation of 3D volumes with a time component. The complexity of mixing two fluids is one specific problem that can be better understood using topological methods as the system evolves over time [50]. Topological analysis makes it possible to take a slice of the volume at a given time-step and count the number of bubbles present. Alternatively, topological analysis enables tracing of properties, such the volume and centre of gravity of individual bubbles, throughout the simulation.

### **3. Multivariate topological visualisation**

Multivariate topological visualisation is a more recent research interest in the visualisation community in comparison to topological visualisations of a single field. Due to the relative infancy of the field, Carr et al. [51] highlight the need for sufficiently complex data sets to extensively test the emerging algorithms in the area.

Many of the topological structures and algorithms applicable to a single variable can be generalised to more than one variable being defined at each sampling point. We begin this section by defining the concept of *Jacobi nodes*, we then continue to examine structures used to capture and the display the topology of multiple variables.

#### **3.1 Jacobi node**

These are critical points in the scalar fields where the gradients of multiple inputs become parallel or equal to zero. A pre-requisite for the algorithms are that the fields are defined on a common sampling mesh meaning that the critical points are guaranteed to have the same geometric locations.

#### **3.2 The Reeb space**

The *Reeb space* is a generalisation of the Reeb graph to allow for multivariate or temporal data. The first discussion of using the Reeb space to compute topological structure of multiple functions is presented by Edelsbrunner et al. [52], where it is suggested that the Reeb space can be modelled mathematically in the form *f*: <sup>↦</sup> <sup>ℝ</sup>*<sup>k</sup>* , where represents the domain and *f* the output of *k* scalar functions. For the simple case, where *k* = 1, this is directly comparable to the Reeb graph. The Reeb space extends this formulation to situations where *k* ≥ 2.

### **3.3 The joint contour net**

Carr et al. [53] presented the first discrete representation of the Reeb space using the *Joint Contour Net* (JCN). For functions of *n* variables defined in an ℝ*<sup>m</sup>* dimensional space the algorithm approximates the Reeb space as a number of multivariate contours named joint contour slabs. These represent connected regions of the domain with respect to the isovalue of multiple functions. In situations where *n* ≥ *m* the JCN can still be computed; however, the output is not an approximation of the Reeb space but instead a subdivision of the input geometry over *n* variables. The JCN captures the Reeb space as an undirected graph structure, where vertices represent slabs of *n* isovalue tuples, and edges are used to show adjacency between regions. An example JCN of two scalar functions is presented in **Figures 4** and 5.

In comparison to contour tree algorithms, the JCN is better suited to parallelisation as each joint contour slab is constructed from smaller independent regions called fragments [54]. Existing development of the algorithm has focused largely on implementation as a parallel algorithm. A distributed memory model is used by Duke and Hosseini [55] to construct multiple sub-JCNs in parallel, these are merged into a single output as a final post-processing step. Current results suggest that the merge step is the limiting factor to parallel algorithm speed up; therefore, other parallelisation strategies are under investigation.

In nuclear physics the JCN has previously been used to visualise and analyse scission datasets where it was used to identify the splitting of an atomic nucleus into multiple parts [56]. It was found that the JCN was well suited to capturing this divergent behaviour using proton and neutron density fields as inputs. This experiment was initially performed at a single temperature [57], but later repeated

#### **Figure 4.**

*Two simple scalar functions are defined on a simplicial grid (left), where the dotted lines represent quantisation intervals. The quantised contour tree for each function (right) is shown mapped to the scalar field in the Centre. Image courtesy of Duke et al. [56].*

**57**

**Figure 5.**

*[56].*

*Topological Visualisation Techniques for Volume Multifield Data*

at multiple temperatures [58] due to its ability to capture the splitting of the compound nucleus as a forking in the multi-field topology. Whilst performing the analysis a number of other events were captured and linked to the scission theory. More recently the JCN was used to visually analyse data from hurricane Isabel [59]. Vertices were used to represent the joint contour slabs by mapping to their barycentric spatial coordinates. An interactive environment was developed that allowed users to relate interactions in the temperature, pressure and precipitation fields to physical phenomena such as rain bands and the eye of the hurricane. The ability to relate properties of the JCN to known physical features helped to increase

*A JCN capturing the bivariate topology of the two simple functions shown in* **Figure 4***. The bivariate field is constructed by overlaying the quantisation intervals of the two input fields (dotted lines). A vertex is placed at the barycentre of each region, or joint contour slab, and edges mark adjacency. Image courtesy of Duke et al.* 

understanding of how the JCN is able to capture multi-field interactions.

In multivariate topology a *Jacobi set* represents the set of critical points generated when one Morse function is restricted to the level set of another. Alternatively, the Jacobi set can be considered as the set of points where there is an alignment of the gradient of two or more Morse functions or the gradient of one function vanishes. The similarity between two or more functions can be evaluated using the resulting Jacobi set using a method defined by Edelsbrunner et al. [60]. Applications of the Jacobi set include use as a feedback loop on simulation parameters or to perform comparison of algorithms. An algorithm was presented by Edelsbrunner and Harer [61] for computing Jacobi sets of multiple Morse functions defined on a triangular mesh of isovalue *n*-tuples in Euclidean space. This allows multiple independent functions such as pressure, temperature, or wind speed to be used as inputs.

Alternatively for temporal data multiple time-steps can be used as input to allow the

Carr et al. extend the JCN [53] to extract further topological structure from the Reeb space by first evaluating an intermediate structure, the *Multi-Dimensional Reeb graph* (MDRG) [62]. This is a hierarchical structure that recursively stores the joint

**3.4 Related topological structures**

evaluation of a function with respect to time.

*DOI: http://dx.doi.org/10.5772/intechopen.82185*

*Topological Visualisation Techniques for Volume Multifield Data DOI: http://dx.doi.org/10.5772/intechopen.82185*

#### **Figure 5.**

*Computer Graphics and Imaging*

**3.3 The joint contour net**

extends this formulation to situations where *k* ≥ 2.

parallelisation strategies are under investigation.

case, where *k* = 1, this is directly comparable to the Reeb graph. The Reeb space

example JCN of two scalar functions is presented in **Figures 4** and 5.

Carr et al. [53] presented the first discrete representation of the Reeb space using the *Joint Contour Net* (JCN). For functions of *n* variables defined in an ℝ*<sup>m</sup>* dimensional space the algorithm approximates the Reeb space as a number of multivariate contours named joint contour slabs. These represent connected regions of the domain with respect to the isovalue of multiple functions. In situations where *n* ≥ *m* the JCN can still be computed; however, the output is not an approximation of the Reeb space but instead a subdivision of the input geometry over *n* variables. The JCN captures the Reeb space as an undirected graph structure, where vertices represent slabs of *n* isovalue tuples, and edges are used to show adjacency between regions. An

In comparison to contour tree algorithms, the JCN is better suited to parallelisation as each joint contour slab is constructed from smaller independent regions called fragments [54]. Existing development of the algorithm has focused largely on implementation as a parallel algorithm. A distributed memory model is used by Duke and Hosseini [55] to construct multiple sub-JCNs in parallel, these are merged into a single output as a final post-processing step. Current results suggest that the merge step is the limiting factor to parallel algorithm speed up; therefore, other

In nuclear physics the JCN has previously been used to visualise and analyse scission datasets where it was used to identify the splitting of an atomic nucleus into multiple parts [56]. It was found that the JCN was well suited to capturing this divergent behaviour using proton and neutron density fields as inputs. This experiment was initially performed at a single temperature [57], but later repeated

**56**

**Figure 4.**

*in the Centre. Image courtesy of Duke et al. [56].*

*Two simple scalar functions are defined on a simplicial grid (left), where the dotted lines represent* 

*quantisation intervals. The quantised contour tree for each function (right) is shown mapped to the scalar field* 

*A JCN capturing the bivariate topology of the two simple functions shown in* **Figure 4***. The bivariate field is constructed by overlaying the quantisation intervals of the two input fields (dotted lines). A vertex is placed at the barycentre of each region, or joint contour slab, and edges mark adjacency. Image courtesy of Duke et al. [56].*

at multiple temperatures [58] due to its ability to capture the splitting of the compound nucleus as a forking in the multi-field topology. Whilst performing the analysis a number of other events were captured and linked to the scission theory.

More recently the JCN was used to visually analyse data from hurricane Isabel [59]. Vertices were used to represent the joint contour slabs by mapping to their barycentric spatial coordinates. An interactive environment was developed that allowed users to relate interactions in the temperature, pressure and precipitation fields to physical phenomena such as rain bands and the eye of the hurricane. The ability to relate properties of the JCN to known physical features helped to increase understanding of how the JCN is able to capture multi-field interactions.

#### **3.4 Related topological structures**

In multivariate topology a *Jacobi set* represents the set of critical points generated when one Morse function is restricted to the level set of another. Alternatively, the Jacobi set can be considered as the set of points where there is an alignment of the gradient of two or more Morse functions or the gradient of one function vanishes. The similarity between two or more functions can be evaluated using the resulting Jacobi set using a method defined by Edelsbrunner et al. [60]. Applications of the Jacobi set include use as a feedback loop on simulation parameters or to perform comparison of algorithms. An algorithm was presented by Edelsbrunner and Harer [61] for computing Jacobi sets of multiple Morse functions defined on a triangular mesh of isovalue *n*-tuples in Euclidean space. This allows multiple independent functions such as pressure, temperature, or wind speed to be used as inputs. Alternatively for temporal data multiple time-steps can be used as input to allow the evaluation of a function with respect to time.

Carr et al. extend the JCN [53] to extract further topological structure from the Reeb space by first evaluating an intermediate structure, the *Multi-Dimensional Reeb graph* (MDRG) [62]. This is a hierarchical structure that recursively stores the joint

contours of each function (*f*1,*f*2,…,*fn*) restricted to the contours of those preceding it. At the top level the MDRG represents the contours of the function *f*1 as a Reeb Graph; the second tier relates to the Reeb graph of function *f*2 when restricted to the contours of *f*1, continuing down to function *fn* restricted to the contours of *f*1,…,*fn*−1. Besides being used in the extraction of the Jacobi structure and the related *Reeb skeleton* [63], the MDRG represents a convenient structure for extracting the Reeb graphs of each individual function making up the Reeb space.

An additional abstraction, the *Jacobi structure*, related to the mathematical topology concept of *singular fibre-components* is introduced by Chattopadhyay et al. [62] as part of the MDRG extraction algorithm. This represents an improvement over the Jacobi set by providing a method of relating the Jacobi set directly to the Reeb space. The Jacobi structure is able to capture the exact location of topological change and is defined as the projection of the Jacobi set from the domain to the Reeb space. In practice this extends the Jacobi set to also include the "regular sheets" connecting one another in the Reeb space. This means the Jacobi structure is able to capture elements of the topological structure that the Jacobi set is unable to represent. The Jacobi structure is extracted as the set of critical nodes in the Multi-Dimensional Reeb Graph (MDRG), itself a structure for storing Reeb space criticalities. Forking in multi-field topology in nuclear scission data is an example behaviour that can be captured by the Jacobi structure [62].

The *Layered Reeb graph* is an alternative approach deployed by Strodthoff and Jüttler [64] for presenting the Reeb space of multiple scalar functions. This approach to representing the Reeb space differs from the MDRG [62] by working directly with the Jacobi sets, rather than the more recently proposed Jacobi structure.

#### **3.5 Topological persistence and simplification**

Persistence in multivariate data sets is more complex to define in comparison to the univariate case. Simplification and persistence metrics can be defined on a number of secondary structures computable from the multi-field topology. The concept of isosurface statistics [42, 43] is extended to multivariate inputs through the use of *Continuous Scatterplots* [65]. These can be defined to show relations between *m* dimensional inputs with *n* scalar fields; in the case where *m* = 3 and *n* = 1 the output approximates to the output of Meyer et al. [43].

Multivariate data gives rise to *multi-filtrations* due to their parametrisation by more than one variable; this leads to no definable compact invariants, such as the Betti numbers, existing in multi-fields. Therefore, existing concepts, such as the persistence bar code [66], do not directly generalise to multi-variate domains. However, this does not mean that persistence and simplification cannot be applied, instead other approaches have been suggested. The "rank invariant" is a method for representing persistence in a multi-field by generalising upon the concept of Betti numbers present in univariate topology. For the univariate case, the rank invariant and persistence bar code are the same [67]. The original algorithm used to compute the rank invariant was exponential in time complexity, this was later improved to polynomial time by reformulating the problem as an algebraic geometry problem [68].

The Jacobi set, where the gradient of multiple functions align or have a gradient of zero, can assist in defining persistence measures [60]. When the multi-field is used to represent temporal data this can be used to augment the univariate notion of persistence with a lifetime parameter. This approach was used by Bremer et al. [69]

**59**

**Figure 6.**

*Topological Visualisation Techniques for Volume Multifield Data*

skeleton algorithm to aid multivariate simplification [63].

primarily to aid multi-dimensional simplification [63].

to compute persistence in the context of the Morse-Smale complex. However, when generalised to non-temporal functions defining persistence as a feature of the Jacobi

The Reeb skeleton (**Figure 6**) is a simplified graph structure that takes into account the size of connected components, allowing measures of persistence to be assigned to its arcs. An extended Jacobi set, the *Jacobi Structure*, is used by the Reeb

The Jacobi structure [62] is a promising starting point for simplification due to its ability to separate the Reeb space, as approximated by the JCN, into singular and *regular components*. Just as in the univariate equivalent, the Reeb graph, singular nodes in the Jacobi structure map to topological changes in the multi-field. To exploit this, the Reeb skeleton extends the concept of the Jacobi structure further,

The Reeb skeleton is generated as the dual graph of the singular and regular components captured in the Jacobi structure. Visually, this means the Reeb skeleton translates the sheet-like form of the Jacobi structure into a simplified skeletal form. The simplified graph data structure allows measures of persistence to be assigned to arcs of the Reeb skeleton in a similar manner to that of the Reeb graph. Lip pruning techniques, similar to the leaf pruning method of simplification found in univariate topological structures [12] can then be applied to progressively remove noisy features in the multi-field. Example persistence measures that can be applied to the JCN include the accumulated volume of joint contour slabs

*An example of a Reeb skeleton, showing how it relates to the JCN (a); (b) shows the full, non-simplified Reeb skeleton; (c) modifies the Reeb skeleton to highlight only critical changes in the multivariate topology (red vertices); (d) shows how performing simplification using the Reeb skeleton removes less significant regions of the topology; (e) after simplification, the Reeb skeleton can be reduced to only key vertices; (f) the arrowed* 

*regions relate to the two surfaces. Image courtesy of Chattopadhyay et al. [63].*

*DOI: http://dx.doi.org/10.5772/intechopen.82185*

set becomes a non-trivial task [70].

**3.6 The Reeb skeleton**

in a connected region.

to compute persistence in the context of the Morse-Smale complex. However, when generalised to non-temporal functions defining persistence as a feature of the Jacobi set becomes a non-trivial task [70].

## **3.6 The Reeb skeleton**

*Computer Graphics and Imaging*

structure [62].

structure.

output of Meyer et al. [43].

algebraic geometry problem [68].

individual function making up the Reeb space.

**3.5 Topological persistence and simplification**

contours of each function (*f*1,*f*2,…,*fn*) restricted to the contours of those preceding it. At the top level the MDRG represents the contours of the function *f*1 as a Reeb Graph; the second tier relates to the Reeb graph of function *f*2 when restricted to the contours of *f*1, continuing down to function *fn* restricted to the contours of *f*1,…,*fn*−1. Besides being used in the extraction of the Jacobi structure and the related *Reeb skeleton* [63], the MDRG represents a convenient structure for extracting the Reeb graphs of each

An additional abstraction, the *Jacobi structure*, related to the mathematical topology concept of *singular fibre-components* is introduced by Chattopadhyay et al. [62] as part of the MDRG extraction algorithm. This represents an improvement over the Jacobi set by providing a method of relating the Jacobi set directly to the Reeb space. The Jacobi structure is able to capture the exact location of topological change and is defined as the projection of the Jacobi set from the domain to the Reeb space. In practice this extends the Jacobi set to also include the "regular sheets" connecting one another in the Reeb space. This means the Jacobi structure is able to capture elements of the topological structure that the Jacobi set is unable to represent. The Jacobi structure is extracted as the set of critical nodes in the Multi-Dimensional Reeb Graph (MDRG), itself a structure for storing Reeb space criticalities. Forking in multi-field topology in nuclear scission data is an example behaviour that can be captured by the Jacobi

The *Layered Reeb graph* is an alternative approach deployed by Strodthoff and Jüttler [64] for presenting the Reeb space of multiple scalar functions. This approach to representing the Reeb space differs from the MDRG [62] by working directly with the Jacobi sets, rather than the more recently proposed Jacobi

Persistence in multivariate data sets is more complex to define in comparison to the univariate case. Simplification and persistence metrics can be defined on a number of secondary structures computable from the multi-field topology. The concept of isosurface statistics [42, 43] is extended to multivariate inputs through the use of *Continuous Scatterplots* [65]. These can be defined to show relations between *m* dimensional inputs with *n* scalar fields; in the case where *m* = 3 and *n* = 1 the output approximates to the

Multivariate data gives rise to *multi-filtrations* due to their parametrisation by more than one variable; this leads to no definable compact invariants, such as the Betti numbers, existing in multi-fields. Therefore, existing concepts, such as the persistence bar code [66], do not directly generalise to multi-variate domains. However, this does not mean that persistence and simplification cannot be applied, instead other approaches have been suggested. The "rank invariant" is a method for representing persistence in a multi-field by generalising upon the concept of Betti numbers present in univariate topology. For the univariate case, the rank invariant and persistence bar code are the same [67]. The original algorithm used to compute the rank invariant was exponential in time complexity, this was later improved to polynomial time by reformulating the problem as an

The Jacobi set, where the gradient of multiple functions align or have a gradient of zero, can assist in defining persistence measures [60]. When the multi-field is used to represent temporal data this can be used to augment the univariate notion of persistence with a lifetime parameter. This approach was used by Bremer et al. [69]

**58**

The Reeb skeleton (**Figure 6**) is a simplified graph structure that takes into account the size of connected components, allowing measures of persistence to be assigned to its arcs. An extended Jacobi set, the *Jacobi Structure*, is used by the Reeb skeleton algorithm to aid multivariate simplification [63].

The Jacobi structure [62] is a promising starting point for simplification due to its ability to separate the Reeb space, as approximated by the JCN, into singular and *regular components*. Just as in the univariate equivalent, the Reeb graph, singular nodes in the Jacobi structure map to topological changes in the multi-field. To exploit this, the Reeb skeleton extends the concept of the Jacobi structure further, primarily to aid multi-dimensional simplification [63].

The Reeb skeleton is generated as the dual graph of the singular and regular components captured in the Jacobi structure. Visually, this means the Reeb skeleton translates the sheet-like form of the Jacobi structure into a simplified skeletal form. The simplified graph data structure allows measures of persistence to be assigned to arcs of the Reeb skeleton in a similar manner to that of the Reeb graph. Lip pruning techniques, similar to the leaf pruning method of simplification found in univariate topological structures [12] can then be applied to progressively remove noisy features in the multi-field. Example persistence measures that can be applied to the JCN include the accumulated volume of joint contour slabs in a connected region.

#### **Figure 6.**

*An example of a Reeb skeleton, showing how it relates to the JCN (a); (b) shows the full, non-simplified Reeb skeleton; (c) modifies the Reeb skeleton to highlight only critical changes in the multivariate topology (red vertices); (d) shows how performing simplification using the Reeb skeleton removes less significant regions of the topology; (e) after simplification, the Reeb skeleton can be reduced to only key vertices; (f) the arrowed regions relate to the two surfaces. Image courtesy of Chattopadhyay et al. [63].*

## **4. Visualisation in higher dimensions**

When moving to higher dimensional spaces it is beneficial to generalise the terminology used to describe the geometry. The *n*-dimensional analogue of the square is the *hypercube*, often shortened to *n*-cube (see **Table 6**). When working in higher dimensional spaces it is common to perform a simplicial sub-division of the *n*-cube into *n*-simplexes, this helps to avoid the ambiguities often associated with MC style algorithms [71].

## **4.1 Projection and perception**

Creating easily perceivable and topologically correct three-dimensional models for projection on to flat surfaces, the computer monitor, is a difficult task. Volumes of data become increasingly hard to visualise as their dimensionality increase; for example, by introducing a temporal fourth-dimension. One of the major limiting factors is our in ability to perceive things four-dimensionally. A metaphor for trying to understand four-dimensions in a three-dimensional world is to consider the case of two-dimensional creatures trying to understand a three-dimensional world. This is a thought exercise discussed in [72], which also discusses how a four-dimensional Euclidean representation of space-time relates to real world physics.

Existing projection methods are available that take a four-dimensional objects and display them on a two-dimensional surface, usually in wire-frame form. Quite often the projections are animated to show the object as it rotates on one or more axis; however, this can also be adapted to allow the user to rotate the object through conventional approaches such as mouse interaction. The effect of perspective and isometric projection are explored by Hollasch [73] using tesseracts—the 4D hyper-cube. In addition, the use of ray-tracing in four-dimensions can produce understandable images, as depth cueing is handled automatically by the algorithm in the creation of shadows. However, the added complexity of a fourth dimension in a looping ray tracing algorithm makes it time consuming and potentially unworkable for real time display.

## **4.2 Computing surfaces in higher dimensions**

Whilst presenting difficulties with regard to visualisation, it can be beneficial to compute surfaces in higher dimensions. This is especially true in the case of volumetric data with a temporal element; animation can often be used to reconstruct this form of data but that presents its own perceptual issues. Computation of isosurfaces on fields existing in ℝ<sup>4</sup> space can help to improve animations by providing interpolation between discrete time-steps, resulting in smoother and easier to perceive animations. Alternatively the high-dimensional topology can be sliced along arbitrary axes to provide a snap-shot with a reduction in dimension (e.g. ℝ<sup>4</sup> <sup>↦</sup> <sup>ℝ</sup><sup>3</sup> ).


**61**

**Figure 7.**

*Topological Visualisation Techniques for Volume Multifield Data*

*n* **Centroid division (2***<sup>n</sup>***−1**

tions, allowing them to be displayed as animations.

**4.3 Topological landscapes**

*render (right). Image courtesy of Weber et al. [45].*

An unavoidable consequence of upping the dimensionality of the input field is an increase in the complexity of its storage and computation. An early example of computing surfaces in > 3 dimensions is considered by Weigle and Banks [74] using a recursive technique to split *n*-dimensional cells into *n*-simplexes. The resulting surfaces exist in four dimensions and are able to be displayed using two techniques; stereographic projection (Section 4.1) or slicing to reduce dimensionality. It is noted that the centroid division technique used to break cells into simplexes used in this work is suboptimal (see **Table 7**), but can be improved using lookup tables similar to those used in marching cubes. The technique was used in [75] to compute the swept volumes of time-varying data generated from electromagnetic field simula-

2 4 2 3 24 6 4 192 24 5 1920 120 6 23,040 720

*Number of simplexes generated using differing sub-division techniques in n dimensions.*

*n***!)** *n***!**

Extending MC into the fourth dimension, and beyond, was explored by Bhaniramka

et al. [76]. At the time of the report, a relatively small amount of work had been conducted in studying isosurfaces beyond the third dimension. It was found that by extending MC into 4 dimensions the look-up table, following removal of symmetrical configurations, required 222 separate configurations. As with the 3D variation of MC, one aspect to be taken into consideration is the dealing of ambiguous configurations; a mathematical proof of correctness is provided to verify that the topological structures generated are valid. An example use of this algorithm would be to present volume data with a time dimension by selecting three-dimensional slices of the hyper-volume.

An alternative approach of viewing contour information, the topological landscape, was proposed by Weber et al. [45], using the contour tree to build a 3D terrain model (**Figure 7**). The purpose of this is to harness the natural ability that

*Peaks within a topological landscape (left) correspond to distinct topological features in the direct volume* 

*DOI: http://dx.doi.org/10.5772/intechopen.82185*

**Table 7.**

**Table 6.** *Properties of hypercubes in dimensions zero to four.*


*Topological Visualisation Techniques for Volume Multifield Data DOI: http://dx.doi.org/10.5772/intechopen.82185*

**Table 7.**

*Computer Graphics and Imaging*

**4.1 Projection and perception**

algorithms [71].

**4. Visualisation in higher dimensions**

When moving to higher dimensional spaces it is beneficial to generalise the terminology used to describe the geometry. The *n*-dimensional analogue of the square is the *hypercube*, often shortened to *n*-cube (see **Table 6**). When working in higher dimensional spaces it is common to perform a simplicial sub-division of the *n*-cube into *n*-simplexes, this helps to avoid the ambiguities often associated with MC style

Creating easily perceivable and topologically correct three-dimensional models for projection on to flat surfaces, the computer monitor, is a difficult task. Volumes of data become increasingly hard to visualise as their dimensionality increase; for example, by introducing a temporal fourth-dimension. One of the major limiting factors is our in ability to perceive things four-dimensionally. A metaphor for trying to understand four-dimensions in a three-dimensional world is to consider the case of two-dimensional creatures trying to understand a three-dimensional world. This is a thought exercise discussed in [72], which also discusses how a four-dimensional

Existing projection methods are available that take a four-dimensional objects and display them on a two-dimensional surface, usually in wire-frame form. Quite often the projections are animated to show the object as it rotates on one or more axis; however, this can also be adapted to allow the user to rotate the object through conventional approaches such as mouse interaction. The effect of perspective and isometric projection are explored by Hollasch [73] using tesseracts—the 4D hyper-cube. In addition, the use of ray-tracing in four-dimensions can produce understandable images, as depth cueing is handled automatically by the algorithm in the creation of shadows. However, the added complexity of a fourth dimension in a looping ray tracing algorithm makes it

Euclidean representation of space-time relates to real world physics.

time consuming and potentially unworkable for real time display.

to provide a snap-shot with a reduction in dimension (e.g. ℝ<sup>4</sup> <sup>↦</sup> <sup>ℝ</sup><sup>3</sup>

**4.2 Computing surfaces in higher dimensions**

**60**

**Table 6.**

on fields existing in ℝ<sup>4</sup>

*Properties of hypercubes in dimensions zero to four.*

**Name Dimension** *n* **Common name Vertices Edges Faces Cells** 0-cube 0 Point 1 — — — 1-cube 1 Line-segment 2 1 — — 2-cube 2 Square 4 4 1 — 3-cube 3 Cube 8 12 6 1 4-cube 4 Tesseract 16 32 24 8

Whilst presenting difficulties with regard to visualisation, it can be beneficial to compute surfaces in higher dimensions. This is especially true in the case of volumetric data with a temporal element; animation can often be used to reconstruct this form of data but that presents its own perceptual issues. Computation of isosurfaces

tion between discrete time-steps, resulting in smoother and easier to perceive animations. Alternatively the high-dimensional topology can be sliced along arbitrary axes

space can help to improve animations by providing interpola-

).

*Number of simplexes generated using differing sub-division techniques in n dimensions.*

An unavoidable consequence of upping the dimensionality of the input field is an increase in the complexity of its storage and computation. An early example of computing surfaces in > 3 dimensions is considered by Weigle and Banks [74] using a recursive technique to split *n*-dimensional cells into *n*-simplexes. The resulting surfaces exist in four dimensions and are able to be displayed using two techniques; stereographic projection (Section 4.1) or slicing to reduce dimensionality. It is noted that the centroid division technique used to break cells into simplexes used in this work is suboptimal (see **Table 7**), but can be improved using lookup tables similar to those used in marching cubes. The technique was used in [75] to compute the swept volumes of time-varying data generated from electromagnetic field simulations, allowing them to be displayed as animations.

Extending MC into the fourth dimension, and beyond, was explored by Bhaniramka et al. [76]. At the time of the report, a relatively small amount of work had been conducted in studying isosurfaces beyond the third dimension. It was found that by extending MC into 4 dimensions the look-up table, following removal of symmetrical configurations, required 222 separate configurations. As with the 3D variation of MC, one aspect to be taken into consideration is the dealing of ambiguous configurations; a mathematical proof of correctness is provided to verify that the topological structures generated are valid. An example use of this algorithm would be to present volume data with a time dimension by selecting three-dimensional slices of the hyper-volume.

### **4.3 Topological landscapes**

An alternative approach of viewing contour information, the topological landscape, was proposed by Weber et al. [45], using the contour tree to build a 3D terrain model (**Figure 7**). The purpose of this is to harness the natural ability that

#### **Figure 7.**

*Peaks within a topological landscape (left) correspond to distinct topological features in the direct volume render (right). Image courtesy of Weber et al. [45].*

humans have in understanding terrain structure and use it to provide an easier to understand model of the underlying data topology. Valleys in the terrain illustrate events where a contour splits into two or more parts and peaks represent where two or more contours merge. Topological landscapes can be applied to contour trees of any number of dimensions; hence, they can provide a useful method for exploring what is happening in high dimensional data sets. The topological landscape methodology was further expanded using a number of different methods for laying out the data, primarily from established 2D visualisation techniques [77].

## **5. Conclusion**

In this chapter we first considered problems existing in marching cubes algorithms relating to the topological correctness of the data. We demonstrated how, through the use of topology, a correct representation of a scalar field can be captured using graph structures. These could be used to seed topologically correct meshes for rendering, or to provide a means to analyse the data. After providing a description of algorithms for data sets consisting of a single variable, we showed how many of the techniques can be generalised to multivariate data. Finally, we considered the techniques for displaying data existing in higher dimensions.

## **Acknowledgements**

This work used the resources of the DiRAC Facility jointly funded by STFC, the Large Facilities Capital Fund of BIS and Swansea University, and the DEISA Consortium (www.deisa.eu), funded through the EU FP7 project RI-222919, for support within the DEISA Extreme Computing Initiative. The work was also partly funded by EPSRC project: EP/M008959/1. The authors would also like to thank Dr. Hamish Carr for his advice and assistance throughout the duration of this work.

**63**

**Author details**

Dean P. Thomas1,2\*, Rita Borgo3

provided the original work is properly cited.

\*Address all correspondence to: 798295@swansea.ac.uk

*Topological Visualisation Techniques for Volume Multifield Data*

*DOI: http://dx.doi.org/10.5772/intechopen.82185*

© 2018 The Author(s). Licensee IntechOpen. This chapter is distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/ by/3.0), which permits unrestricted use, distribution, and reproduction in any medium,

, Robert S. Laramee1

1 Department of Computer Science, Swansea University, Swansea, United Kingdom

2 Department of Physics, Swansea University, Swansea, United Kingdom

3 Department of Informatics, Kings College London, London, United Kingdom

and Simon J. Hands2

*Topological Visualisation Techniques for Volume Multifield Data DOI: http://dx.doi.org/10.5772/intechopen.82185*

*Computer Graphics and Imaging*

**5. Conclusion**

**Acknowledgements**

this work.

humans have in understanding terrain structure and use it to provide an easier to understand model of the underlying data topology. Valleys in the terrain illustrate events where a contour splits into two or more parts and peaks represent where two or more contours merge. Topological landscapes can be applied to contour trees of any number of dimensions; hence, they can provide a useful method for exploring what is happening in high dimensional data sets. The topological landscape methodology was further expanded using a number of different methods for laying out

the data, primarily from established 2D visualisation techniques [77].

In this chapter we first considered problems existing in marching cubes algorithms relating to the topological correctness of the data. We demonstrated how, through the use of topology, a correct representation of a scalar field can be captured using graph structures. These could be used to seed topologically correct meshes for rendering, or to provide a means to analyse the data. After providing a description of algorithms for data sets consisting of a single variable, we showed how many of the techniques can be generalised to multivariate data. Finally, we considered the techniques for displaying data existing in higher dimensions.

This work used the resources of the DiRAC Facility jointly funded by STFC, the Large Facilities Capital Fund of BIS and Swansea University, and the DEISA Consortium (www.deisa.eu), funded through the EU FP7 project RI-222919, for support within the DEISA Extreme Computing Initiative. The work was also partly funded by EPSRC project: EP/M008959/1. The authors would also like to thank Dr. Hamish Carr for his advice and assistance throughout the duration of

**62**

## **Author details**

Dean P. Thomas1,2\*, Rita Borgo3 , Robert S. Laramee1 and Simon J. Hands2

1 Department of Computer Science, Swansea University, Swansea, United Kingdom

2 Department of Physics, Swansea University, Swansea, United Kingdom

3 Department of Informatics, Kings College London, London, United Kingdom

\*Address all correspondence to: 798295@swansea.ac.uk

© 2018 The Author(s). Licensee IntechOpen. This chapter is distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/ by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

## **References**

[1] Lorensen WE, Cline HE. Marching cubes: A high resolution 3D surface construction algorithm. Computer Graphics (Proceedings of SIGGRAPH 87). 1987;**21**(4):163-169

[2] Kobbelt LP, Botsch M, Schwanecke U, Seidel H-P. Feature sensitive surface extraction from volume data. In: Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques. 2001. pp. 57-66

[3] Nielson GM. Dual marching cubes. In: Proceedings of the Conference on Visualization'04. 2004. pp. 489-496

[4] Bhattacharya A, Wenger R. Constructing isosurfaces with sharp edges and corners using cube merging. Computer Graphics Forum. 2013;**32**(3pt1):11-20

[5] Newman TS, Yi H. A survey of the marching cubes algorithm. Computers and Graphics. 2006;**30**(5):854-879

[6] Zhou Y, Chen W, Tang Z. An elaborate ambiguity detection method for constructing isosurfaces within tetrahedral meshes. Computers and Graphics. 1995;**19**(3):355-364

[7] Dürst MJ. Re: Additional reference to marching cubes. ACM SIGGRAPH Computer Graphics. 1988;**22**(5):243

[8] Lewiner T, Lopes H, Vieira AW, Tavares G. Efficient implementation of marching cubes' cases with topological guarantees. Journal of Graphics Tools. 2003;**8**(2):1-15

[9] Etiene T et al. Topology verification for isosurface extraction. IEEE Transactions on Visualization and Computer Graphics. 2012;**18**(6):952-965

[10] Edelsbrunner H, Harer J, Zomorodian A. Hierarchical Morse complexes for piecewise linear

2-manifolds. In: Proceedings of the Seventeenth Annual Symposium on Computational Geometry. 2001. pp. 70-79

[11] Bremer P-T, Edelsbrunner H, Hamann B, Pascucci V. A multiresolution data structure for twodimensional Morse-Smale functions. In: Proceedings of the 14th IEEE Visualization 2003 (VIS'03). 2003. p. 19

[12] Carr H, Snoeyink J, van de Panne M. Simplifying flexible isosurfaces using local geometric measures. In: Proceedings of the Conference on Visualization'04. 2004. pp. 497-504

[13] Landge AG et al. In-situ feature extraction of large scale combustion simulations using segmented merge trees. In: High Performance Computing, Networking, Storage and Analysis, SC14: International Conference for. 2014. pp. 1020-1031

[14] Edelsbrunner H, Letscher D, Zomorodian A. Topological persistence and simplification. Discrete and Computational Geometry. 2002;**28**(4):511-533

[15] Carr H, Snoeyink J, Axen U. Computing contour trees in all dimensions. Computational Geometry. 2003;**24**:75-94

[16] Boyell RL, Ruston H. Hybrid techniques for real-time radar simulation. In: Proceedings of the November 12-14, 1963, Fall Joint Computer Conference. 1963. pp. 445-458

[17] Banchoff T et al. Critical points and curvature for embedded polyhedra. Journal of Differential Geometry. 1967;**1**(3-4):245-256

[18] Freeman H, Morse SP. On searching a contour map for a given terrain

**65**

*Topological Visualisation Techniques for Volume Multifield Data*

[27] Gueunet C, Fortin P, Jomier J, Tierny J. Contour forests: Fast multithreaded augmented contour trees. 2016

[28] Reeb G. Sur les points singuliers d'une forme de pfaff completement integrable ou d'une fonction

numerique [on the singular points of a completely integrable pfaff form or of a numerical function]. Comptes Rendus de l'Académie des Sciences.

[29] Cole-McLaughlin K, Edelsbrunner H, Harer J, Natarajan V, Pascucci V. Loops in Reeb graphs of 2-manifolds. In: Proceedings of the Nineteenth Annual Symposium on Computational

[30] Pascucci V, Scorzelli G, Bremer P-T,

computation of Reeb graphs: Simplicity and speed. ACM Transactions on Graphics (TOG). 2007;**26**(3):58

[31] Fujishiro I, Takeshima Y, Azuma T, Takahashi S. Volume data mining using 3D field topology analysis. IEEE Computer Graphics and Applications.

automatically from cross sections. IEEE Computer Graphics and Applications.

[33] Shinagawa Y, Kunii TL, Kergosien YL. Surface coding based on Morse theory. IEEE Computer Graphics and

[34] Harvey W, Wang Y, Wenger R. A randomized O (m log m) time algorithm for computing Reeb graphs of arbitrary simplicial complexes. In: Proceedings of the Twenty-Sixth Annual Symposium on Computational Geometry. 2010.

[35] Tierny J, Gyulassy A, Simon E, Pascucci V. Loop surgery for volumetric

[32] Shinagawa Y, Kunii TL. Constructing a Reeb graph

Applications. 1991;**5**:66-78

Geometry. 2003. pp. 344-350

Mascarenhas A. Robust on-line

1946;**222**:847-849

2000;**5**:46-51

1991;**6**:44-51

pp. 267-276

*DOI: http://dx.doi.org/10.5772/intechopen.82185*

elevation profile. Journal of the Franklin

[19] Pascucci V, Cole-McLaughlin K. Efficient computation of the topology of level sets. In: Proceedings of the Conference on Visualization'02. 2002.

[20] van Kreveld M, van Oostrum R, Bajaj C, Pascucci V, Schikore D. Contour trees and small seed sets for isosurface traversal. In: Proc. Thirteen. Annu. Symp. Comput. Geom.—SCG '97. 1997.

Construction of contour trees in 3D in O (n log n) steps. In: Proceedings of the Fourteenth Annual Symposium on Computational Geometry. 1998.

[22] Carr H, Van Panne M. Topological Manipulation of Isosurfaces. Canada: The University of British Columbia;

[23] Carr H, Snoeyink J. Path seeds and flexible isosurfaces using topology for exploratory visualization. In: Proceedings of the Symposium on Data Visualisation 2003. 2003.

[24] De Berg M, van Kreveld M. Trekking in the Alps without freezing

or getting tired. Algorithmica.

[25] Chiang Y-J, Lenz T, Lu X, Rote G. Simple and optimal output-sensitive construction of contour trees using monotone paths. Computational Geometry. 2005;**30**(2): 165-195

[26] Takahashi S, Ikeda T, Shinagawa Y, Kunii TL, Ueda M. Algorithms for extracting correct critical points and constructing topological graphs from discrete geographical elevation data. Computer Graphics Forum.

[21] Tarasov SP, Vyalyi MN.

Institute. 1967;**284**(1):1-25

pp. 187-194

pp. 212-220

pp. 68-75

2004

pp. 49-58

1997;**18**:306-323

1995;**14**(3):181-192

### *Topological Visualisation Techniques for Volume Multifield Data DOI: http://dx.doi.org/10.5772/intechopen.82185*

elevation profile. Journal of the Franklin Institute. 1967;**284**(1):1-25

[19] Pascucci V, Cole-McLaughlin K. Efficient computation of the topology of level sets. In: Proceedings of the Conference on Visualization'02. 2002. pp. 187-194

[20] van Kreveld M, van Oostrum R, Bajaj C, Pascucci V, Schikore D. Contour trees and small seed sets for isosurface traversal. In: Proc. Thirteen. Annu. Symp. Comput. Geom.—SCG '97. 1997. pp. 212-220

[21] Tarasov SP, Vyalyi MN. Construction of contour trees in 3D in O (n log n) steps. In: Proceedings of the Fourteenth Annual Symposium on Computational Geometry. 1998. pp. 68-75

[22] Carr H, Van Panne M. Topological Manipulation of Isosurfaces. Canada: The University of British Columbia; 2004

[23] Carr H, Snoeyink J. Path seeds and flexible isosurfaces using topology for exploratory visualization. In: Proceedings of the Symposium on Data Visualisation 2003. 2003. pp. 49-58

[24] De Berg M, van Kreveld M. Trekking in the Alps without freezing or getting tired. Algorithmica. 1997;**18**:306-323

[25] Chiang Y-J, Lenz T, Lu X, Rote G. Simple and optimal output-sensitive construction of contour trees using monotone paths. Computational Geometry. 2005;**30**(2): 165-195

[26] Takahashi S, Ikeda T, Shinagawa Y, Kunii TL, Ueda M. Algorithms for extracting correct critical points and constructing topological graphs from discrete geographical elevation data. Computer Graphics Forum. 1995;**14**(3):181-192

[27] Gueunet C, Fortin P, Jomier J, Tierny J. Contour forests: Fast multithreaded augmented contour trees. 2016

[28] Reeb G. Sur les points singuliers d'une forme de pfaff completement integrable ou d'une fonction numerique [on the singular points of a completely integrable pfaff form or of a numerical function]. Comptes Rendus de l'Académie des Sciences. 1946;**222**:847-849

[29] Cole-McLaughlin K, Edelsbrunner H, Harer J, Natarajan V, Pascucci V. Loops in Reeb graphs of 2-manifolds. In: Proceedings of the Nineteenth Annual Symposium on Computational Geometry. 2003. pp. 344-350

[30] Pascucci V, Scorzelli G, Bremer P-T, Mascarenhas A. Robust on-line computation of Reeb graphs: Simplicity and speed. ACM Transactions on Graphics (TOG). 2007;**26**(3):58

[31] Fujishiro I, Takeshima Y, Azuma T, Takahashi S. Volume data mining using 3D field topology analysis. IEEE Computer Graphics and Applications. 2000;**5**:46-51

[32] Shinagawa Y, Kunii TL. Constructing a Reeb graph automatically from cross sections. IEEE Computer Graphics and Applications. 1991;**6**:44-51

[33] Shinagawa Y, Kunii TL, Kergosien YL. Surface coding based on Morse theory. IEEE Computer Graphics and Applications. 1991;**5**:66-78

[34] Harvey W, Wang Y, Wenger R. A randomized O (m log m) time algorithm for computing Reeb graphs of arbitrary simplicial complexes. In: Proceedings of the Twenty-Sixth Annual Symposium on Computational Geometry. 2010. pp. 267-276

[35] Tierny J, Gyulassy A, Simon E, Pascucci V. Loop surgery for volumetric

**64**

*Computer Graphics and Imaging*

87). 1987;**21**(4):163-169

**References**

[1] Lorensen WE, Cline HE. Marching cubes: A high resolution 3D surface construction algorithm. Computer Graphics (Proceedings of SIGGRAPH 2-manifolds. In: Proceedings of the Seventeenth Annual Symposium on Computational Geometry. 2001.

[11] Bremer P-T, Edelsbrunner H, Hamann B, Pascucci V. A multiresolution data structure for twodimensional Morse-Smale functions. In: Proceedings of the 14th IEEE Visualization 2003 (VIS'03). 2003. p. 19

[12] Carr H, Snoeyink J, van de Panne M.

 Simplifying flexible isosurfaces using local geometric measures. In: Proceedings of the Conference on Visualization'04. 2004. pp. 497-504

[13] Landge AG et al. In-situ feature extraction of large scale combustion simulations using segmented merge trees. In: High Performance Computing, Networking, Storage and Analysis, SC14: International Conference for.

[14] Edelsbrunner H, Letscher D, Zomorodian A. Topological persistence

[15] Carr H, Snoeyink J, Axen U. Computing contour trees in all

[16] Boyell RL, Ruston H. Hybrid techniques for real-time radar simulation. In: Proceedings of the November 12-14, 1963, Fall Joint Computer Conference. 1963.

dimensions. Computational Geometry.

[17] Banchoff T et al. Critical points and curvature for embedded polyhedra. Journal of Differential Geometry.

[18] Freeman H, Morse SP. On searching a contour map for a given terrain

and simplification. Discrete and Computational Geometry.

2014. pp. 1020-1031

2002;**28**(4):511-533

2003;**24**:75-94

pp. 445-458

1967;**1**(3-4):245-256

pp. 70-79

[2] Kobbelt LP, Botsch M, Schwanecke U, Seidel H-P. Feature sensitive surface extraction from volume data. In: Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques. 2001. pp. 57-66

[3] Nielson GM. Dual marching cubes. In: Proceedings of the Conference on Visualization'04. 2004. pp. 489-496

[5] Newman TS, Yi H. A survey of the marching cubes algorithm. Computers and Graphics. 2006;**30**(5):854-879

[7] Dürst MJ. Re: Additional reference to marching cubes. ACM SIGGRAPH Computer Graphics. 1988;**22**(5):243

[8] Lewiner T, Lopes H, Vieira AW, Tavares G. Efficient implementation of marching cubes' cases with topological guarantees. Journal of Graphics Tools.

[9] Etiene T et al. Topology verification

for isosurface extraction. IEEE Transactions on Visualization and Computer Graphics. 2012;**18**(6):952-965

[10] Edelsbrunner H, Harer J, Zomorodian A. Hierarchical Morse complexes for piecewise linear

2003;**8**(2):1-15

[6] Zhou Y, Chen W, Tang Z. An elaborate ambiguity detection method for constructing isosurfaces within tetrahedral meshes. Computers and Graphics. 1995;**19**(3):355-364

[4] Bhattacharya A, Wenger R. Constructing isosurfaces with sharp edges and corners using cube merging. Computer Graphics Forum.

2013;**32**(3pt1):11-20

meshes: Reeb graphs reduced to contour trees. IEEE Transactions on Visualization and Computer Graphics. 2009;**15**(6):1177-1184

[36] Doraiswamy H, Natarajan V. Efficient algorithms for computing Reeb graphs. Computational Geometry. 2009;**42**(6):606-616

[37] Doraiswamy H, Natarajan V, Doraiswamy H, Natarajan V. Outputsensitive construction of Reeb graphs. IEEE Transactions on Visualization and Computer Graphics. 2012;**18**(1):146-159

[38] Doraiswamy H, Natarajan V. Computing Reeb graphs as a union of contour trees. IEEE Transactions on Visualization and Computer Graphics. 2013;**19**(2):249-262

[39] Wyvill G, McPheeters C, Wyvill B. Data structure for soft objects. The Visual Computer. 1986;**2**(4):227-234

[40] Carr H, Snoeyink J, van de Panne M. Flexible isosurfaces: Simplifying and displaying scalar topology using the contour tree. Computational Geometry. 2010;**43**(1):42-58

[41] Bajaj CL, Pascucci V, Schikore DR. The contour spectrum. In: Proceedings of the 8th Conference on Visualization'97. 1997. pp. 167-173

[42] Carr H, Brian D, Brian D. On histograms and isosurface statistics. IEEE Transactions on Visualization and Computer Graphics. 2006;**12**(5):1259-1266

[43] Meyer M, Scheidegger CE, Schreiner JM, Duffy B, Carr H, Silva CT. Revisiting histograms and isosurface statistics. IEEE Transactions on Visualization and Computer Graphics. 2008;**14**(6):1659-1666

[44] Takeshima Y, Takahashi S, Fujishiro I, Nielson GM. Introducing topological attributes for objective-based visualization of simulated datasets. In: Volume Graphics, 2005. Fourth International Workshop on. 2005. pp. 137-236

[45] Weber GH, Bremer P-T, Pascucci V. Topological landscapes: A terrain metaphor for scientific data. IEEE Transactions on Visualization and Computer Graphics. 2007;**13**(6):1416-1423

[46] Beketayev K, Yeliussizov D, Morozov D, Weber GH, Hamann B. Measuring the distance between merge trees. In: Topological Methods in Data Analysis and Visualization III. Cham, Switzerland: Springer; 2014. pp. 151-165

[47] Bunke H, Riesen K. Graph edit distance: Optimal and suboptimal algorithms with applications. Analysis of Complex Networks: From Biology to Linguistics. 2009:113-143. https://onlinelibrary.wiley.com/doi/ book/10.1002/9783527627981

[48] Saikia H, Seidel H-P, Weinkauf T. Extended branch decomposition graphs: Structural comparison of scalar data. Computer Graphics Forum. 2014;**33**(3):41-50

[49] Thomas DM, Natarajan V. Symmetry in scalar field topology. IEEE Transactions on Visualization and Computer Graphics. 2011;**17**(12):2035-2044

[50] Laney D, Bremer P-T, Mascarenhas A, Miller P, Pascucci V. Understanding the structure of the turbulent mixing layer in hydrodynamic instabilities. IEEE Transactions on Visualization and Computer Graphics. 2006;**12**(5):1053-1060

[51] Carr HA, Tierny J, Weber GH. Pathological and test cases for Reeb analysis. In: Topology-Based Methods in Visualization 2017 (TopoInVis 2017). 2017

[52] Edelsbrunner H, Harer J, Patel AK. Reeb spaces of piecewise linear

**67**

*Topological Visualisation Techniques for Volume Multifield Data*

[60] Edelsbrunner H, Harer J, Natarajan V, Pascucci V. Local and global comparison of continuous functions. In: Visualization, 2004. Washington DC, USA: IEEE; 2004.

[61] Edelsbrunner H, Harer J. Jacobi sets of multiple Morse functions. Foundations of Computational Mathematics. 2002;**8**:37-57

[62] Chattopadhyay A, Carr H, Duke D,

[63] Chattopadhyay A, Carr H, Duke D, Geng Z, Saeki O. Multivariate topology simplification. In: arXiv Prepr.

[64] Strodthoff B, Jüttler B. Layered Reeb graphs of a spatial domain. In: Bookl. Abstr. EuroCG. 2013.

[65] Bachthaler S, Weiskopf D. Continuous scatterplots. IEEE Transactions on Visualization and Computer Graphics. 2008;**14**(6):

[66] Zomorodian A, Carlsson G. Computing persistent homology. Discrete & Computational Geometry.

[67] Carlsson G, Zomorodian A. The

persistence. Discrete & Computational

[68] Carlsson G, Singh G, Zomorodian A. Computing multidimensional persistence. In: Algorithms and Computation. Berlin, Heidelberg, Germany: Springer; 2009. pp. 730-739

[69] Bremer PT et al. Topological feature extraction and tracking. Journal of Physics: Conference Series.

2007;**78**(1):12007

theory of multidimensional

Geometry. 2009;**42**(1): 71-93

Geng Z. Extracting Jacobi structures in Reeb spaces. In: EuroVis-Short Papers. 2014

arXiv1509.04465. 2015

pp. 21-24

1428-1435

2005;**33**(2):249-274

pp. 275-280

*DOI: http://dx.doi.org/10.5772/intechopen.82185*

mappings. In: Proceedings of the Twenty-Fourth Annual Symposium on Computational Geometry. 2008.

[53] Carr H, Duke D. Joint contour nets. IEEE Transactions on

[54] Duke DJ, Hosseini F, Carr H. Parallel computation of multifield topology: Experience of Haskell in a computational science application. In: Proceedings of the 3rd ACM SIGPLAN Workshop on Functional High-Performance Computing. 2014.

Visualization and Computer Graphics.

[55] Duke DJ, Hosseini F. Skeletons for distributed topological computation. In: Proceedings of the 4th ACM SIGPLAN Workshop on Functional High-Performance Computing. 2015.

[56] Duke D, Carr H, Knoll A, Schunck

Visualizing nuclear scission through a

topological analysis. IEEE Transactions

[57] Schunck N, Duke D, Carr H, Knoll A. Description of induced nuclear fission with Skyrme energy functionals: Static potential energy surfaces and fission fragment properties. Physical

on Visualization and Computer Graphics. 2012;**18**(12):2033-2040

Review C. 2014;**90**(5):54305

Review C. 2015;**91**(3):34327

[59] Geng Z, Duke D, Carr H, Chattopadhyay A. Visual analysis of hurricane data using joint contour net. In: Computer Graphics and Visual

Computing (CGVC). 2014

[58] Schunck N, Duke D, Carr H. Description of induced nuclear fission with Skyrme energy functionals. II. Finite temperature effects. Physical

N, Nam HA, Staszczak A.

multifield extension of

pp. 242-250

pp. 11-21

pp. 35-44

2013;**20**(8):1100-1113

*Topological Visualisation Techniques for Volume Multifield Data DOI: http://dx.doi.org/10.5772/intechopen.82185*

mappings. In: Proceedings of the Twenty-Fourth Annual Symposium on Computational Geometry. 2008. pp. 242-250

*Computer Graphics and Imaging*

2009;**15**(6):1177-1184

2009;**42**(6):606-616

2013;**19**(2):249-262

2010;**43**(1):42-58

The contour spectrum. In:

[42] Carr H, Brian D, Brian D. On histograms and isosurface statistics. IEEE Transactions on Visualization and Computer Graphics.

[43] Meyer M, Scheidegger CE, Schreiner JM, Duffy B, Carr H, Silva CT. Revisiting histograms and isosurface statistics. IEEE Transactions

on Visualization and Computer Graphics. 2008;**14**(6):1659-1666

[44] Takeshima Y, Takahashi S, Fujishiro I, Nielson GM. Introducing topological attributes for objective-based visualization

2006;**12**(5):1259-1266

meshes: Reeb graphs reduced to contour trees. IEEE Transactions on Visualization and Computer Graphics. of simulated datasets. In: Volume Graphics, 2005. Fourth International Workshop on. 2005. pp. 137-236

[45] Weber GH, Bremer P-T,

2007;**13**(6):1416-1423

Pascucci V. Topological landscapes: A terrain metaphor for scientific data. IEEE Transactions on

[46] Beketayev K, Yeliussizov D, Morozov D, Weber GH, Hamann B. Measuring the distance between merge trees. In: Topological Methods in Data Analysis and Visualization III. Cham, Switzerland: Springer; 2014. pp. 151-165

[47] Bunke H, Riesen K. Graph edit distance: Optimal and suboptimal algorithms with applications.

Analysis of Complex Networks: From Biology to Linguistics. 2009:113-143. https://onlinelibrary.wiley.com/doi/ book/10.1002/9783527627981

[48] Saikia H, Seidel H-P, Weinkauf T. Extended branch decomposition graphs: Structural comparison of scalar data. Computer Graphics Forum.

[50] Laney D, Bremer P-T, Mascarenhas A, Miller P, Pascucci V. Understanding

[49] Thomas DM, Natarajan V. Symmetry in scalar field topology. IEEE Transactions on Visualization

the structure of the turbulent mixing layer in hydrodynamic instabilities. IEEE Transactions on Visualization and Computer Graphics.

[51] Carr HA, Tierny J, Weber GH. Pathological and test cases for Reeb analysis. In: Topology-Based Methods in Visualization 2017 (TopoInVis 2017). 2017

Reeb spaces of piecewise linear

[52] Edelsbrunner H, Harer J, Patel AK.

2006;**12**(5):1053-1060

and Computer Graphics. 2011;**17**(12):2035-2044

2014;**33**(3):41-50

Visualization and Computer Graphics.

[36] Doraiswamy H, Natarajan V. Efficient algorithms for computing Reeb graphs. Computational Geometry.

[37] Doraiswamy H, Natarajan V, Doraiswamy H, Natarajan V. Outputsensitive construction of Reeb graphs. IEEE Transactions on Visualization and Computer Graphics. 2012;**18**(1):146-159

[38] Doraiswamy H, Natarajan V. Computing Reeb graphs as a union of contour trees. IEEE Transactions on Visualization and Computer Graphics.

[39] Wyvill G, McPheeters C, Wyvill B. Data structure for soft objects. The Visual Computer. 1986;**2**(4):227-234

[40] Carr H, Snoeyink J, van de Panne M. Flexible isosurfaces: Simplifying and displaying scalar topology using the contour tree. Computational Geometry.

[41] Bajaj CL, Pascucci V, Schikore DR.

Proceedings of the 8th Conference on Visualization'97. 1997. pp. 167-173

**66**

[53] Carr H, Duke D. Joint contour nets. IEEE Transactions on Visualization and Computer Graphics. 2013;**20**(8):1100-1113

[54] Duke DJ, Hosseini F, Carr H. Parallel computation of multifield topology: Experience of Haskell in a computational science application. In: Proceedings of the 3rd ACM SIGPLAN Workshop on Functional High-Performance Computing. 2014. pp. 11-21

[55] Duke DJ, Hosseini F. Skeletons for distributed topological computation. In: Proceedings of the 4th ACM SIGPLAN Workshop on Functional High-Performance Computing. 2015. pp. 35-44

[56] Duke D, Carr H, Knoll A, Schunck N, Nam HA, Staszczak A. Visualizing nuclear scission through a multifield extension of topological analysis. IEEE Transactions on Visualization and Computer Graphics. 2012;**18**(12):2033-2040

[57] Schunck N, Duke D, Carr H, Knoll A. Description of induced nuclear fission with Skyrme energy functionals: Static potential energy surfaces and fission fragment properties. Physical Review C. 2014;**90**(5):54305

[58] Schunck N, Duke D, Carr H. Description of induced nuclear fission with Skyrme energy functionals. II. Finite temperature effects. Physical Review C. 2015;**91**(3):34327

[59] Geng Z, Duke D, Carr H, Chattopadhyay A. Visual analysis of hurricane data using joint contour net. In: Computer Graphics and Visual Computing (CGVC). 2014

[60] Edelsbrunner H, Harer J, Natarajan V, Pascucci V. Local and global comparison of continuous functions. In: Visualization, 2004. Washington DC, USA: IEEE; 2004. pp. 275-280

[61] Edelsbrunner H, Harer J. Jacobi sets of multiple Morse functions. Foundations of Computational Mathematics. 2002;**8**:37-57

[62] Chattopadhyay A, Carr H, Duke D, Geng Z. Extracting Jacobi structures in Reeb spaces. In: EuroVis-Short Papers. 2014

[63] Chattopadhyay A, Carr H, Duke D, Geng Z, Saeki O. Multivariate topology simplification. In: arXiv Prepr. arXiv1509.04465. 2015

[64] Strodthoff B, Jüttler B. Layered Reeb graphs of a spatial domain. In: Bookl. Abstr. EuroCG. 2013. pp. 21-24

[65] Bachthaler S, Weiskopf D. Continuous scatterplots. IEEE Transactions on Visualization and Computer Graphics. 2008;**14**(6): 1428-1435

[66] Zomorodian A, Carlsson G. Computing persistent homology. Discrete & Computational Geometry. 2005;**33**(2):249-274

[67] Carlsson G, Zomorodian A. The theory of multidimensional persistence. Discrete & Computational Geometry. 2009;**42**(1): 71-93

[68] Carlsson G, Singh G, Zomorodian A. Computing multidimensional persistence. In: Algorithms and Computation. Berlin, Heidelberg, Germany: Springer; 2009. pp. 730-739

[69] Bremer PT et al. Topological feature extraction and tracking. Journal of Physics: Conference Series. 2007;**78**(1):12007

[70] Suthambhara N, Natarajan V. Simplification of jacobi sets. In: Topological Methods in Data Analysis and Visualization. Berlin, Heidelberg, Germany: Springer; 2011. pp. 91-102

[71] Nielson GM, Hamann B. The asymptotic decider: Resolving the ambiguity in marching cubes. In: Proceedings of the 2nd Conference on Visualization'91. 1991. pp. 83-91

[72] von Bitter Rucker R. Geometry, Relativity and the Fourth Dimension. New York, NY, USA: Dover Publications; 1977

[73] Hollasch SR. Four-Space Visualization of 4D Objects. Tempe, Arizona, USA: Arizona State University; 1991

[74] Weigle C, Banks DC. Complexvalued contour meshing. In: Proceedings of the 7th Conference on Visualization'96. 1996. p. 173-ff

[75] Weigle C, Banks DC. Extracting isovalued features in 4-dimensional scalar fields. In: Proceedings of the 1998 IEEE Symposium on Volume Visualization. 1998. pp. 103-110

[76] Bhaniramka P, Wenger R, Crawfis R. Isosurfacing in higher dimensions. In: Proc. Vis. 2000. VIS 2000 (Cat. No.00CH37145). 2000

[77] Harvey W, Wang Y. Topological landscape ensembles for visualization of scalar-valued functions. Computer Graphics Forum. 2010;**29**:993-1002

**69**

**Chapter 5**

**Abstract**

**1. Introduction**

From Data Chaos to the

Data visualization is a general term that describes any effort to help people enhance their understanding of data by placing it in a visual context. We present a ubiquitous pattern of knowledge evolution that the collective digital society is experiencing. It starts with a challenge or goal in the real world. When implementing a real-world solution, we often run into barriers. Creating a digital solution to an analogue problem create massive amounts of data. Visualization is a key technology

**Keywords:** data visualization, real world challenge, data chaos, digital solution

Data visualization is a general term that describes any effort to help people enhance their understanding of data by placing it in a visual context. Patterns, trends and correlations that might go undetected in numeric on text-based data can be exposed and recognized easier with data visualization software [1]. **Figure 1** represents a ubiquitous pattern of knowledge evolution that the collective digital society is experiencing. It consists of six basic constituents. It starts with a challenge or goal in the real world. The goal could be to build or optimize a design, like a car or computer. The start could be a challenge such as reaching a new level of understanding or observing a behavior or phenomenon rarely or never seen previously. The goal could be running a successful business and making a profit. We all have real world goals and challenges. We all have new understanding and knowledge we would like to obtain. We all have things we would like to build, create, and optimize. When trying to build something we generally know that whatever it is, it can theoretically be built in the real-world. For example, cars and structures can be built out of raw materials and components with the right tools. We also know that observations can be made, in general, by being in the right place at the right time, either personally or with recording equipment. Experiments can generally be conducted with the appropriate equipment. New levels of understanding can generally be

However, when implementing a real-world solution, we often run into barriers. Cars and structures are extremely expensive to build and may also require a long-term investment. Observations may be very expensive, very difficult, or even impossible. Some observations interfere with the very behavior or phenomena they are trying to study. Recording equipment may be too expensive or cause logistical problems. Equipment for experiments is generally very expensive. This is especially true if the

Visualization Cosmos

*Chao Tong and Robert S. Laramee*

to extract meaning from large data sets.

obtained if we hire enough of the right people.

## **Chapter 5**

*Computer Graphics and Imaging*

[70] Suthambhara N, Natarajan V. Simplification of jacobi sets. In: Topological Methods in Data Analysis and Visualization. Berlin, Heidelberg, Germany: Springer; 2011. pp. 91-102

[71] Nielson GM, Hamann B. The asymptotic decider: Resolving the ambiguity in marching cubes. In: Proceedings of the 2nd Conference on Visualization'91. 1991. pp. 83-91

[72] von Bitter Rucker R. Geometry, Relativity and the Fourth Dimension. New York, NY, USA: Dover Publications;

Visualization of 4D Objects. Tempe, Arizona, USA: Arizona State University;

[74] Weigle C, Banks DC. Complexvalued contour meshing. In:

Proceedings of the 7th Conference on Visualization'96. 1996. p. 173-ff

[75] Weigle C, Banks DC. Extracting isovalued features in 4-dimensional scalar fields. In: Proceedings of the 1998 IEEE Symposium on Volume Visualization.

[76] Bhaniramka P, Wenger R, Crawfis R. Isosurfacing in higher dimensions. In: Proc. Vis. 2000. VIS 2000 (Cat.

[77] Harvey W, Wang Y. Topological landscape ensembles for visualization of scalar-valued functions. Computer Graphics Forum. 2010;**29**:993-1002

[73] Hollasch SR. Four-Space

1977

1991

1998. pp. 103-110

No.00CH37145). 2000

**68**

## From Data Chaos to the Visualization Cosmos

*Chao Tong and Robert S. Laramee*

## **Abstract**

Data visualization is a general term that describes any effort to help people enhance their understanding of data by placing it in a visual context. We present a ubiquitous pattern of knowledge evolution that the collective digital society is experiencing. It starts with a challenge or goal in the real world. When implementing a real-world solution, we often run into barriers. Creating a digital solution to an analogue problem create massive amounts of data. Visualization is a key technology to extract meaning from large data sets.

**Keywords:** data visualization, real world challenge, data chaos, digital solution

## **1. Introduction**

Data visualization is a general term that describes any effort to help people enhance their understanding of data by placing it in a visual context. Patterns, trends and correlations that might go undetected in numeric on text-based data can be exposed and recognized easier with data visualization software [1]. **Figure 1** represents a ubiquitous pattern of knowledge evolution that the collective digital society is experiencing. It consists of six basic constituents. It starts with a challenge or goal in the real world. The goal could be to build or optimize a design, like a car or computer. The start could be a challenge such as reaching a new level of understanding or observing a behavior or phenomenon rarely or never seen previously. The goal could be running a successful business and making a profit. We all have real world goals and challenges. We all have new understanding and knowledge we would like to obtain. We all have things we would like to build, create, and optimize.

When trying to build something we generally know that whatever it is, it can theoretically be built in the real-world. For example, cars and structures can be built out of raw materials and components with the right tools. We also know that observations can be made, in general, by being in the right place at the right time, either personally or with recording equipment. Experiments can generally be conducted with the appropriate equipment. New levels of understanding can generally be obtained if we hire enough of the right people.

However, when implementing a real-world solution, we often run into barriers. Cars and structures are extremely expensive to build and may also require a long-term investment. Observations may be very expensive, very difficult, or even impossible. Some observations interfere with the very behavior or phenomena they are trying to study. Recording equipment may be too expensive or cause logistical problems. Equipment for experiments is generally very expensive. This is especially true if the

equipment is specialized or for very small or very large-scale investigations. Also, hiring people for new understanding may not be feasible due to expense. A fulltime research assistant costs 100 K GBP per year under current funding agency full economic costing (FEC) requirements in the UK. Real-world solutions are generally very expensive or not feasible at all. Some real-world solutions are impossible.

It is because of the high cost of real-world solutions that collectively, as a society, we turn to digital solutions to address our challenges and goals. The dotted line in **Figure 1** separates the real, physical, or analogue world on the left side from the digital world on the right. We all look to the digital world for the answers to our questions. "There must be an app for that." or "What app can be built to solve this problem?" is the collective thinking in this day in age. Society looks towards digital solutions for their real-world problems to deliver the user from the dilemma they may face. People believe that software is less-expensive to build than objects in the real world. The virtual world should be more feasible than the physical or analogue world. And this is true in many scenarios.

However, creating a digital solution to an analogue problem introduces new challenges. In particular, digital solutions, including software, create massive amounts of data. The amount of data digital approaches generate is generally unbounded. Software and storage hardware is less and less expensive with time. Thus, users collect, collect, and collect even more data. This is the point at which the knowledge evolution pipeline of **Figure 1** becomes interesting. Large collections of complex data are not automatically useful. Extracting meaningful information, knowledge, and ultimately wisdom from large data collection is the main challenge facing the digital world today. The collection of essentially unbounded data is what we term data chaos. Collecting and archiving data without careful planning and well thought out information design quickly or slowly results in a chaotic data environment. Those who collect data are generally not yet aware of how difficult it is to then derive useful insight and knowledge from it.

On the other hand, the knowledge that visualization is a key technology to extract meaning from large data sets is rapidly spreading. This is one solution to the data chaos. In the early years of data visualization as a field, say the first 10 years, from 1987 to 1997, data visualization was considered very niche. Not many people knew about it nor knew of its existence. It is only since around the turn of the century that

*A ubiquitous pattern of knowledge evolution. Here we present the model of our collective thought process.*

**71**

**Figure 2.**

*Several billion neurons are devoted to analyzing visual information.*

*From Data Chaos to the Visualization Cosmos DOI: http://dx.doi.org/10.5772/intechopen.82159*

cosmos.

word started to spread. In the 2000s the first main-stream news stories including the phrase 'Data Visualization' were published. Nowadays, the field has come a long way from obscurity to breaking into the main stream. Its presence and importance as a field is starting to become understood. Word is spreading that a data visualization

That's the basic pattern of knowledge evolution. The rest of the chapter provides concrete examples of these six stages from real-world challenges to the visualization cosmos. The focus is on the last two stages: from data chaos to the visualization

We can find this pattern everywhere. It does not matter where we look. We can see in computational fluid dynamics. Physicists and astronomers are facing these dilemmas. It's not possible to study all the stars and black holes physically. We see this pattern with marine biologists, biochemists, psychologists, sociologists, sport scientists, journalists, and those studying the humanities. We see this evolution with government councils, banks, call centers, retail websites, transportation. The list is virtually endless. You can experience this yourself as you collect your own photos. People like to collect things. This is another contributing factor to the data chaos. A person may not even have a goal to reach or a problem they are trying to

Data visualization uses computer graphics to generate images of complex data sets. It's different from computer graphics. "Computer graphics is a branch of computer science, yes, but its appeal reaches far beyond that relatively specialized field.

community exists and that this is a topic a student can study at university.

**2. The universal big data story (and quandary)**

solve. They just like to collect.

**3. The visual cortex**

*From Data Chaos to the Visualization Cosmos DOI: http://dx.doi.org/10.5772/intechopen.82159*

*Computer Graphics and Imaging*

world. And this is true in many scenarios.

is to then derive useful insight and knowledge from it.

equipment is specialized or for very small or very large-scale investigations. Also, hiring people for new understanding may not be feasible due to expense. A fulltime research assistant costs 100 K GBP per year under current funding agency full economic costing (FEC) requirements in the UK. Real-world solutions are generally very expensive or not feasible at all. Some real-world solutions are impossible.

It is because of the high cost of real-world solutions that collectively, as a society, we turn to digital solutions to address our challenges and goals. The dotted line in **Figure 1** separates the real, physical, or analogue world on the left side from the digital world on the right. We all look to the digital world for the answers to our questions. "There must be an app for that." or "What app can be built to solve this problem?" is the collective thinking in this day in age. Society looks towards digital solutions for their real-world problems to deliver the user from the dilemma they may face. People believe that software is less-expensive to build than objects in the real world. The virtual world should be more feasible than the physical or analogue

However, creating a digital solution to an analogue problem introduces new challenges. In particular, digital solutions, including software, create massive amounts of data. The amount of data digital approaches generate is generally unbounded. Software and storage hardware is less and less expensive with time. Thus, users collect, collect, and collect even more data. This is the point at which the knowledge evolution pipeline of **Figure 1** becomes interesting. Large collections of complex data are not automatically useful. Extracting meaningful information, knowledge, and ultimately wisdom from large data collection is the main challenge facing the digital world today. The collection of essentially unbounded data is what we term data chaos. Collecting and archiving data without careful planning and well thought out information design quickly or slowly results in a chaotic data environment. Those who collect data are generally not yet aware of how difficult it

On the other hand, the knowledge that visualization is a key technology to extract

meaning from large data sets is rapidly spreading. This is one solution to the data chaos. In the early years of data visualization as a field, say the first 10 years, from 1987 to 1997, data visualization was considered very niche. Not many people knew about it nor knew of its existence. It is only since around the turn of the century that

*A ubiquitous pattern of knowledge evolution. Here we present the model of our collective thought process.*

**70**

**Figure 1.**

word started to spread. In the 2000s the first main-stream news stories including the phrase 'Data Visualization' were published. Nowadays, the field has come a long way from obscurity to breaking into the main stream. Its presence and importance as a field is starting to become understood. Word is spreading that a data visualization community exists and that this is a topic a student can study at university.

That's the basic pattern of knowledge evolution. The rest of the chapter provides concrete examples of these six stages from real-world challenges to the visualization cosmos. The focus is on the last two stages: from data chaos to the visualization cosmos.

## **2. The universal big data story (and quandary)**

We can find this pattern everywhere. It does not matter where we look. We can see in computational fluid dynamics. Physicists and astronomers are facing these dilemmas. It's not possible to study all the stars and black holes physically. We see this pattern with marine biologists, biochemists, psychologists, sociologists, sport scientists, journalists, and those studying the humanities. We see this evolution with government councils, banks, call centers, retail websites, transportation. The list is virtually endless. You can experience this yourself as you collect your own photos. People like to collect things. This is another contributing factor to the data chaos. A person may not even have a goal to reach or a problem they are trying to solve. They just like to collect.

## **3. The visual cortex**

Data visualization uses computer graphics to generate images of complex data sets. It's different from computer graphics. "Computer graphics is a branch of computer science, yes, but its appeal reaches far beyond that relatively specialized field.

**Figure 2.** *Several billion neurons are devoted to analyzing visual information.*

In its short lifetime, computer graphics has attracted some of the most creative people in the work to its fold," from the classic textbook "Introduction to Computer Graphics" by Foley et al. [2]. Visualization tries to generate images of reality. Visualization exploits our powerful visual system. We have several billion neurons dedicated to our visual processing and visual cortex [3]. See **Figure 2**.

The numbers of neurons are not very meaningful unless we put them into context. We have 8% of the cortex dedicated touch and 3% dedicated to hearing. We have anywhere from 4 to 10 times of our cortex dedicated to visual processing than the other senses. It makes sense to explore the visual processing power in our brains as opposed to the other senses. It's dedicated to processing color, motion, texture, and shape.

## **4. Visualization goals**

Data visualization has some strengths and goals itself. One of the goals of data visualization is exploring data. This may be the case when the user does not know anything about their data set. They just want to find out what it looks like and its characteristics.

Users search for trends or patterns in the data. Exploration is for the user that's not very familiar with the dataset. Visualization is also good for analysis: to confirm or refute a hypothesis. An expert may have collected the data for a special purpose and would like to confirm or refute a hypothesis or answer a specific question. Visualization is also effective for presentation.

When our exploration and analysis is finished we can present the results to a wider audience. Visualization is also good for acceleration i.e. to speed up something such as a search process. This is often a decision-making process or knowledge discovery process. We can see things that were otherwise impossible.

## **5. Example: visualization of call center data**

Let's look at this first example of this pattern of knowledge evolution. This is from a business context. One of Swansea University's industry collaborators is called QPC Ltd. They are an innovator in call center technology. Their goal is to understand call center behavior and to increase understanding of calls and all the activities that occur inside a call center. The call centers are staffed with many agents and the agents are answering hundreds of thousands of calls every day. How can we increase our understanding of all those events and what is happening inside of a call center?

We theoretically could go down the analog or physical route. We could hire more people that stand and observe what's happening in the call center and attempt to take notes to enhance understanding. Or maybe CCTV could be used to try to film everything that's going on. These analogue solutions will be very expensive and not very practical. The analog solution to hire more people for just observation is not practically feasible and will cost too much money.

So QPC Ltd. chose the digital solution. They decided to implement an event database. The database logs all events in the call center: who called, when they call, how much time they spend navigating menus inside the interactive voice recognition system (IVR), how long they spent in the queue before speaking to an agent, whether or not they abandon their call, which agent they spoke to, and how long they spoke to each agent etc. That digital solution in the form of a database stores of millions events every day. A call center generates lots of activities. The UK employs

**73**

**Figure 3.**

*From Data Chaos to the Visualization Cosmos DOI: http://dx.doi.org/10.5772/intechopen.82159*

clock showing. The user does not get lost.

*Visualization of call center data. Image courtesy of Roberts et al. [4].*

call centers [4]. It's a large market.

over a million people in call centers or about 5% of its workforce are employed in

reaches its maximum at around lunchtime. Then it starts to descend again.

different kinds of events for example abandoned calls or successful calls.

call centers trying to avoid abandoned calls. We can observe a big increase in abandoned calls in the evening right after dinner around 7 pm–8 pm. The user can map the calls to different colors at different costs. They can also map the colors to

We can also navigate the treemap. We can zoom in smoothly and see more details. We can zoom in to single hour and each rectangle represents a single call. We can visualize individual calls and how long they take. There is a call that lasted 2 h. The unusual calls that last long time jump right out. Probably they spent a long time with an agent—a very dedicated agent spent a long time trying to solve a customer problem. The users can use a clock interface to smoothly zoom and navigate each hour. The software features a smooth zooming and panning operation and with the

We can easily see which hours we are observing even when we zoom in. We can zoom in even further, 1 h is broken up into 10-min intervals and then those 10-min intervals are broken up into single minute intervals. We also see a standard histogram on the left which represents the data and provides an overview. Each bar represents a 10-min interval. Color is mapped to some data attribute chosen by the user in this case the average call length which we can see up in **Figure 3**. We can see, suddenly during, the evening average call length increases, and we can see over the day the average call length increases throughout the day as an overall trend. The treemap features a fine level of detail. Each rectangle can represent a single

phone call and, in this case, how long each call lasted. At the top level are not individual calls. Each rectangle represents an hour and then each hour is broken

How do we take the chaos of call center data and visualize it to make sense of it? We can use a treemap as one of the ways to visualize call center events. See **Figure 3**. The treemap is a hierarchical data structure. We start with an overview of the data and then zoom in down to different levels of detail. In this case, the size of the rectangles is initially mapped to call volume. The different hours start from midnight to midnight again. We can see when the call center opens and when the call volume increases and

Color is mapped to the percentage of abandoned calls by default. We can notice

#### *From Data Chaos to the Visualization Cosmos DOI: http://dx.doi.org/10.5772/intechopen.82159*

*Computer Graphics and Imaging*

and shape.

**4. Visualization goals**

and its characteristics.

of a call center?

Visualization is also effective for presentation.

**5. Example: visualization of call center data**

practically feasible and will cost too much money.

In its short lifetime, computer graphics has attracted some of the most creative people in the work to its fold," from the classic textbook "Introduction to Computer Graphics" by Foley et al. [2]. Visualization tries to generate images of reality. Visualization exploits our powerful visual system. We have several billion neurons

The numbers of neurons are not very meaningful unless we put them into context. We have 8% of the cortex dedicated touch and 3% dedicated to hearing. We have anywhere from 4 to 10 times of our cortex dedicated to visual processing than the other senses. It makes sense to explore the visual processing power in our brains as opposed to the other senses. It's dedicated to processing color, motion, texture,

Data visualization has some strengths and goals itself. One of the goals of data visualization is exploring data. This may be the case when the user does not know anything about their data set. They just want to find out what it looks like

Users search for trends or patterns in the data. Exploration is for the user that's not very familiar with the dataset. Visualization is also good for analysis: to confirm or refute a hypothesis. An expert may have collected the data for a special purpose and would like to confirm or refute a hypothesis or answer a specific question.

When our exploration and analysis is finished we can present the results to a wider audience. Visualization is also good for acceleration i.e. to speed up something such as a search process. This is often a decision-making process or knowledge

Let's look at this first example of this pattern of knowledge evolution. This is from a business context. One of Swansea University's industry collaborators is called QPC Ltd. They are an innovator in call center technology. Their goal is to understand call center behavior and to increase understanding of calls and all the activities that occur inside a call center. The call centers are staffed with many agents and the agents are answering hundreds of thousands of calls every day. How can we increase our understanding of all those events and what is happening inside

We theoretically could go down the analog or physical route. We could hire more people that stand and observe what's happening in the call center and attempt to take notes to enhance understanding. Or maybe CCTV could be used to try to film everything that's going on. These analogue solutions will be very expensive and not very practical. The analog solution to hire more people for just observation is not

So QPC Ltd. chose the digital solution. They decided to implement an event database. The database logs all events in the call center: who called, when they call, how much time they spend navigating menus inside the interactive voice recognition system (IVR), how long they spent in the queue before speaking to an agent, whether or not they abandon their call, which agent they spoke to, and how long they spoke to each agent etc. That digital solution in the form of a database stores of millions events every day. A call center generates lots of activities. The UK employs

discovery process. We can see things that were otherwise impossible.

dedicated to our visual processing and visual cortex [3]. See **Figure 2**.

**72**

over a million people in call centers or about 5% of its workforce are employed in call centers [4]. It's a large market.

How do we take the chaos of call center data and visualize it to make sense of it? We can use a treemap as one of the ways to visualize call center events. See **Figure 3**. The treemap is a hierarchical data structure. We start with an overview of the data and then zoom in down to different levels of detail. In this case, the size of the rectangles is initially mapped to call volume. The different hours start from midnight to midnight again. We can see when the call center opens and when the call volume increases and reaches its maximum at around lunchtime. Then it starts to descend again.

Color is mapped to the percentage of abandoned calls by default. We can notice call centers trying to avoid abandoned calls. We can observe a big increase in abandoned calls in the evening right after dinner around 7 pm–8 pm. The user can map the calls to different colors at different costs. They can also map the colors to different kinds of events for example abandoned calls or successful calls.

We can also navigate the treemap. We can zoom in smoothly and see more details. We can zoom in to single hour and each rectangle represents a single call. We can visualize individual calls and how long they take. There is a call that lasted 2 h. The unusual calls that last long time jump right out. Probably they spent a long time with an agent—a very dedicated agent spent a long time trying to solve a customer problem. The users can use a clock interface to smoothly zoom and navigate each hour. The software features a smooth zooming and panning operation and with the clock showing. The user does not get lost.

We can easily see which hours we are observing even when we zoom in. We can zoom in even further, 1 h is broken up into 10-min intervals and then those 10-min intervals are broken up into single minute intervals. We also see a standard histogram on the left which represents the data and provides an overview. Each bar represents a 10-min interval. Color is mapped to some data attribute chosen by the user in this case the average call length which we can see up in **Figure 3**. We can see, suddenly during, the evening average call length increases, and we can see over the day the average call length increases throughout the day as an overall trend.

The treemap features a fine level of detail. Each rectangle can represent a single phone call and, in this case, how long each call lasted. At the top level are not individual calls. Each rectangle represents an hour and then each hour is broken

**Figure 3.** *Visualization of call center data. Image courtesy of Roberts et al. [4].*

**Figure 4.** *Focus + context filtering feature of call center data. Image courtesy of Roberts et al. [4].*

up into 10-min blocks. So we have 6, 10 min blocks and then each time in the block is broken up into individual minutes. This is an exciting project because this is the first time that QPC Ltd. have ever seen overview of the call center activity in any way shape or form. As soon as we see the overview we can easily make observations about the call center volume about the increasing level of abandon calls. The average call length is also increasing as we examine the day.

We can filter calls using different sliders. This is the analytical part of the process. This is an example of focus and context visualization. See **Figure 4**. We focus on the calls that spend a longer time in a queue.

We can focus on the inbound calls because call centers have inbound calls and outbound calls. These can be filtered by completed calls. We can combine filters in different ways.

We can click on an individual call and then obtain the most detailed level of information like how much time the caller spent in the IVR navigating menus, how much time they spent queuing and how much time they spent talking to agents. We have two different queuing events, an agent event, a second agent event, back in the queue, back to another agent, back into the queue again. That is a complicated phone call. That is the lowest level of detail. We can also see the type of call in this case a consult call as it shows the number of events, one IVR event for queuing events and four different agent event.

One detailed view shows that the proportion each event as a unit proportion because sometimes the events disappear when they're too short for a traditional version.

## **6. Example: investigating swirl and tumble flow with a comparison of techniques**

Computational fluid dynamics is the engineering discipline of trying to predict fluid flow behavior: fluid motion as it interacts with geometries like cars, ships, or

**75**

**Figure 5.**

*Laramee et al. [5].*

*From Data Chaos to the Visualization Cosmos DOI: http://dx.doi.org/10.5772/intechopen.82159*

the page (**Figure 5** right).

(at the bottom—not shown).

airplanes [5, 6]. If we want to understand how fluid will interact with a surface one way to do, is to build an actual surface and build a flow environment and to visualize the flow with smoke or die or other substances. This is something fluid engineers do. This is a field of engineering. But it is very expensive. Just try a test flight and then attempt to visualize the air flow around the wings with smoke. This is a very expensive experiment. There are analog solutions. Can we come up with a digital solution that makes this investigation more feasible to accelerate the engineering and make it less expensive? That is the inspiration behind computational fluid dynamics (CFD). Here's an example of combustion chamber in an automobile engine (**Figure 5**).

The engineer's goal is to obtain a perfect mixture of fuel-to-air. The way the engineers propose to do that is to create this helical motion inside the combustion chamber (**Figure 5** left) and for the diesel engine example the ideal pattern for the mixture of fluid flow is a tumble motion about an imaginary axis pointing out from

We can build a real physical solution, but it saves time and money to go through a digital process first before we build real solutions. We do not need to build as many real solutions. The digital solution is computational fluid dynamics. As we know in computational fluid dynamics, the number one challenge is the amount of data that simulations generate which is at the gigabyte and terabyte scale. CFD simulations run from weeks to even months even on high performance computing machines. How can we use visualization to make sense of this massive amount of CFD data? Let's look at some data visualization solutions for CFD data, visualizing the swirl and tumble motion. See **Figure 6**. This is the tumble motion example so those are called path or short path lines in the flow direction and the color is mapped to crank angle. We have a piston head moving up-and-down a thousand cycles per minutes

We can also use vortex corelines a combination of these green paths of vortex core lines: centers of swirling flow. See **Figure 7**. When combined with particles, the particles show flow behavior around the vortex cores. This is what we call feature-based flow visualization—looking for special features in the flow [5, 6]. We can visualize the flow at the surface itself using so-called critical points. That's a sink and that's a saddle point. And then there are some curves that connect the different points. Those are special kind of streamline called separatrices and they show the topology of flow. Topology is a skeletal representation of the flow. We can see the time-dependent topology of the flow-sinks, the sources, and the vortex corelines. The vortex core lines are tubes in the middle. We also see a separatrix on the boundaries of the surface and they are animated over time. That's a slow-motion version of time. It

*Investigating swirl and tumble flow with a comparison of flow visualization techniques. Image courtesy of* 

#### *From Data Chaos to the Visualization Cosmos DOI: http://dx.doi.org/10.5772/intechopen.82159*

*Computer Graphics and Imaging*

up into 10-min blocks. So we have 6, 10 min blocks and then each time in the block is broken up into individual minutes. This is an exciting project because this is the first time that QPC Ltd. have ever seen overview of the call center activity in any way shape or form. As soon as we see the overview we can easily make observations about the call center volume about the increasing level of abandon calls. The average

*Focus + context filtering feature of call center data. Image courtesy of Roberts et al. [4].*

We can filter calls using different sliders. This is the analytical part of the process. This is an example of focus and context visualization. See **Figure 4**. We focus

We can focus on the inbound calls because call centers have inbound calls and outbound calls. These can be filtered by completed calls. We can combine filters in

We can click on an individual call and then obtain the most detailed level of information like how much time the caller spent in the IVR navigating menus, how much time they spent queuing and how much time they spent talking to agents. We have two different queuing events, an agent event, a second agent event, back in the queue, back to another agent, back into the queue again. That is a complicated phone call. That is the lowest level of detail. We can also see the type of call in this case a consult call as it shows the number of events, one IVR event for queuing

One detailed view shows that the proportion each event as a unit proportion because

sometimes the events disappear when they're too short for a traditional version.

**6. Example: investigating swirl and tumble flow with a comparison of** 

Computational fluid dynamics is the engineering discipline of trying to predict fluid flow behavior: fluid motion as it interacts with geometries like cars, ships, or

call length is also increasing as we examine the day.

on the calls that spend a longer time in a queue.

events and four different agent event.

different ways.

**Figure 4.**

**techniques**

**74**

airplanes [5, 6]. If we want to understand how fluid will interact with a surface one way to do, is to build an actual surface and build a flow environment and to visualize the flow with smoke or die or other substances. This is something fluid engineers do. This is a field of engineering. But it is very expensive. Just try a test flight and then attempt to visualize the air flow around the wings with smoke. This is a very expensive experiment. There are analog solutions. Can we come up with a digital solution that makes this investigation more feasible to accelerate the engineering and make it less expensive? That is the inspiration behind computational fluid dynamics (CFD).

Here's an example of combustion chamber in an automobile engine (**Figure 5**). The engineer's goal is to obtain a perfect mixture of fuel-to-air. The way the engineers propose to do that is to create this helical motion inside the combustion chamber (**Figure 5** left) and for the diesel engine example the ideal pattern for the mixture of fluid flow is a tumble motion about an imaginary axis pointing out from the page (**Figure 5** right).

We can build a real physical solution, but it saves time and money to go through a digital process first before we build real solutions. We do not need to build as many real solutions. The digital solution is computational fluid dynamics. As we know in computational fluid dynamics, the number one challenge is the amount of data that simulations generate which is at the gigabyte and terabyte scale. CFD simulations run from weeks to even months even on high performance computing machines. How can we use visualization to make sense of this massive amount of CFD data?

Let's look at some data visualization solutions for CFD data, visualizing the swirl and tumble motion. See **Figure 6**. This is the tumble motion example so those are called path or short path lines in the flow direction and the color is mapped to crank angle. We have a piston head moving up-and-down a thousand cycles per minutes (at the bottom—not shown).

We can also use vortex corelines a combination of these green paths of vortex core lines: centers of swirling flow. See **Figure 7**. When combined with particles, the particles show flow behavior around the vortex cores. This is what we call feature-based flow visualization—looking for special features in the flow [5, 6]. We can visualize the flow at the surface itself using so-called critical points. That's a sink and that's a saddle point. And then there are some curves that connect the different points. Those are special kind of streamline called separatrices and they show the topology of flow.

Topology is a skeletal representation of the flow. We can see the time-dependent topology of the flow-sinks, the sources, and the vortex corelines. The vortex core lines are tubes in the middle. We also see a separatrix on the boundaries of the surface and they are animated over time. That's a slow-motion version of time. It

#### **Figure 5.**

*Investigating swirl and tumble flow with a comparison of flow visualization techniques. Image courtesy of Laramee et al. [5].*

#### **Figure 7.**

*A hybrid visualization of particles and vortex core lines. Particles swirling around vortex cores aid the visualization of vortex core strength. Image courtesy of Garth et al. [5, 6].*

is slowed down quite a lot. In reality this is inside of the engine and it's moving up and down hundreds of times per minute. We can also use a volume visualization of the fluid flow specifically for the vortices so the vortices are the areas of swirling motion. The red is mapped to one direction of circular flow and blue the other.

The idea is to visualize the swirl and tumble motion. In this case the tumble motion is about an imaginary axis that points out at the viewer just like a tumble dryer. We can observe an axis pointing out and downwards to the left of the ideal axis. It's a very unstable axis of rotation. That is what these visualizations show an unstable rotational axis.

The computation fluid dynamicists see this and they observe this is not the ideal tumble motion. There's a little bit of tumble motion right around the perimeter of

**77**

**Figure 8.**

animals.

*From Data Chaos to the Visualization Cosmos DOI: http://dx.doi.org/10.5772/intechopen.82159*

behavior go wrong.

the geometry but as soon as we look in the center we still see some swirling motion but it's very far from the ideal kind of tumble motion they strive for. They have to make some modifications to the geometry to try to realize the best mixing possible. And here this is also not the ideal swirl motion. The motion is off-center. Again they have not achieved their target of the ideal motion. That's what these visualizations

One of the things that the engineers like to know is where precisely the flow is misbehaving. They know what they want to see and what they expect to see. They like to see visualizations that highlight unwanted behavior. That's what all users want to see. In fact, that could be in the knowledge evolution pipeline. One of the things QPC would like to see where the abandoned calls are and when people are not behaving properly. Here the engineers can see where the flow does not behave properly. This is one of the strengths of visualization—to show when and where

The next example is from marine biology. Marine biologists would like to understand marine wildlife and how marine wild life behaves. One of the challenges that they face is deep sea underwater diving. How do you study animals that dive deep underwater for hours or even days at a time? How is that possible? Theoretically the solution might be to follow the animal. That might be kind of an approach. But there are some problems with that. People cannot just dive a few kilometers underneath the water. They can try to build submarines or similar but to try to follow a cormorant or tortoise in a submarine is not a very practical solution. It's not feasible, very expensive, and the analog solution is one of those cases where the observation

Marine biologists look to the digital world for a solution. They use sensor devices at Swansea University called a daily diary [7]. They actually capture the animals like a cormorant. They attach the digital sensor or maybe more than one digital sensor to

Then they recapture the sensor a few hours or a few days later. They remove it from the animal and they study the information that it collects about the local environment. It collects information on acceleration, local acceleration, local temperature, pressure, ultraviolet light, and a few other properties. Another challenge currently is that GPS does not work underwater at great depths. It's not possible to just plot a path naively in a dead reckoning fashion the same way we can for land

*Visualization of sensor data from animal movement. Image courtesy of Grundy et al. [7].*

show. They show the difference between the actual and predicted motion.

**7. Example: visualization of sensor data from animal movement**

itself influences the behavior we are trying to study.

the subject and then release it. See **Figure 8**.

#### *From Data Chaos to the Visualization Cosmos DOI: http://dx.doi.org/10.5772/intechopen.82159*

*Computer Graphics and Imaging*

**Figure 6.**

**76**

**Figure 7.**

unstable rotational axis.

is slowed down quite a lot. In reality this is inside of the engine and it's moving up and down hundreds of times per minute. We can also use a volume visualization of the fluid flow specifically for the vortices so the vortices are the areas of swirling motion. The red is mapped to one direction of circular flow and blue the other. The idea is to visualize the swirl and tumble motion. In this case the tumble motion is about an imaginary axis that points out at the viewer just like a tumble dryer. We can observe an axis pointing out and downwards to the left of the ideal axis. It's a very unstable axis of rotation. That is what these visualizations show an

*A hybrid visualization of particles and vortex core lines. Particles swirling around vortex cores aid the* 

*visualization of vortex core strength. Image courtesy of Garth et al. [5, 6].*

*Pathlets visualizing tumble motion of flow. Image courtesy of Garth et al. [6].*

The computation fluid dynamicists see this and they observe this is not the ideal tumble motion. There's a little bit of tumble motion right around the perimeter of

the geometry but as soon as we look in the center we still see some swirling motion but it's very far from the ideal kind of tumble motion they strive for. They have to make some modifications to the geometry to try to realize the best mixing possible. And here this is also not the ideal swirl motion. The motion is off-center. Again they have not achieved their target of the ideal motion. That's what these visualizations show. They show the difference between the actual and predicted motion.

One of the things that the engineers like to know is where precisely the flow is misbehaving. They know what they want to see and what they expect to see. They like to see visualizations that highlight unwanted behavior. That's what all users want to see. In fact, that could be in the knowledge evolution pipeline. One of the things QPC would like to see where the abandoned calls are and when people are not behaving properly. Here the engineers can see where the flow does not behave properly. This is one of the strengths of visualization—to show when and where behavior go wrong.

## **7. Example: visualization of sensor data from animal movement**

The next example is from marine biology. Marine biologists would like to understand marine wildlife and how marine wild life behaves. One of the challenges that they face is deep sea underwater diving. How do you study animals that dive deep underwater for hours or even days at a time? How is that possible? Theoretically the solution might be to follow the animal. That might be kind of an approach. But there are some problems with that. People cannot just dive a few kilometers underneath the water. They can try to build submarines or similar but to try to follow a cormorant or tortoise in a submarine is not a very practical solution. It's not feasible, very expensive, and the analog solution is one of those cases where the observation itself influences the behavior we are trying to study.

Marine biologists look to the digital world for a solution. They use sensor devices at Swansea University called a daily diary [7]. They actually capture the animals like a cormorant. They attach the digital sensor or maybe more than one digital sensor to the subject and then release it. See **Figure 8**.

Then they recapture the sensor a few hours or a few days later. They remove it from the animal and they study the information that it collects about the local environment. It collects information on acceleration, local acceleration, local temperature, pressure, ultraviolet light, and a few other properties. Another challenge currently is that GPS does not work underwater at great depths. It's not possible to just plot a path naively in a dead reckoning fashion the same way we can for land animals.

**Figure 8.** *Visualization of sensor data from animal movement. Image courtesy of Grundy et al. [7].*

#### *Computer Graphics and Imaging*

However, when the user get this data this is what it looks like (see **Figure 8** right). This is a tiny little piece of what it looks like. They plot, for every attribute, magnitude versus time. Acceleration Magnitude is on the y-axis and time is on the x-axis. They claim they can infer animal behavior based on these wave patterns. They can look at a wave pattern and say that it looks like the animal is diving or the animal hunting.

But you can see that that's not easy. This is only a few seconds of data. If you plot the day's worth of data in this fashion, it will wrap around a building a few times. The acceleration has three components: *x, y, z*. These are three components decoupled. In reality they form a vector in 3-space.

The marine biologists asked us if we can drive visualizations that facilitate the understanding of marine wildlife behavior. We have a standard visualization coupled with a new visualization (see **Figure 9**). In the new visual design we can see the geometry of the animals and how the animal is oriented immediately. What Grundy et al. did was reintegrate the *x*, *y*, *z* components of the acceleration and plot them in spherical space rather than time versus amplitude space. And they map the unit vectors onto a sphere and can immediately infer animal behavior. They can also map pressure to the radius. **Figure 9** shows the animal swimming at the surface and then the pressure increases. Pressure mapped to radius represents diving behavior and the diving behavior is very easy to notice. Now that is visualized in spherical space we can observe swimming, hunting, searching behavior. This spherical space is interactive so that we can rotate, zoom, and pan at different angles.

**Figure 10** presents a spherical histogram. The vectors are binned into unit rectangles and the more time an animal spends in a given posture at that orientation,

#### **Figure 9.**

*Spherical visualization of sensor data coupled with standard visualization (bottom). Image courtesy of Grundy et al. [7].*

**79**

**Figure 11.**

**Figure 10.**

the longer histogram bin. We can see the postures and the states that the animals spend a long time in. Rather than focusing on all of the time, the user chooses a special region and then the region is plotted up close in the left-hand corner. The user

*Utilizing data clustering methods of sensor data. Image courtesy of Grundy et al. [7].*

*From Data Chaos to the Visualization Cosmos DOI: http://dx.doi.org/10.5772/intechopen.82159*

*Spherical histogram of sensor data. Image courtesy of Grundy et al. [7].*

*From Data Chaos to the Visualization Cosmos DOI: http://dx.doi.org/10.5772/intechopen.82159*

*Computer Graphics and Imaging*

animal hunting.

However, when the user get this data this is what it looks like (see **Figure 8** right). This is a tiny little piece of what it looks like. They plot, for every attribute, magnitude versus time. Acceleration Magnitude is on the y-axis and time is on the x-axis. They claim they can infer animal behavior based on these wave patterns. They can look at a wave pattern and say that it looks like the animal is diving or the

But you can see that that's not easy. This is only a few seconds of data. If you plot the day's worth of data in this fashion, it will wrap around a building a few times. The acceleration has three components: *x, y, z*. These are three components

The marine biologists asked us if we can drive visualizations that facilitate the understanding of marine wildlife behavior. We have a standard visualization coupled with a new visualization (see **Figure 9**). In the new visual design we can see the geometry of the animals and how the animal is oriented immediately. What Grundy et al. did was reintegrate the *x*, *y*, *z* components of the acceleration and plot them in spherical space rather than time versus amplitude space. And they map the unit vectors onto a sphere and can immediately infer animal behavior. They can also map pressure to the radius. **Figure 9** shows the animal swimming at the surface and then the pressure increases. Pressure mapped to radius represents diving behavior and the diving behavior is very easy to notice. Now that is visualized in spherical space we can observe swimming, hunting, searching behavior. This spherical space

is interactive so that we can rotate, zoom, and pan at different angles.

**Figure 10** presents a spherical histogram. The vectors are binned into unit rectangles and the more time an animal spends in a given posture at that orientation,

*Spherical visualization of sensor data coupled with standard visualization (bottom). Image courtesy of* 

decoupled. In reality they form a vector in 3-space.

**78**

**Figure 9.**

*Grundy et al. [7].*

**Figure 10.** *Spherical histogram of sensor data. Image courtesy of Grundy et al. [7].*

**Figure 11.** *Utilizing data clustering methods of sensor data. Image courtesy of Grundy et al. [7].*

the longer histogram bin. We can see the postures and the states that the animals spend a long time in. Rather than focusing on all of the time, the user chooses a special region and then the region is plotted up close in the left-hand corner. The user

can cluster the vectors into different groups (see **Figure 11**). Assigning each data point to a group that represents some interesting aspect of the animal behavior. The user can adjust the probability of any data sample belonging to one of the clusters. These are clusters of animal postures calculated using *K*-means clustering. Grundy et al. can represent clusters as spheres and then connect the spheres or the postures with edges that represent transitions from one orientation to another successively. We can observe the transitions between various states and postures. We can see the most popular or dominant states. That information pops up immediately.

## **8. Example: visualization of molecular dynamics simulation data**

The goal here is to understand biology at the molecular level. There are analog approaches and solutions to this challenge. Biologists run experiments at the molecular level and try to understand behavior of molecules using experiments and nuclear magnetic resonance spectroscopy. These machines and experiments are very expensive.

The whole field of computational biology attempts to address this challenge in the digital world because it's much less expensive than the analog world. As with any simulation data all the simulation experts generate massive amounts of data. They try to use the latest high-performance computing machines.

This is the interaction of lipids and proteins. See **Figure 12**. That's what this simulation data shows and Alharbi et al. [8] develop some visualization software to enhance understanding of this. These holes are protein and then the paths are lipid trajectories. See **Figure 12**. The computational biologists attempt to visualize the interaction between trajectories and the proteins.

Alharibi et al. are trying to develop visualizations to help computational biologist understand the data with a special focus, in this case, on path filtering. Given the massive number of trajectories hundreds of thousands or millions of trajectories

**81**

provided the original work is properly cited.

\*Address all correspondence to: tcjohn2046@gmail.com

Chao Tong\* and Robert S. Laramee

*From Data Chaos to the Visualization Cosmos DOI: http://dx.doi.org/10.5772/intechopen.82159*

not interactive.

**9. Conclusion**

evolve over time.

**Author details**

property is curvature. There are highly curved paths.

over multiple time steps, is it possible to select a subset of those trajectories based on interesting properties that help the biologists understanding the behavior? Alharibi et al. develop tools for filtering and selection of these trajectories to try to understand behavior. One example is just changing the time step of the simulation or filtering the path by its length. They can focus on shorter paths or on longer paths. They can slide the filter over to long paths or the long trajectories.

The user can filter the paths based on other characteristics. They chose a few properties that they hope will be interesting for the computational biologists. One

The atom trajectories are actually three dimensions, but they're limited to a layer analogous to the biosphere such that the *z* dimension is relatively small compared to the *x* and *y* dimensions. They can visualize projected 2D space or the volumetric 3-space. The user can experiment with 2D versus 3D. The standard visualization packages for this are constrained to a two-dimensional plane and they're generally

This chapter presents a ubiquitous model of knowledge evolution witnessed at a collective level by a society deeply involved with the digital world. It presents a theory supported by a number of case studies ranging from the call center industry, to automotive engineering, to computational biology. It sets the stage for data visualization as a vital technology to evolve our understanding of data and the world it describes to the next level. It will be exciting to witness how this model and pattern

© 2019 The Author(s). Licensee IntechOpen. This chapter is distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/ by/3.0), which permits unrestricted use, distribution, and reproduction in any medium,

Visual and Interactive Computing Group, Swansea University, Swansea, UK

**Figure 12.** *Visualization of molecular dynamics simulation data. Image courtesy of Alharbi et al. [8].*

#### *From Data Chaos to the Visualization Cosmos DOI: http://dx.doi.org/10.5772/intechopen.82159*

over multiple time steps, is it possible to select a subset of those trajectories based on interesting properties that help the biologists understanding the behavior? Alharibi et al. develop tools for filtering and selection of these trajectories to try to understand behavior. One example is just changing the time step of the simulation or filtering the path by its length. They can focus on shorter paths or on longer paths. They can slide the filter over to long paths or the long trajectories.

The user can filter the paths based on other characteristics. They chose a few properties that they hope will be interesting for the computational biologists. One property is curvature. There are highly curved paths.

The atom trajectories are actually three dimensions, but they're limited to a layer analogous to the biosphere such that the *z* dimension is relatively small compared to the *x* and *y* dimensions. They can visualize projected 2D space or the volumetric 3-space. The user can experiment with 2D versus 3D. The standard visualization packages for this are constrained to a two-dimensional plane and they're generally not interactive.

## **9. Conclusion**

*Computer Graphics and Imaging*

very expensive.

can cluster the vectors into different groups (see **Figure 11**). Assigning each data point to a group that represents some interesting aspect of the animal behavior. The user can adjust the probability of any data sample belonging to one of the clusters. These are clusters of animal postures calculated using *K*-means clustering. Grundy et al. can represent clusters as spheres and then connect the spheres or the postures with edges that represent transitions from one orientation to another successively. We can observe the transitions between various states and postures. We can see the

most popular or dominant states. That information pops up immediately.

**8. Example: visualization of molecular dynamics simulation data**

approaches and solutions to this challenge. Biologists run experiments at the molecular level and try to understand behavior of molecules using experiments and nuclear magnetic resonance spectroscopy. These machines and experiments are

They try to use the latest high-performance computing machines.

interaction between trajectories and the proteins.

The goal here is to understand biology at the molecular level. There are analog

The whole field of computational biology attempts to address this challenge in the digital world because it's much less expensive than the analog world. As with any simulation data all the simulation experts generate massive amounts of data.

This is the interaction of lipids and proteins. See **Figure 12**. That's what this simulation data shows and Alharbi et al. [8] develop some visualization software to enhance understanding of this. These holes are protein and then the paths are lipid trajectories. See **Figure 12**. The computational biologists attempt to visualize the

Alharibi et al. are trying to develop visualizations to help computational biologist understand the data with a special focus, in this case, on path filtering. Given the massive number of trajectories hundreds of thousands or millions of trajectories

**80**

**Figure 12.**

*Visualization of molecular dynamics simulation data. Image courtesy of Alharbi et al. [8].*

This chapter presents a ubiquitous model of knowledge evolution witnessed at a collective level by a society deeply involved with the digital world. It presents a theory supported by a number of case studies ranging from the call center industry, to automotive engineering, to computational biology. It sets the stage for data visualization as a vital technology to evolve our understanding of data and the world it describes to the next level. It will be exciting to witness how this model and pattern evolve over time.

## **Author details**

Chao Tong\* and Robert S. Laramee Visual and Interactive Computing Group, Swansea University, Swansea, UK

\*Address all correspondence to: tcjohn2046@gmail.com

© 2019 The Author(s). Licensee IntechOpen. This chapter is distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/ by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

## **References** Chapter 6

[1] Data Visualization Definition. Available from: https:// searchbusinessanalytics.techtarget.com/ definition/data-visualization [Accessed: 2018-06]

New Graphical Password Scheme

Security of authentication is needed to be provided superlatively to secure users' personal and exchange information, since online information exchange systems have been developed according to internet speed. Therefore, aim of the chapter is to develop current graphical password scheme based on recall, create and implement a

new graphical password scheme composed of three layer verification. We programmed our scheme in order to use in section of anonymous information exchange system and user's registration of trading chat room. While we conducted survey on user by accessing participant to our system lied in participants' local network and we analyzed in accordance with the average length of their created password and statistical significant of entropy bit. From the survey of total participants, our scheme has statistical significance, furthermore it was proved that it can

secure form a variety of attacks as entropy bit was high.

Keywords: graphic password, user authentication, QBP scheme and

Textual password mechanisms are the most commonly used, however with known weaknesses. The weaknesses include user fallibility in memorizing long or complicated passwords and the security risks posed by the use of short simple

One motivation for examining the application of graphical schemes is that humans have a remarkable capability to remember pictures. Second background of category is that most of the recall-based graphical passwords systems developed. In addition, another motivation for this research is "what we build is what we remember more". Current forms of commonly promoted graphical passwords can be divided into three general categories: recognition-based systems, cued-recall

Containing Questions-

Implementation

and Junxing Zhang

Abstract

implementation

1. Background

systems and recall-based systems.

passwords.

83

Background-Pattern and

Bulganmaa Togookhuu, Wuyungerile Li, Yifan Sun

[2] Foley JD, Van Dam A, Feiner SK, Hughes JF, Phillips RL. Introduction to Computer Graphics. Vol. 55. Reading: Addison-Wesley; 1994

[3] Ware C. Information Visualization: Perception for Design. Elsevier; 2012

[4] Roberts R, Tong C, Laramee R, Smith GA, Brookes P, D'Cruze T. Interactive analytical Treemaps for visualization of call centre data. In: Proceedings of the Conference on Smart Tools and Applications in Computer Graphics. Eurographics Association; 2016. pp. 109-117

[5] Laramee RS, Schneider J, Hauser H. Texture-based flow visualization on isosurfaces. Constance, Germany: IEEE TCVG Symposium on Visualization (VisSym); 19-21 May 2004:85-90

[6] Garth C, Laramee RS, Tricoche X, Schneider J, Hagen H. Extraction and visualization of swirl and tumble motion from engine simulation data. In: Topologybased Methods in Visualization. Springer; 2007. pp. 121-135

[7] Grundy E, Jones MW, Laramee RS, Wilson RP, Shepard EL. Visualization of sensor data from animal movement. In: Computer Graphics Forum. Vol. 28. No. 3. Wiley Online Library; 2009. pp. 815-822

[8] Alharbi N, Laramee RS, Chavent M. Molpathfinder: Interactive multidimensional path filtering of molecular dynamics simulation data. In: The Computer Graphics and Visual Computing (CGVC) Conference. Vol. 2016. 2016. pp. 9-16

## **References** Chapter 6
