• No results found

Visualization of Multicenter Cyclones Using Multivariate Data

N/A
N/A
Protected

Academic year: 2021

Share "Visualization of Multicenter Cyclones Using Multivariate Data"

Copied!
49
0
0

Loading.... (view fulltext now)

Full text

(1)LiU-ITN-TEK-A--20/053-SE. Visualization of Multicenter Cyclones Using Multivariate Data Emma Nilsson 2020-09-24. Department of Science and Technology Linköping University SE-601 74 Norrköping , Sw eden. Institutionen för teknik och naturvetenskap Linköpings universitet 601 74 Norrköping.

(2) LiU-ITN-TEK-A--20/053-SE. Visualization of Multicenter Cyclones Using Multivariate Data The thesis work carried out in Medieteknik at Tekniska högskolan at Linköpings universitet. Emma Nilsson Norrköping 2020-09-24. Department of Science and Technology Linköping University SE-601 74 Norrköping , Sw eden. Institutionen för teknik och naturvetenskap Linköpings universitet 601 74 Norrköping.

(3) Upphovsrätt Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare – under en längre tid från publiceringsdatum under förutsättning att inga extraordinära omständigheter uppstår. Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säkerheten och tillgängligheten finns det lösningar av teknisk och administrativ art. Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsmannens litterära eller konstnärliga anseende eller egenart. För ytterligare information om Linköping University Electronic Press se förlagets hemsida http://www.ep.liu.se/ Copyright The publishers will keep this document online on the Internet - or its possible replacement - for a considerable time from the date of publication barring exceptional circumstances. The online availability of the document implies a permanent permission for anyone to read, to download, to print out single copies for your own use and to use it unchanged for any non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional on the consent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility. According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement. For additional information about the Linköping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its WWW home page: http://www.ep.liu.se/. © Emma Nilsson.

(4) Abstract. Cyclones are complex weather phenomena, affected by multiple variables such as pressure, wind, temperature and more. Therefore, how cyclones are formed, what affects them and how they can be tracked is still actively researched today. Cyclones can have multiple centers (eyes), which can split and merge during its lifetime, which make them even more complex to define mathematically. In this thesis, how multi-center cyclones can be meaningfully visualized for domain scientists using multivariate visualization is investigated. An important aspect of the visualization is how a cyclone’s spread and boundary can be defined. The result is a visualization where the cyclonic region is defined by segmenting a pressure volume, and then a surface is extracted to get the cyclone’s boundary. Temperature is visualized using color mapping onto surfaces, while the wind velocity is shown using particles. The framework allows domain scientists to affect the visualization by picking criteria for segmenting the volume, color maps, and more. In conclusion, an improved cyclonic region could be defined by using multiple fields instead of only pressure, and the visualization would be improved with a greater detail put into the wind part..

(5) Acknowledgments I would like to thank Ingrid Hotz, my examiner, for giving me the opportunity to do my thesis in the Scientific Visualization group at Linköping University, as well as for encouragement and advice. I would also like to thank my supervisors Wito Engelke and Anke Friederici for their guidance and support. Thank you to everyone in the SciVis group for welcoming me so well. I would especially like to thank Peter Steneteg and Martin Falk, for helping me with everything Inviwo-related as well as general programming.. iv.

(6) Contents Abstract. iii. Acknowledgments. iv. Contents. v. List of Figures. vii. 1. Introduction 1.1 Aim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Research questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Delimitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1 1 2 2. 2. Data. 3. 3. Theory 3.1 Representing the Earth in a visualization 3.2 Scalar field visualization for cyclone data 3.3 Vector field visualization for cyclone data 3.4 Related work in cyclone visualization . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. 6 6 9 11 13. Method 4.1 Tools . . . . . . . . . 4.2 Earth representation 4.3 Textures . . . . . . . 4.4 Surface Generation . 4.5 Particle visualization. 4. 5. 6. 7. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. 14 14 14 16 17 19. Results 5.1 Earth representation . . 5.2 Textures . . . . . . . . . 5.3 Surfaces . . . . . . . . . 5.4 Particle visualization . . 5.5 Combined visualization. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. 22 22 22 25 28 29. Discussion 6.1 Results . . . . . . . . . . . . . . . . . . . . . . . 6.2 Method . . . . . . . . . . . . . . . . . . . . . . . 6.3 Reliability and validity of methods and results 6.4 The work in a wider context . . . . . . . . . . . 6.5 Future work . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. 33 33 35 37 37 37. . . . . .. Conclusion. 38. v.

(7) Bibliography. 40. vi.

(8) List of Figures 2.1 2.2 2.3 2.4. Data domain . . . . . . . . Pressure field example . . Temperature field example Wind field example . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. 3 4 4 5. 3.1 3.2 3.3 3.4 3.5. Common map projections . . . . A cylinder unwrapped to a plane Mapping attributes to height . . Diverging color map . . . . . . . Rendering a particle system . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. 7 8 8 10 12. 4.1 4.2 4.3. Filtering of cyclone tracks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A green-purple divergent color map . . . . . . . . . . . . . . . . . . . . . . . . . . . Seeding methods for particles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 15 16 20. 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 5.15 5.16 5.17 5.18 5.19. Earth representations . . . . . . . . . . . . . . . . . . . Example textures for blend modes . . . . . . . . . . . Blend mode Weighted sum . . . . . . . . . . . . . . . Blend mode Multiply . . . . . . . . . . . . . . . . . . . Blend mode Screen . . . . . . . . . . . . . . . . . . . . Blend mode Overlay . . . . . . . . . . . . . . . . . . . Blend mode Soft Light . . . . . . . . . . . . . . . . . . A cyclone track . . . . . . . . . . . . . . . . . . . . . . Surface of a cyclone, time=23 . . . . . . . . . . . . . . Surface of a cyclone, time=34 . . . . . . . . . . . . . . Surface of a cyclone, time=50 . . . . . . . . . . . . . . Surface of a cyclone, time=1 . . . . . . . . . . . . . . . Generating a surface with a gradient-based criterion . Generating a surface using a mix of criteria, varying k Generating a surface using a mix of criteria, varying p A color mapped surface . . . . . . . . . . . . . . . . . Simulation of wind field in one time-slice . . . . . . . Simulation of wind field in the entire volume . . . . . Multivariate visualization . . . . . . . . . . . . . . . .. 22 23 23 24 24 24 25 25 26 26 26 27 27 28 28 29 30 31 32. vii. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . ..

(9) 1. Introduction. The current climate change, caused by mankind, is predicted to cause harm to both humans and nature. Some areas on Earth may become uninhabitable [1], many species will or have already become extinct [2] and more extreme weather events like floods and droughts may occur, depending on the region of the Earth [3]. Tropical cyclones, a scientific cover term for hurricanes, typhoons and cyclones, is a type of extreme weather event that may be affected by climate change. Another type of cyclone that may be affected by climate change are polar cyclones. While the number of cyclones has not increased in recent years except for in the North Atlantic [4], the intensity of cyclones has increased [3]. Understanding the paths of cyclones is a step in figuring out measures to minimize the damage caused by them. While it is possible to track and visualize the trajectory of the cyclone’s eye, it is also of interest to visualize the boundary of the cyclone, to see how it spreads and behaves over time. A cyclone can be described as a multivariate feature, because it is affected by several different attributes like wind velocity, pressure and temperature. The challenge of multivariate data is how to provide an intuitive visualization while not neglecting parts of the data. One way to simplify visualizing multivariate data is to make the feature-space smaller, but then the issue is selecting representative features for the data. It is important to ensure that the recipient understands what data has been used and can be seen in the visualization.. 1.1. Aim. The aim of this thesis is to explore cyclone data and visualization methods which can be applied to the data. In particular, using data fields to define the boundary of the cyclone and visualizing how different attributes such as pressure and temperature behave on and within the boundary is of interest. The methods chosen for the visualization should be able to handle the following cases: 1. time-varying cyclone boundary, 2. cyclones which consists of multiple centers, 3. cyclones which have multiple centers that merge and split during the cyclone’s trajectory. The data consists of two-dimensional, time-dependent scalar and vector fields. Therefore, the exploration and visualization methods focused on will be methods which can handle 1.

(10) 1.2. Research questions multivariate, two-dimensional data taking into account the time dependency. The data used in the thesis also includes cyclone trajectories, which were generated from a pressure field. The data has been collected from researchers at the Department of Meteorology at Stockholm University and the European Centre for Medium-Range Weather Forecasts (ECMWF). The methods chosen will be evaluated considering the researchers at Stockholm University as the target audience of the visualization, as they are the domain experts and know the context of the data visualization.. 1.2. Research questions. The work done during the thesis will be used to answer the following research questions: 1. How can multiple data sources be meaningfully combined into a single cyclone visualization? 2. What methods can be used for generating surfaces of the boundaries of cyclones, using the tracks of the cyclone’s eye? How can these methods be adjusted for cyclones with multiple centers? 3. How can visualization methods show how a cyclone develops over time using several data fields? The first question is aimed at researching different visualization methods which can be used to show multivariate data in the context of cyclones and then implement some of these to see how the methods work together in practice. The second question is a technical question aimed at researching the different ways a surface can be generated in three dimensions to visualize a scalar data field. In particular, methods which can handle multiple cyclone centers, including changing number of centers over time, are of interest. The third question focuses on evaluating the development of the cyclone over time. Notably, is it possible to see change occurring, or do the methods not effectively communicate time?. 1.3. Delimitations. In this thesis work, no user-evaluation of the effectiveness of the visualizations will be made. Furthermore, the visualization is limited to the following data fields: pressure, temperature, wind and the spatial domain. The visualization methods are only tested for NetCDF volumes from the ECMWF within the visualization tool Inviwo [5].. 2.

(11) 2. Data. The data fields to be used in the visualization are pressure, temperature, wind and position. All data fields are defined in the 2D domain of the entire Earth, where the position is given in latitude and longitude while time is the third dimension, see Figure 2.1. Pressure and temperature are scalar fields, while wind is a two-dimensional vector field. The pressure is defined at mean sea level, while the temperature is given two meters above the surface of the Earth. The wind field has an eastward and northward component, both simulated at a height of ten meters above the surface of the Earth.. Figure 2.1: The figure shows the domain the data is given in. Two dimensions represent the position using latitude and longitude, while time is mapped to the third dimension. The ECMWF provides data fields as volumes with the dimension [360, 181, 248]. Each data point is a voxel, which corresponds to a pixel but in three dimensions. The data is therefore discrete, and the visualization will depend on the resolution of the voxels. In this work, the resolution of the voxels are: 1x1x1. The data has been provided by the ECMWF, and comes from the ERA-Interim dataset which simulates attributes every 6 hours. For the thesis, a dataset of the month of December, 1999 was chosen to generate the visualization. An example of the pressure field at time-slice zero can be seen in Figure 2.2. Note here that the fields use as vertical edges the prime meridian. It is possible to see some geographical information, for example the west coast of South America is visible in the lower right corner of the figure. At this particular time, low pressure can be seen around Antarctica, Northern Europe and the Northern Pacific, marked by green colored regions in the figure. Pink and purple regions mark higher pressure regions. Another example of what a data field can look like is seen in Figure 2.3. Here, we see the temperature at time-slice zero measured 2 meters above the surface, represented by a color 3.

(12) Figure 2.2: A time-slice at time=0 of a pressure field. Green regions represent low pressure areas, while purple regions are high pressure areas. map going from blue to red. The temperature in the field varies between 215 to 315 Kelvin, which in Celsius is between -58.15 to 41.85 degrees. Geographic information can also be seen in this data field, see the outline of Africa in the left part of the figure.. Figure 2.3: A time-slice at time=0 of a temperature field. Blue regions represent cold areas, while red regions are hot areas. Finally, an example of a two-dimensional wind field at time-slice zero is shown in Figure 2.4. The wind is visualized using a hedgehog plot, while the position is shown using a world map image. Notable for the wind field is that the wind is defined in northward and eastward direction, while the domain it exists in is defined in latitude, longitude and time. Besides the volume data fields provided by the ECMWF, the data also consists of cyclone trajectories. These trajectories are provided by researchers at Linköping University, who have developed a tracking algorithm to follow the cyclone eyes. The trajectories are tracked using the pressure data field, where pressure minima are assumed to represent the cyclone’s eye/s. 4.

(13) Figure 2.4: A time-slice at t=0 of a wind field. The black arrows indicate the wind direction. [6]. In general, the eye of a cyclone is characterized by low pressure and high temperature [7], which is why this definition is appropriate. The cyclone trajectories are given as points and lines. A point p = [ x, y, t] is the position of the cyclone in two dimensions, while the third dimension is used for time. A line between two points is presumed to be the movement of the cyclone. The nature of the data makes it possible to represent it as a mesh. However, the data cannot be used immediately for exploring and visualizing the cyclones, because the simulation combined with the tracking results in some points and lines which are not actual cyclones. For example, pressure minima around the equator represent different atmospheric features, which are not relevant for the climate scientist target audience.. 5.

(14) 3. Theory. This chapter covers the theory behind representing the Earth in a visualization as well as visualization methods for scalar fields and vector fields which can be used to visualize cyclones.. 3.1. Representing the Earth in a visualization. Representing the Earth to show the positional field of a cyclone can be done in several ways. Two common ways are: 1. map projections and 2. virtual globes. These representations have different benefits and drawbacks. There are several different map projections which can be used to represent the Earth, such as the Mercator, Robinson and Lambert Conformal Conic. In Figure 3.1, examples of these projections are shown. What all map projections have in common is that they distort at least one attribute. This is because a distortion-free map projection can only be done onto a surface that can be unwrapped as a plane. [8] In Figure 3.2, an example of a surface that can be unwrapped to a plane is shown. The cylinder only needs to be cut along the dashed line to be represented as a plane. In comparison, the Earth is close to a sphere and cannot be unwrapped the way a cylinder can into a plane. For a sphere to be represented as a planar surface, some type of distortion of its attributes, such as cutting it several times or changing its shape, needs to be made. As a consequence, all map projections somehow distort at least one attribute of the Earth whether it be angles, shapes or areas. [8] The choice of map projection is application dependent. A popular choice of map projection for thematic mapping of the Earth is the equirectangular projection, which was already used in the 1980s to map geographic information on computer screens [8]. Thematic mapping is a mapping which only uses geographic data as reference points for the spatial dimension, while highlighting a theme in the visualization [12]. For example, the temperature variation of a geographical area is a thematic mapping. The equirectangular projection distorts area, but keeps distances along meridians equal [8]. Consequently, a pixel in an image directly corresponds to a geographical point, which simplifies mapping other data onto the world map. Another way of representing the Earth is using virtual globes. One interesting approach is visualizing tropical cyclone data on a virtual globe, as done by Liu et al. [13]. A virtual globe is a 3D generated sphere, usually representing Earth, and is used by Liu et al. [13] to show a 3D visualization of cyclones using flow vectors, streamlines and volume rendering. Notable here is that all visualization methods lay flat on the virtual globe. While this is an accurate 6.

(15) 3.1. Representing the Earth in a visualization. (a) Mercator projection, image created by Daniel R. Strebe [9].. (b) Robinson projection, image created by Daniel R. Strebe [10].. (c) Lambert Conformal Conic projection, image created by Daniel R. Strebe [11].. Figure 3.1: Examples of some common map projections, all created by Daniel R. Strebe. representation of the Earth’s attributes, it is hard to get an overview of the entire world at once [8]. Representing 3D data on a sphere can be done using spherical coordinates. Mapping between Cartesian to spherical coordinates is a simple coordinate transformation and the same can be said for mapping latitude and longitude onto a sphere. Issues occur when mapping attributes to the radial dimension. In Figure 3.3a, a flat world map is shown on a plane with a cylinder covering parts of India. As we can see, irrespective of height, the cylinder covers the same 7.

(16) 3.1. Representing the Earth in a visualization. Figure 3.2: A cylinder can be unwrapped into a plane by just splitting it at one vertical line, see the dashed line in the figure. coordinates, and its width is unchanged. However, in Figure 3.3b, where the world map is projected onto a sphere, the cylinder becomes a cone when the height is increased, to cover the same area as the cylinder does in Figure 3.3a. Objects further from the center look larger than objects close to the center, despite covering the same area of the Earth. Therefore, it is important to consider what is mapped to the radius dimension, so misleading representations are clarified to the recipient.. (a) A world map projected onto a plane, where a cylinder marks the area of India. No matter the height, the area is still the same width.. (b) A world map projected onto a sphere, where a cone marks the area of India on different altitudes above the sphere. The height affects the size of the objects.. Figure 3.3: The two images in this figure show the difference between mapping attributes to height above the surface in a Cartesian coordinate system and a spherical coordinate system.. 8.

(17) 3.2. Scalar field visualization for cyclone data. 3.2. Scalar field visualization for cyclone data. Basic methods for visualizing two-dimensional scalar fields are color maps, height fields, isocontours and symbols. In three dimensions, cutting planes is often used, as this technique allows use of all 2D methods on the slice chosen. However, this gives no overview of the entire volume, which may be a drawback. Another method for 3D scalar fields are iso-surfaces, which is an extension of iso-contours. In this section, methods for visualizing two dimensional, time-dependent scalar fields of cyclones is covered. The data used in the thesis contains two scalar fields: pressure and temperature.. 3.2.1. Textures and color. Scalar data fields can be visualized as textures on meshes. For example, a world map on a quad can show where on the earth something is located. Data fields in two dimensions can also be visualized as texture and sometimes, a combination of several textures is needed for a visualization. Two textures can be blended in different ways, and the blend itself is called blend mode. The function mapping the final color of the combined texture is called the blend function. There are several different blend modes, most commonly found in imaging software. Blend modes defined in Adobe Photoshop and for Adobe PDF file format [14] such as Multiply, Screen and Overlay are popular methods when combining two textures. A texture can also be a color map, which can be applied to images and surfaces. Color mapping is a common method in scientific visualization to show how a data field varies. Depending on the application, the best choice for a color map varies. While it is common to use a rainbow color map, this approach is harmful according to Borland et al. [15]. In the same paper they suggest what considerations should be made when choosing a color map, where one important measure is the luminance contrast. A user has an easier time differentiating between values when using a color map with high luminance contrast. For interval data fields such as temperature, Borland et al. [15] state that one should use isoluminant maps, which are maps where the luminance does not vary. This seems contrary to earlier statements, but comes from the fact that using different luminance color makes a recipient think the difference between values is larger than it actually is. Luminance contrast is also used by humans to understand shapes, which is why isoluminant color maps also work well for mapping color on surfaces. Moreland [16] states that using a cyan-to-mauve isoluminant color mapping for surfaces help human perception overall, including people who are color blind. However, isoluminant maps are not considered pleasing to look at, and in the same paper Moreland suggest to use a divergent color map where low values are in blue and high values are in red, see Figure 3.4. Passing through a band of white gives a clear divide between low values, medium values and high values, but the color map avoids making the white part look more significant than it is. Moreland states that this color map achieves a compromise between being aesthetically pleasing and easy to interpret. Other considerations when choosing color maps is that they should highlight interesting regions and be robust against outliers. A color map should always have a legend, so the user easily can understand the relation between the data field and the colors. 9.

(18) 3.2. Scalar field visualization for cyclone data. Figure 3.4: A Moreland diverging color map [16], generated using the gencolormap tool by Martin Lambers [17]. In the context of visualization of scalar fields of cyclones, color maps could be used to visualize scalar fields on cutting planes. The plane is a time-slice from the data volume, where both a world map and the scalar field can be blended together using texture blend modes. It’s also possible to color map scalar fields onto other types of surfaces, without using blend modes.. 3.2.2. Surface generation. Another interesting method for visualizing scalar fields of cyclones is iso-surfaces. The eyes of cyclones are characterized by pressure minima, and their spread can be defined by the difference in pressure allowed between the eye and the rest of the cyclone. The cyclone’s boundary is then the maximum allowed difference in pressure. A common way to define regions in a field is by using iso-surfaces. A famous method for iso-surfaces is Marching cubes [18], in which all points of a constant value are extracted from a volume and then connected using a scheme of rules. Because of the nature of the algorithm, regions where values vary cannot be immediately extracted from a volume. Examples of these types of regions are found in medical imaging where different organs are extracted to be examined. Another case are cyclone regions, where the pressure varies over time in the cyclone’s eye and the region between the eye and the boundary. Cyclones can also have multiple centers that merge and split over time, therefore any surface extraction algorithm should easily handle these types of events. There are several possible ways to extract the surface of a region in which values vary. One option is to slice the volume, use the iso-value of the current slice to extract iso-contours and finally connect the contours from the slices into a surface. There are multiple methods to connect the contours into a surface; most connect pairs of adjacent contours [19]. These type of methods, for example the method by Braude et al. [20], can also work for multiple centers in a cyclone, as several contours can be extracted from each slice. A solution often used in medical visualization is to first use volume segmentation methods to define a region and then extract a surface at the boundary of the region. This approach is done by Huang et al. [21], who first define a region using region growing and then extract a surface from the region boundary. The boundary is improved after the region growing with a boundary tracking algorithm. Finally, an optimal iso-value is chosen from the boundary faces’ values and Marching cubes [18] is applied to get a surface. This method is applicable in the case of visualizing cyclone boundaries, since these are on the edge of regions which can be extracted using region growing. The pressure volume can be segmented using the pressure values from the cyclone’s eye. For each time-slice in the pressure volume, the pressure in the cyclone eye would be extracted. A user-defined boundary can be added to the pressure value to get a threshold value which can be used to grow a region in the volume. When the region has been grown, the boundary value can then be used for extracting a surface using Marching cubes [18]. When region growing in a volume, a seed voxel within the region grown is chosen, which in this case is the voxel which contains the cyclone’s eye. From the seed voxel, each neighbour10.

(19) 3.3. Vector field visualization for cyclone data ing voxel is checked to see if it fulfills a criterion to belong to the region. If the criterion is fulfilled, the voxel is added to a queue of voxels, where the same process is applied until the queue is empty. The choice of the seed voxel greatly affects the result of the algorithm: an ill-fit choice will result in a faulty region. Some algorithms use several seed voxels to solve this issue. The seed voxel can also be picked by the user, or by the algorithm using statistical properties. The fact that several seed voxels can be used in region growing makes the method work for both multiple cyclone centers as well as the varying data values. As earlier mentioned, region growing requires a criterion which a voxel needs to fulfill to belong within a certain region, in this case to belong to a cyclone. This can be the difference allowed in voxel values, but can also be more refined. Huang et al. [21] define three different criteria: one based on voxel values, a second based on the gradient magnitude of the voxels and a final criterion which is a weighted mix of the two previous criteria. These criteria are also applicable to cyclones, as they can help refine the region grown. The first criterion f c a is defined in Equation 3.1, where v is the value of the current voxel and vs the value of the seed voxel. The user-defined coefficient k helps define the difference in values allowed, weighted with the standard deviation σv of the 26 neighbouring voxel values of the seed voxel. If f ca is less than one, the voxel is assigned to the region currently being grown. The higher k the user sets, the larger difference is allowed between voxel values and therefore a larger region is grown.. ( f ca =. |v ´ vs | )ă1 k ¨ σv. (3.1). The second criterion f cb , see Equation 3.2, is similar to the the first criterion, except that instead of using the values of the voxels, the gradient magnitude is used. Huang et al. [21] means this helps finding boundaries of regions, while the first criterion focuses on homogeneous regions.. ( f cb =. |g ´ gs | )ă1 k ¨ σg. (3.2). The third criterion f cc in Equation 3.3 is a weighted sum of the two previous criteria. The user-defined coefficient p decides the mix of the two conditions, the larger p the larger focus on homogeneous regions instead of boundaries.. ( f cc = p ¨ f ca + (1 ´ p) ¨ f cb ) ă 1. 3.3. (3.3). Vector field visualization for cyclone data. There is one vector field in the cyclone data: the wind field. This is a two-dimensional vector field defined in a two-dimensional, time-dependent domain. Common vector field visualization methods such as hedgehog and streamlines can be used on a cutting plane from the wind field volume. Another method, which can be used in the entire volume at the same time, is particle visualization.. 11.

(20) 3.3. Vector field visualization for cyclone data. 3.3.1. Particle visualization. Particle systems were first presented by Reeves [22] to model phenomena such as smoke and fire for CGI in movies. Reeves describes how the particle system should be processed for each frame as well as what attributes each particle should have defined. The list of attributes is as follows: (1) position, (2) velocity, (3) size, (4) color, (5) transparency, (6) shape and (7) lifetime. All attributes are set to an initial value when a particle is created, which can then be changed during the lifetime of the particle. Lifetime is an important attribute as it defines how long a particle exists in the system before it is deleted. The process to render a frame of a particle system is shown by the diagram in Figure 3.5. First, new particles are generated and secondly these are set to their initial attributes. Thirdly, all particles which have exceeded their set lifetimes are deleted from the system. Fourthly, all particles have their attributes updated according to a set of rules. This differs from system to system, but for example the lifetime decreases with the difference in time between two frames. Finally, the particles are rendered and the process starts over again.. Figure 3.5: The process for rendering a particle system for each frame in a sequence. Since Reeves [22] initial particle system, many different methods have been developed to refine these systems. In scientific visualization, particles are mainly used to visualize flow. The particles are inserted into the flow and advected along the vector field to show the motion of the flow. Flow visualization can also show features of the field such as divergence and rotation. One notable approach in this field is the one presented by Krüger et al. [23], in which steady flow is visualized in the 3D domain at interactive speeds by implementing the system on the GPU. However, the wind field of cyclones is an unsteady flow, as it is time-dependent, but the method by Krüger et al. [23] is still relevant because the flow is steady in each time-slice of the wind field volume. It is also applicable because of the use of the GPU to ensure interactive speeds.. 12.

(21) 3.4. Related work in cyclone visualization Another interesting particle system is the autonomous particle system presented by Engelke et al. [24]. Their particle system can adapt to the underlying field by allowing the system to have higher particle density in interesting parts of the flow field. What is considered interesting features - rotation, divergence, etc - is set by the user. Particles are not only generated in areas of interesting features, but also in other regions to provide context. Consequently, the method allows exploration of the flow field while limiting clutter in the visualization.. 3.4. Related work in cyclone visualization. In scientific visualization, a common way to visualize cyclones is by using virtual globes, as cyclones move far across the Earth. An example of visualizing cyclones using virtual globes is the knowledge driven visualization system by Wang et al. [25], which also has built in functionality for identifying polar cyclones. In this system, only the time-dependent wind velocity field is shown, even though pressure data is taken into account when identifying polar cyclones. Previously mentioned is the work done by Liu et al. [13], in which they visualize large scale meteorological data of tropical cyclones on a virtual globe. They use several different methods in their visualization. The wind field can be visualized using flow arrows, which can either be immediately applied to the wind field, or be used to visualize particles tracked through the wind field. The interface also allows visualizing the wind field using streamlines in both 2D and 3D. Previous examples have visualized cyclones on a global scale and only shown the wind velocity field. Cyclones are inherently multivariate features, which is why it is interesting to find multivariate visualizations. An example of a multivariate visualization method which can be applied to cyclones is the Feature Level-Sets method described by Jankowai and Hotz [26], where a surface can be created taking into account multiple variables. In their method, a trait is defined as a geometry or a set of points in attribute space, thereafter the distance between each point in the attribute space and the trait is calculated to generate a trait distance field. This field is then used to go to the spatial domain and generate a feature distance field, which gives level-sets in the spatial domain. They apply the described method to a data set of hurricane Isabel, and set that the trait is defined by high wind speed and high precipitation, which gives a surface of the hurricane. The surface is then color mapped to represent how close each point lies to the values defined by the trait.. 13.

(22) 4. Method. This chapter describes the tools used to create the visualization as well as the implementation of the visualization methods chosen for the data fields.. 4.1. Tools. The visualization is implemented using the extendable visualization software Inviwo [5]. Inviwo has a network editor for designing top-to-bottom data flows, where each node in the network is a processor. There are different types of processors, for example processors for reading input data such as meshes, processors which apply visualization methods to data and processors which can show the final output in a canvas. The module CycloneVis gathers all processors, data structures and more implemented for the thesis work. As previously mentioned, the cyclone tracks includes incorrect points and edges. The incorrect data is removed by representing the cyclone track mesh as a graph and then filtering the graph using Breadth-First-Search (BFS). The graph representation is created by setting the points of the mesh as vertices and the lines between points as edges. The graph data structure used for cyclone track loading and filtering is an extended version of the NGraph library for C++ created by Roldan Pozo [27]. While NGraph covers the basic graph functionality, it is extended to make it possible to store data for vertices and edges, as well as filtering using BFS on both vertex and edge data. The graph stores as vertex data the position and time of the cyclone point, while for edge data the length of the edge between two vertices. Filtering can be done based on two position ranges and the length of edges.. 4.2. Earth representation. The earth is represented in two ways: as a map projection and as a sphere. The cyclone tracks are given within the volume they exist and as the volume represents 2D space and time, the cyclone tracks are already in the map projection format. Where the cyclone exists on the Earth in this representation is clarified using a map texture on a quad. The map projection for the textures is the equirectangular projection, since this is a common choice for thematic mapping. Representing the Earth as a sphere requires transforming the cyclone tracks. The cyclone tracks exist in a Cartesian world space and are first transformed into a latitude, longitude and altitude coordinate system, where (X, Y, Z) is mapped to the longitude, latitude and altitude respectively. The lat-long-alt system is transformed to spherical coordinates and finally back. 14.

(23) 4.2. Earth representation to Cartesian coordinates to get the cyclone tracks wrapped around the Earth in the Inviwo interface. The Earth in itself is represented as a sphere with a world map texture applied. As mentioned earlier, the cyclone tracks are filtered using a graph. An example of the difference between a unfiltered and filtered graph can be seen in Figure 4.1. In the filtered graph, all graph vertices and edges between latitude 30 degrees and -30 degrees have been filtered away.. (a) The cyclone tracks represented as a mesh where no vertices or edges have been filtered. The tracks are shown along a map to see the positon of the tracks in the space of the world.. (b) The cyclone tracks represented as a mesh which has been filtered to remove all vertices and edges between 30 degrees latitude and -30 degrees latitude.. Figure 4.1: An example of the visual difference between filtering vs not filtering cyclone tracks. The filtering of the graph can be based on either position or the edge length. The position filtering is divided into two ranges, which makes it possible to filter out data in the equator but keep information near the poles and vice versa. The edge filtering also has options: filter on Euclidean distance in Cartesian space, or filter on the great circle distance using the Haversine formula. Both distance formulas can be used regardless of the chosen representation of the Earth. The Euclidean distance in Cartesian space is defined as in Equation 4.1, where d is the distance and xn , yn and zn , n P [1, 2], are the positions of the points in the three dimensions. b d=. ( x2 ´ x1 )2 + ( y2 ´ y1 )2 + ( z2 ´ z1 )2. (4.1) 15.

(24) 4.3. Textures A great circle is a circle on a sphere which shares its’ center point with the sphere, while the great circle distance is the distance along the circle on the surface of the sphere. The distance between two points on a circle is defined as in Equation 4.2, where d is the distance, r is the radius of the circle and ∆σ is the central angle between the points. d = r ¨ ∆σ. (4.2). This formula cannot be used directly to calculate the distance along a great circle, since the calculation of the central angle is not straightforward. However, when the points are defined using latitude and longitude, the great circle distance can be calculated by using the Haversine formula. The haversine function of an angle is defined in Equation 4.3, where θ is the angle. θ hav(θ ) = sin2 ( ) 2. (4.3). The Haversine formula uses the haversine function to calculate the central angle between two points, see Equation 4.4. In the formula ∆σ is the central angle φ1 and φ2 are the latitudes of point 1 and 2 respectively, and λ1 and λ2 are the longitudes of the two points. hav(∆σ ) = hav(φ2 ´ φ1 ) + cos(φ1 ) ¨ cos(φ2 ) ¨ hav(λ2 ´ λ1 ). (4.4). The distance is calculated by taking the archaversine of the central angle. This can also be done using arctan. The final distance calculation is shown in Equation 4.5.. d = 2 ¨ r arctan(. 4.3. hav(∆σ ) ) 1 ´ hav(∆σ ). (4.5). Textures. The position of the cyclone can be shown by using a map projection onto a quad combined with the cyclone tracks, as previously described. While the surface does visualize the pressure, for clarity, the world map texture is mixed with a texture of the pressure field at the chosen time point. The texture is color mapped according to the pressure values. The color map for the pressure is a divergent color map and can be seen in Figure 4.2, where green represents low pressure and purple is high pressure.. Figure 4.2: A Moreland diverging color map [16], generated using the gencolormap tool by Martin Lambers [17]. This color map is used to visualize pressure on a quad, where low pressure is green and high pressure is purple. The two textures are blended using blend modes. Five different blend modes are defined: Weighted sum, Multiply, Screen, Overlay and Soft Light. The last four are common blend modes found in imaging software, the implementation refers to the Adobe PDF documentation [14]. 16.

(25) 4.4. Surface Generation In the following equations, the blend function B(CB , CS ), where CB is the RGB color of the background layer and CS is the RGB color of the source layer, defines the output color CR of the blend mode. Each blend function is applied on each color channel, where the channels of CB are represented by cb in the equations while color channels of CS are defines as cs . The Weighted sum blend function in Equation 4.6 makes it possible for the user to define how the textures are blended in the Inviwo interface. This is done by the user setting the weighting coefficient k P [0, 1].. B ( c b , c s ) = k ¨ c b + (1 ´ k ) ¨ c s. (4.6). The Multiply blend function is defined as in Equation 4.7. The output color CR will always be a darker color than the input layer colors, as all color channels have values defined between [0, 1].. B(cb , cs ) = cb ¨ cs. (4.7). The Screen blend function is defined as in Equation 4.8. Multiplying the complement of the input colors and then finally taking the complement of the multiplication, yields a brighter output color CR . B(cb , cs ) = 1 ´ [(1 ´ cb ) ¨ (1 ´ cs )]. (4.8). The Overlay blend function is defined as in Equation 4.9. This function keeps the darker and lighter parts of the background layer by using a multiply function for darker colors and a screen function for lighter colors. # 2 ¨ cb ¨ cs if cb ă 0.5 B(cb , cs ) = (4.9) 1 ´ 2 ¨ (1 ´ cb ) ¨ (1 ´ cs ) otherwise The Soft Light function in Equation 4.10 emulates shining a soft light on the background layer. The function D ( x ) is used to fix a discontinuity issue caused by having different functions depending on the value of cs . # cb + (2cs ´ 1)( D (cb ) ´ cb ) if cs ą 0.5 B(cb , cs ) = cb ´ (1 ´ 2cs )cb (1 ´ cb ) otherwise #? (4.10) x if x ą 0.25 and D ( x ) = ((16x ´ 12) x + 4) x otherwise The user can switch between the blend modes to see how the different blend modes work for the chosen images. Note that only two images can be blended together in the implementation.. 4.4. Surface Generation. The pressure of the cyclone is visualized using both textures from the pressure volume as well as a surface. The surface represents the boundary of the cyclone and the chosen method for 17.

(26) 4.4. Surface Generation generating the surface from the pressure volume is region growing. Region growing works for the merge and split events which occurs during the lifetime of a cyclone and the vertices of the cyclone tracks can be used as seed points to the region growing algorithm. The processor implemented in Inviwo takes the pressure volume and the cyclone tracks as input and outputs a volume in which each voxel is defined to be either within the region for the cyclone or outside it. The cyclone definition depends on the criterion chosen for adding voxels to the region: three of the criteria are from the RGVis paper by Huang et al. [21], while the fourth criterion is a comparison between voxel values and a user-defined boundary. The fourth criterion is defined in Equation 4.11, where v is the value of the current voxel, vs is the value of the seed voxel and b is the user-defined boundary, which can be set in the property panel of the processor in Inviwo.. |v ´ vs | ă b. (4.11). The criterion in Equation 4.11 is quite similar to the first criterion in Equation 3.1 from RGVis, except that no statistical measures are used. The output volume value range depends on the criterion chosen. First, all voxels in the output volume are initialized to the maximum pressure value in the input pressure volume. When the region growing algorithm is applied, voxel values are changed if they are defined to be within the cyclone or on the boundary of the cyclone region. The voxel value range for the cyclone region depends on the criterion chosen. For the RGVis [21] criteria, the value range of the cyclone region varies between [0, 1] while for the fourth criterion the value range is between [0, b]. The voxels which are traversed, but not within the cyclone region are still set to the value calculated by the criterion, so the edges are smooth when Marching cubes [18] is applied to generate the surface from the volume. The pseudo code for the region growing algorithm used is defined in Algorithm 1. The region growing function takes one seed voxel, but if there are several seed voxels the same algorithm can be applied to each one. Since the output volume voxels are only accessed if they have not been accessed before, there is no risk of extending the growing from the same voxel multiple times. The surface is generated from the volume segmentation created by the region growing processor. The volume is given to a Surface extraction processor in Inviwo, which also takes an iso-value for extraction. The iso-value depends on the criterion chosen: for the RGVis criteria [21], the value range in the output volume for the region is [0, 1] which is why 1 is chosen as the iso-value. For the criterion with the user-set boundary, the boundary value b is chosen as the iso-value. The surface is extracted using Marching cubes [18] in Inviwo, which outputs a triangle mesh of the surface.. 4.4.1. Color mapping surfaces. The temperature data field is color mapped to the surface generated from the pressure volume. This is done by mapping temperature values from temperature volume to the texture coordinates of the surface points. Texture coordinates are only defined between [0, 1], which means that the temperature needs to be scaled for the values to be mapped to a color range. The mapping used for the texture coordinates is defined in Equation 4.12, where u is the ucoordinate of the texture coordinate, voxelTemp the temperature of the voxel in which the 18.

(27) 4.5. Particle visualization Algorithm 1: Region growing algorithm function regionGrowing (seedVoxel ); Input: the index of the seed voxel. 2 // Data accessers 3 inVolumeData.get(); 4 outVolumeData.get(); 5 queue.init(); 6 while queue is not empty do 7 currentVoxel = queue.front(); 8 queue.pop_front(); 9 for neighbourVoxel in currentVoxel.neighbours do 10 if withinDimensions(neighbourVoxel) then 11 criterionValue = criterion(neighbourVoxel); 12 if criterionFulfilled(neighbourVoxel) then 13 if outVolumeData[neighbourVoxel] has not been accessed then 14 outVolumeData[neighbourVoxel] = criterionValue; 15 queue.push_back(neighbourVoxel); 16 end 17 else 18 outVolumeData[neighbourVoxel] = criterionValue; 19 end 20 end 21 end 22 end 23 return 1. current surface point is within and finally, minTemp and maxTemp are the minimum and maximum temperature respectively. The scaled value is set to the u-coordinate because this is the coordinate used by a Rasterization renderer in Inviwo to map color.. u=. voxelTemp ´ minTemp maxTemp ´ minTemp. (4.12). The color mapping which is used is the divergent color map in Figure 3.4 by Moreland [16], generated using gencolormap by Martin Landers [17]. The color map is exported to a PNG file, which is read by Inviwo and applied as a transfer function to the surface.. 4.5. Particle visualization. The wind field cannot immediately be used along with particles, as it is not defined in the domain it exists in. Before it can be visualized, it has to be transformed so the components move in longitude (long/s) and latitude (lat/s) instead of eastward (m/s) and northward (m/s). First, the length in meters of one degree longitude and one degree latitude respectively needs to be defined. This definition is done by representing the Earth with WGS84 ellipsoid, which has a semi major axis a = 6378137.0m, the radius of the Earth at the equator, and a semi minor axis b = 6356752.314245m, the radius of the Earth from the center to a pole [28]. The length of a degree latitude and longitude respectively only varies depending on the latitude of the current point. Firstly, the length of a degree latitude can be calculated by estimating the distance between two degrees along a meridian. This distance is described by an 19.

(28) 4.5. Particle visualization integral which can be simplified to the expression in Equation 4.13 [29]. In Equation 4.13, latm is the latitude degree length in meters, a is the semi major axis of the WGS84 b ellipsoid, e is the eccentricity of the ellipsoid, and lat is the latitude. The eccentricity e = ellipsoid measures the elongation of the a axis compared to the b axis.. latm =. a2 ´b2 a2. πa(1 ´ e2 ). [29] of an. (4.13). 3. 180˝ (1 ´ e2 sin 2 lat) 2. The length of a degree longitude only depends on the radius of a circle of latitude, as it can be measured along the arc of the surface. The length of a degree longitude on the WGS84 ellipsoid is shown in Equation 4.14 [29], where longm is the longitude in meters, a is the semi major axis of the WGS84 ellipsoid, lat is the latitude in degrees and e is the eccentricity of the ellipsoid.. longm =. 180˝. πa cos lat ? 1 ´ e2 sin 2 lat. (4.14). The vector field can now be scaled to be defined in [long/s, lat/s] instead of [m/s, m/s]. The scaling is defined in Equation 4.15, where u and v represent eastward and northward direction respectively, ulong is the movement in degrees eastward, vlat is the movement in degrees northward, while um and vm are the same directions but in meters instead.. [ulong , vlat ] = [. long ¨ um lat ¨ vm , ] longm latm. (4.15). The particle visualization was done using an already existing processor in Inviwo, Stream Particles. The processor requires a volume vector field and seeds, which are the starting points in the field for the particles. Seeds are generated using another processor, Seeding Points 3D. The processor makes it possible to use different geometrical seeding regions, examples can be seen in Figure 4.3. The first example is in Figure 4.3a, which seeds particles on a plane within the vector field. The plane is at timeslice zero. The second example, Figure 4.3b, shows seed points generated within an ellipsoid. The final example, Figure 4.3c, seeds points randomly within the volume of the vector field.. (a) Plane. (b) Ellipsoid. (c) Random. Figure 4.3: Examples of different seeding methods for generating initial particle positions. In the figure, 10 000 particles have been seeded within the the vector field As the vector field only has latitude and longitude directions defined, the particles will only move in the time slice they are generated in. The Stream Particles processor defines particles with a position, lifetime, radius and color. The radius and color depends on the velocity of the vector field at the position of the particle. 20.

(29) 4.5. Particle visualization The color is mapped according to a transfer function, where particles with low velocity are blue and particles with high velocity are red. All the attributes are defined in frame buffers, so that the particles can be transformed on the GPU. After the initialization, the particles are moved through the field using advection. Consequently, the particles do not define their own velocity, instead the field is sampled each frame. The particle’s new position is calculated by integrating using Runge-Kutta 4th (RK4) order along the streamlines of the field. The definition of RK4 is shown in Equation 4.16, where h is the step size, xn is the current position of the particle while q1, q2 , q3 and q4 are velocities sampled in the field. The new position, xn+1 , is calculated by adding all the sampled velocities together by weighting them according to how much they were sampled. q~1 = h ¨ vField( x~n ) q~2 = h ¨ vField( x~n + 0.5 ¨ q~1 ) q~3 = h ¨ vField( x~n + 0.5 ¨ q~2 ). (4.16). q~4 = h ¨ vField( x~n + q~3 ) 1 q + 2q~2 + 2q~3 + q~4 ) xn~+1 = x~n + (~ 6 1 The result of the integration largely depends on the step size used when integrating, but even so the error caused by the numerical integration using RK4 is only O(h4 ). Therefore, the smaller step size, the smaller error. In the implementation, the step size h is ∆t ¨ v a , where ∆t is the time between frames and v a is the advection speed. The advection speed can be set by the user, and the larger advection speed, the quicker the particles move through the field.. 21.

(30) 5. Results. The results of the different implemented visualization methods are presented in this chapter. Each visualization method is shown, and then all methods are combined into one final visualization. All methods use the December 1999 data set collected from ERA Interim by the ECMWF.. 5.1. Earth representation. The Earth can be represented in two ways, as stated before. These two representations are shown in Figure 5.1. In Figure 5.1a, an equirectangular world map texture is mapped onto a quad. Above the quad the cyclone tracks are shown, where the time is represented as the altitude above the quad. The quad can be moved through time to slice the graph at different time-points. In Figure 5.1b, the Earth is shown as a sphere. The cyclone tracks are wrapped around the Earth, and the time has been mapped to the radial dimension.. (a) The Earth represented as a map. The cy- (b) The Earth represented as a sphere. The clone tracks are visualized above the map to show cyclone tracks are wrapped around the sphere, where the tracks exist in the world. showing where the cyclone tracks exist on the Earth.. Figure 5.1: The two different Earth representations created. The combined visualization uses the map presentation, as this presentation distorts time the least.. 5.2. Textures. Two textures can be blended using the different blend modes implemented. Two images are used to visualize how the different blend modes work together, see Figure 5.2. The first 22.

(31) 5.2. Textures image is the pressure field at time-slice zero, where the green-purple color map in Figure 4.2 has been used to visualize the pressure. Green areas are low pressure regions, while purple regions show high pressure areas. The second image is a equirectangular world map, where water is marked as white and landmasses are grey.. (a) The pressure field at time-slice zero. Green (b) An equirectangular world map, centered on the represents low pressure, while purple shows high pacific ocean. pressure.. Figure 5.2: The two textures which will be used to show the different blend modes implemented. Notable here is that the order of the images largely affect the result of the blend mode, which is why the choice of which image is the backdrop vs the forefront is important to get a clear visual representation. In the following figures, the pressure field is the backdrop and the world map is the forefront image. In Figure 5.3, the result of blending the two textures in Figure 5.2 is shown. The blend coefficient was set to 0.5 in this case. The forefront darkens the backdrop when blended together, but it is still visible which areas are low and high pressure regions respectively. Since water is marked by white in the world map texture, the colors of the pressure field become faded across oceans.. Figure 5.3: The two images in Figure 5.2 blended using the blend mode Weighted sum. The blend coefficient was set to 0.5. The result of blending the two textures in Figure 5.2 with the blend mode Multiply is shown in Figure 5.4. All colors have been darkened significantly, but it is still easy to distinguish high pressure regions and low pressure regions. Figure 5.5 shows the result of using the blend mode Screen to mix the two textures in Figure 5.2 together. Overall, the image is brightened considerably, and areas covered by water show nothing of the pressure field. It is still possible to see the pressure field on land masses, but its colors are faded and in some parts hard to distinguish, see Antarctica in the figure.. 23.

(32) 5.2. Textures. Figure 5.4: The two images in Figure 5.2 blended using the blend mode Multiply.. Figure 5.5: The two images in Figure 5.2 blended using the blend mode Screen. The blend mode Overlay has been used on the textures in Figure 5.2 to generate Figure 5.6. Compared to the Screen blend mode, it is possible to see some parts of the pressure field in water regions; however only minima or maxima are clearly visible. The pressure field is clearly visible on land masses however.. Figure 5.6: The two images in Figure 5.2 blended using the blend mode Overlay. The blend mode soft light gives the appearance of shining a soft light on the backdrop image, and the result of using it on the textures in Figure 5.2 is shown in Figure 5.7. The pressure field is distinguishable in all parts of the image, even though it is darkened across land masses. It is also easy to point out minima and maxima in the image. To generate the final combined visualization, the blend mode soft light is used. The reasons are that it shows both the map and the pressure field clearly across the entire Earth, without significantly darkening or lightening the image. Other blend modes may be more appropriate depending on which textures is used when blending. For instance, a world map where the water area is not marked white may give a clearer image when using the blend mode Screen. 24.

(33) 5.3. Surfaces. Figure 5.7: The two images in Figure 5.2 blended using the blend mode Soft Light.. 5.3. Surfaces. The boundary of a selected cyclone is defined using surfaces. The surfaces are generated by using the cyclone tracks as seed points for the region growing algorithm, and then applying marching cubes to the created volume. If the cyclone tracks are not filtered, the entire volume will be set to be a cyclone. Therefore, cyclone tracks have been selected from the graph, so that smaller surfaces surrounding lower pressure regions can be generated. In the following examples, a short cyclone track only spanning a region in the North Pacific Ocean is used, see Figure 5.8, where the track is marked by black lines. The quad beneath the track visualizes the pressure field and a world map, using the blend mode soft light. The cyclone track starts at time-slice 28 in a green-colored area, which is a low pressure region and in this case defined as a cyclone.. Figure 5.8: The cyclone track, shown with black lines, which is used for generating a surface of the boundary of the cyclone. Depending on which criterion is used for the region growing algorithm, a different segmentation will occur. The subsequent images were generated by using the boundary criterion defined in Equation 4.11, where the user-set boundary was set to 750 Pa. This means that the cyclone is defined to be within 750 Pa from the pressure measured in the cyclone tracks. The resulting cyclone is shown in Figure 5.9. The cyclone found starts in time-slice 23, even though the track used to find it starts in time-slice 28. The cyclone surface goes from time-slice 23 to time-slice 51. The cyclone moves from the sea close to Japan in the North Pacific towards the west coast of North America, crossing the coast at the end of its path. In Figure 5.10, the cyclone is shown at time-slice 34. Looking at the area where the quad slices the surface, we can see that the surface covers the low pressure region, but does not extend out to pink areas.. 25.

(34) 5.3. Surfaces. Figure 5.9: The surface which defines the boundary of the cyclone. The underlying quad shows the pressure field at time-slice 23, which is the time-slice of the earliest surface point.. Figure 5.10: The surface which defines the boundary of the cyclone. The underlying quad shows the pressure field at time-slice 34. As earlier stated, all visualization methods need to be able to handle cyclone with multiple centers, which may split or merge. The chosen region growing method can handle this case, as shown in Figure 5.11. The surface is shown at time-slice 50, and here we can see that the low pressure region has split into two regions. Furthermore, the surface covers both regions, so the split event has not affected the definition of the boundary of the cyclone, which was required by the case.. Figure 5.11: The surface which defines the boundary of the cyclone. The underlying quad shows the pressure field at time-slice 50.. 26.

(35) 5.3. Surfaces While the previously shown cyclone boundary surface was generated using the boundary criterion in Equation 4.11, there are three other criteria which can be used to get a surface for the cyclone boundary. Using the same cyclone tracks, examples of using these criteria are shown in the following examples. In Figure 5.12, the homogeneity criterion in Equation 3.1, k = 1, was used to segment the pressure field. This yields a much larger cyclone region, which starts at time-slice zero and does not disappear until time-slice 67. Going through the time-slices, one can see that in each slice different low pressure regions are included, but these have then been connected in previous time-slices.. Figure 5.12: The surface, generated using the criterion in Equation 3.1, which defines the boundary of the cyclone. The underlying quad shows the pressure field at time-slice 1. The value of k can impact the result of the region growing, as this sets the difference allowed between values in seed voxels and values in the surrounding voxels. This is exemplified in Figure 5.13, where the regions have been defined using the criterion in Equation 3.2, which aims at finding the edges of regions. Both images have been rendered using a Rasterization renderer which makes it possible to see structures within regions as well. Figure 5.13a shows the result of setting k = 1 in Equation 3.2, where the entire volume field has been included within the surface. We can also see smaller regions, marked in dark shades, within the defined surface. Setting k = 0.1 instead yields the result in Figure 5.13b, in which a small surface with several holes is shown. This surface covers in area and time a similar region as to the one in Figure 5.9.. (a) The surface of the cyclone using the criterion (b) The surface of the cyclone using the criterion in Equation 3.2, where k = 1. The surface covers in Equation 3.2, where k = 0.1. The surface covers the entire volume data field. a small region in the North Pacific Ocean, going from time-slice 22 to time-slice 61.. Figure 5.13: Examples of defining the cyclone region using the gradient based criterion in Equation 3.2. Resulting surfaces vary depending on k. Finally, the weighted sum criterion in Equation 3.3 can also be used to define the region of a cyclone. In this equation there are two parameters which can vary: k and p, where k sets the allowed difference in absolute pressure value and p defines the weighting of the two criteria. A higher p includes more weight from the first criterion in Equation 3.1 aimed at finding homogeneous areas, while a lower p focuses more on the boundary of regions, courtesy of the second criterion defined in Equation 3.2.. 27.

(36) 5.4. Particle visualization The results of using the weighted sum criterion and varying k is shown in Figure 5.14, where k P [0.5, 1, 2] and p = 0.5. The underlying quad in the images shows the pressure field at time-slice 21, and once again the cyclone region stretches across the North Pacific Ocean.. (a) k = 0.5.. (b) k = 1.. (c) k = 2.. Figure 5.14: The results of using the weighted sum criterion in Equation 3.3 and varying k. The larger k, the larger the cyclone region is. The results of using the weighted sum criterion and varying p is shown in Figure 5.15, where p P [0.2, 0.5, 0.8] and k = 1. The cyclone region exists in the North Pacific Ocean, and the underlying quad shows the pressure field at time-slice 21.. (a) p = 0.2.. (b) p = 0.5.. (c) p = 0.8.. Figure 5.15: The results of using the weighted sum criterion in Equation 3.3 and varying p. The larger p, the more weight is put on including homogeneous regions rather than the boundaries of these regions. In the final combined visualization, the simple boundary criterion from Equation 4.11 is used to generate a surface around the cyclone region.. 5.3.1. Color mapping on surfaces. The temperature scalar field is shown using color mapping on surfaces. An example can be seen in Figure 5.16, where the temperature is mapped using a Moreland color map going from mauve to blue onto a surface. The underlying quad also uses color mapping for pressure, where low pressure is marked by green and high pressure is marked by purple. These two color maps will be used for respective field in the final visualization. It is also possible to see that the temperature within the cyclone region varies, the further North the lower the temperature and vice versa.. 5.4. Particle visualization. The wind field is visualized using particles. As earlier described, different seeding points may yield different results. First, the result of seeding 10 000 particles in an individual timeslice is shown in Figure 5.17. Seed points are generated in a plane on time-slice zero, and the particles are set to have an advection speed of 1000 advections / second while 100 advections are made per frame. This makes it so that it is possible to see movement in the field despite the fact that the particles move across great distances. The velocity of the particles are color mapped, where blue colors are slower particles and red particles move relatively fast. The underlying quad of the time-slice is color mapped to show the pressure field. 28.

(37) 5.5. Combined visualization. Figure 5.16: A surface of a cyclone boundary, color mapped to show the temperature on its edges. The underlying quad shows the pressure across the world right before the cyclone forms. As more time passes during the simulation, particles converge into different paths. This can be seen in Figure 5.17b, when approximately ten seconds have passed. It’s possible to see particles rotating around low pressure areas where they in general have higher velocity as marked in red. The final image of the simulation is shown in Figure 5.17c. Here, thirty second have passed, and even more so the particles have converged into paths, compared to earlier. The rotating movement around low pressure areas is a clear sign of cyclones. Instead of only looking at one time-slice, it’s also possible to look at the entire volume. In Figure 5.18, the movement through the volume is shown at four different time-points: 1 s, 10 s, 30 s and 60 s. Here we see that the 10 000 particles used converge to paths within the timeslice they were generated, but not all time-slices keep particles throughout the simulation. Because there is no time attribute in the wind field, the particles never leave the time-slice they were seeded within. It is possible to see some rotational behaviour, but no overall trends are shown.. 5.5. Combined visualization. For the final combined visualization, the cyclone track in Figure 5.8 was used. The pressure was visualized by a surface and color mapped on the underlying quad, blended with a world map texture using the blend mode Soft light. The surface was generated by setting b = 1000 in criterion 4.11. Temperature was color mapped onto the surface, and finally, particles visualized the wind field. In Figure 5.19, three parts of the visualization can be shown. In the figure, the time-slices shown are: 23, 34 and 50. For each time-slice, particles are seeded in the plane and it is possible to see how they circle around the cyclonic region defined by the surface. Each image was taken 5 seconds into the simulation of the wind field.. 29.

(38) 5.5. Combined visualization. (a) s = 1. (b) s = 10. (c) s = 30. Figure 5.17: A simulation of the wind field at time-slice zero. The image show the field one, ten and thirty second from start respectively and over time it is visible how the particles rotate around some low pressure minima. The underlying quad shows the pressure field.. 30.

(39) 5.5. Combined visualization. (a) s = 1. (b) s = 10. (c) s = 30. (d) s = 60. Figure 5.18: A simulation of the wind field at time-slice zero. The image show the field one, ten and thirty second from start respectively and over time it is visible how the particles rotate around some low pressure minima. The underlying quad shows the pressure field.. 31.

(40) 5.5. Combined visualization. (a) Time-slice 23, s=5. (b) Time-slice 34, s = 5. (c) Time-slice 50, s = 5. Figure 5.19: The combined visualization of all chosen variables. A surface, defining the cyclonic region, was generated by setting b to 1000 in criterion 4.11, and onto it the temperature is mapped. The underlying quad mixes a color map of the pressure and a world map using the blend mode Soft light. Finally, black particles simulate the wind field. In the different time-slices shown, we can see how the particles rotate around the cyclonic region.. 32.

(41) 6. Discussion. The results show that multiple data sources can be combined into a single cyclone visualization, although its effectiveness has not been studied. The methods used account for the three cases presented in the aim: cyclones which (1) changes boundary over time, (2) consist of multiple centers and (3) have centers which merge and split over time. In this chapter, the results and methods used will be discussed and put into a wider context, as well as identifying subject areas for future work.. 6.1. Results. In this section, interesting aspects of the result will be highlighted. The result of the visualization methods and the implications of these will be discussed in order, concluding with a discussion of the combined visualization.. 6.1.1. Earth representation. In the final combined visualization, the map projection was chosen to show where the cyclone exists on the Earth. This representation has the benefits of making the positional field easy to see and understand, but even so it still distorts areas and angles because of the equirectangular map projection used. Another benefit is that we can see the entire Earth at the same time, as cyclones move large distances during their trajectories. Because of the data set, time is represented as the time dimension, which is not intuitive when looking at the visualization. Adjusting the quad to move as a time-slice makes it easier to see how the cyclone changes over time, as it can both show the pressure field as well as cut the surface at the chosen time-point. Furthermore, the time representation in itself would not be improved by changing the Earth representation to the spherical format. As discussed in Chapter 3, areas on the sphere will seem larger the longer the radius is. If time is then mapped on the radial dimension, objects which appear at a later time-point in the field will look disproportionately large compared to objects which appear earlier. Therefore, the chosen representation works well enough to show time and space, compared to the spherical representation.. 6.1.2. Textures and color. The texture blend modes presented were used to show the Earth using a map projection combined with a color map of the pressure field at the chosen time-slice. Since some of the 33.

References

Related documents

46 Konkreta exempel skulle kunna vara främjandeinsatser för affärsänglar/affärsängelnätverk, skapa arenor där aktörer från utbuds- och efterfrågesidan kan mötas eller

The literature suggests that immigrants boost Sweden’s performance in international trade but that Sweden may lose out on some of the positive effects of immigration on

The increasing availability of data and attention to services has increased the understanding of the contribution of services to innovation and productivity in

Av tabellen framgår att det behövs utförlig information om de projekt som genomförs vid instituten. Då Tillväxtanalys ska föreslå en metod som kan visa hur institutens verksamhet

Generella styrmedel kan ha varit mindre verksamma än man har trott De generella styrmedlen, till skillnad från de specifika styrmedlen, har kommit att användas i större

Parallellmarknader innebär dock inte en drivkraft för en grön omställning Ökad andel direktförsäljning räddar många lokala producenter och kan tyckas utgöra en drivkraft

Närmare 90 procent av de statliga medlen (intäkter och utgifter) för näringslivets klimatomställning går till generella styrmedel, det vill säga styrmedel som påverkar

For example, if the number of child pivots in the second dimension is two, there will be two nodes in dimension three related to the original pivot, only one of which may be used by