• No results found

Interactive Visualization Of Large Scale Time-Varying Datasets

N/A
N/A
Protected

Academic year: 2021

Share "Interactive Visualization Of Large Scale Time-Varying Datasets"

Copied!
44
0
0

Loading.... (view fulltext now)

Full text

(1)LiU-ITN-TEK-A--08/042--SE. Interactive visualization of large scale time-varying datasets Willem Frishert 2008-03-19. Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden. Institutionen för teknik och naturvetenskap Linköpings Universitet 601 74 Norrköping.

(2) LiU-ITN-TEK-A--08/042--SE. Interactive visualization of large scale time-varying datasets Examensarbete utfört i vetenskaplig visualisering vid Tekniska Högskolan vid Linköpings universitet. Willem Frishert Handledare Anders Ynnerman Examinator Anders Ynnerman Norrköping 2008-03-19.

(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/. © Willem Frishert.

(4)

(5) Abstract Visualization of large scale time-varying volumetric datasets is an active topic of research. Technical limitations in terms of bandwidth and memory usage become a problem when visualizing these datasets on commodity computers at interactive frame rates. The overall objective is to overcome these limitations by adapting the methods of an existing Direct Volume Rendering pipeline. The objective is considered to be a proof of concept to assess the feasibility of visualizing large scale time-varying datasets using this pipeline. The pipeline consists of components from previous research, which make extensive use of graphics hardware to visualize large scale static data on commodity computers. This report presents a diploma work, which adapts the pipeline to visualize flow features concealed inside the large scale Computational Fluid Dynamics dataset. The work provides a foundation to address the technical limitations of the commodity computer to visualize time-varying datasets. The report describes the components making up the Direct Volume Rendering pipeline together with the adaptations. It also briefly describes the Computational Fluid Dynamics simulation, the flow features and an earlier visualization approach to show the system’s limitations when exploring the dataset.. v.

(6)

(7) Acknowledgments My special thanks go out to Professor Anders Ynnerman for providing me with the thesis topic and his guidance throughout the project. I would also like to acknowledge Doctor Philipp Schlatter for giving me background information on Computational Fluid Dynamics simulations and supplying me with a large scale time-varying dataset. Furthermore, I would like to thank the PhD students, teachers and employees of the VITA-group, in particular Frida Hernell for her (technical) advice and support. I also wish to acknowledge Doctor Patric Ljung for his support via e-mail on specific implementation details of the Direct Volume Rendering pipeline. I would like to express my gratitude to all those who gave me advice, support and the possibility to complete this thesis. They are (in no particular order): Arini Savitri, Richard Khoury, Johan Lindstrand, Ruman Zakaria, Joel Nises and Erika Tejedor. Last but not least, I thank my parents for being there when I needed them most, and for supporting me through all these years.. vii.

(8)

(9) Contents 1 Introduction 1.1 Problem Description 1.2 Objectives . . . . . . 1.3 Outline . . . . . . . 1.4 Reader Prerequisites. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. 1 1 1 2 2. 2 Background 2.1 Laminar-Turbulent Transition . . . . 2.2 Feature Extraction . . . . . . . . . . 2.2.1 Vortex Extraction Technique 2.3 Feature Visualization . . . . . . . . . 2.3.1 Visualization Limitations . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. 3 3 4 5 5 6. 3 DVR Pipeline Foundation 3.1 Ray Casting . . . . . . . . 3.2 GPU-based Ray Casting . 3.3 Multiresolution Technique 3.4 Level-Of-Detail Selection .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. 7 7 8 10 11. 4 DVR Pipeline Adaptation For CFD Volume Visualization 4.1 Visualizing Multivariate Data . . . . . . . . . . . . . . . . . . 4.2 Pipeline Overview . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Feature Extraction . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Data Resampling . . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Dual Transfer Function . . . . . . . . . . . . . . . . . . . . . 4.5.1 Multivariate Multiresolution Volumes . . . . . . . . . 4.5.2 Level-Of-Detail Selection . . . . . . . . . . . . . . . . 4.5.3 GPU-based Ray Casting . . . . . . . . . . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. 15 15 16 16 17 18 18 19 20. 5 Results 5.1 Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Data Management Performance . . . . . . . . . . . . . . . . . . . . 5.3 Rendering Performance . . . . . . . . . . . . . . . . . . . . . . . .. 21 21 22 23. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. ix. . . . .. . . . .. . . . ..

(10) x 6 Conclusions & Future Work 6.1 DVR Pipeline Discussion . . . . . 6.1.1 Visualization . . . . . . . . 6.1.2 Performance . . . . . . . . 6.2 Future Work . . . . . . . . . . . . 6.2.1 Compression Techniques . . 6.2.2 Controlling Data Reduction Bibliography. Contents. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. 27 27 27 28 28 29 29 31.

(11) Contents. xi. List of Figures 2.1. A visualization of laminar-turbulent transition in OpenDX . . . . .. 3.1 3.2 3.3 3.4 3.5 3.6. The four steps of volume ray casting . . . . . . . A model of the volume rendering integral . . . . The concept of flat blocking scheme . . . . . . . A 2D representation of Group-Of-Blocks . . . . . An illustration of a full and simplified histogram The concept of texture packing and indexing . .. . . . . . .. 8 9 10 11 12 13. 4.1 4.2 4.3. The extended Direct Volume Rendering pipeline . . . . . . . . . . Multivariate multiresolution volume generation . . . . . . . . . . . Determining relative visual significance of dual scalar field volumes. 16 18 20. 5.1 5.2 5.3 5.4. Visualization of the λ2 vortex-identification criterion Visualization of the velocity disturbance . . . . . . . Visualization of the dual scalar volume . . . . . . . . Visual result of applying data reduction . . . . . . .. . . . .. 22 23 24 26. 6.1. A comparison of block interpolation schemes . . . . . . . . . . . .. 28. . . . . . .. . . . . . .. . . . . . .. . . . .. . . . . . .. . . . .. . . . . . .. . . . .. . . . . . .. . . . .. . . . . . .. . . . .. . . . . . .. . . . .. . . . . . .. . . . .. 5. List of Tables 5.1 5.2. Data loading performance measurements . . . . . . . . . . . . . . . Rendering performance measurements . . . . . . . . . . . . . . . .. 25 25.

(12)

(13) Chapter 1. Introduction This chapter gives an overview of the topic and explains the problems and challenges at hand. It also gives a description of the thesis layout and the required knowledge to understand the upcoming chapters.. 1.1. Problem Description. Computational Fluid Dynamics (CFD) simulations are one of the fields of research generating large scale time-varying volumetric datasets. While the datasets grow in size, there is a need for visualization tools to explore, analyze and interact with large scale time-varying datasets on commodity computers. Current technical limitations in terms of bandwidth and memory usage limit the performance and prevent interactive use. This report presents part of the diploma work that provides a foundation to address these technical limitations.. 1.2. Objectives. The objective of the work presented in this thesis is to adapt the methods of an existing Direct Volume Rendering (DVR) pipeline as a proof of concept to assess the feasibility of visualizing large scale time-varying datasets at interactive frame rates on a single commodity computer. The work is done in the context of visualization of vortices and velocity disturbances. These flow features are extracted from a CFD dataset that consists of 421 time slices. The features are described in separate scalar fields and are stored together in 32 megabyte per slice. To visualize the two flow features, the DVR pipeline is required to deal with multivariate data. The challenge is to visualize an animation of the flow features at interactive frame rates of 5 to 10 Frames Per Second (FPS). The commodity computer used to visualize the data is equipped with a NVIDIA 8800GTX graphics card, 4 GB of memory and a striped array of hard disks to provide additional bandwidth, memory and computational power. 1.

(14) 2. 1.3. Introduction. Outline. The emphasis in the report is put on visualizing a single time slice from the CFD dataset and analyzing the technical limitations of the DVR pipeline. In the phase following, a streaming paradigm is included to visualize the time-resolved data. The report is organized as follows: Chapter 2 provides more details on the flow transition simulations and the current practice. Chapter 3 gives an overview of the key technical components involved in presenting large scale datasets using a DVR pipeline followed, by the adaptation in chapter 4. The results are shown and discussed in chapter 5 and the conclusions and future work are discussed in chapter 6.. 1.4. Reader Prerequisites. To understand the concepts that this report presents, readers should have a background in computer graphics and be familiar with basic concepts in real-time rendering and scientific visualization. Understanding fluid mechanics may be helpful but is not a requirement..

(15) Chapter 2. Background This chapter gives a short introduction to the application area. The first section explains the contents of the large scale time varying dataset, followed by a description of the visualization method used to analyze the data. The chapter concludes with stating the limitations of the current visualization method.. 2.1. Laminar-Turbulent Transition. The state of motion of a fluid can essentially be divided into three main states: laminar flow, turbulent flow and the transitional phase in between the fully laminar and turbulent states. The knowledge of whether a flow is turbulent or not is instrumental in many technical applications, as several characteristics of a given flow change drastically: for example the drag force acting on a slender body is much larger for turbulent flow; on the other hand, in combustion applications the lower mixing rates in laminar flow may actually prevent efficient use of fuel. The whole process of laminar-turbulent transition consists of three individual parts (see e.g. Schmid and Henningson [18]): a laminar flow, a turbulent flow and a transitional flow. Laminar flows are characterized by relatively high momentum diffusion, low momentum convection, and usually stationary pressure and velocity distribution. Opposite to laminar flows, turbulent flows are characterized by chaotic, stochastic property changes and tend to produce random vortices and other flow fluctuations. From visual observation, a vortex can be defined as a circular motion of the fluid swirling rapidly around a center. The speed and rate of rotation of the fluid are greatest near the center, and decrease progressively with distance from the rotation axis. For more information on vortex definitions, see Jeong and Hussain [4]. Connected to these two flow regimes is the non-dimensional Reynolds number which identifies and predicts different flow regimes. Laminar flows occur at low Reynolds numbers while turbulent flows occur at high Reynolds numbers. In the "classical" transition scenario, discussed by Kachanov [5], the breakdown to turbulent flow in a flat-plate boundary layer is dominated by the exponential growth of Tollmien-Schlichting (TS) waves, which then form typical Lambda-shaped vortices, which in turn connect to hairpin vortices. These hair3.

(16) 4. Background. pins quickly develop into localized turbulent spots. This transition is understood in theory, using experiments and via various simulation methods. However, in the presence of high levels of turbulent flow outside the boundary layer, also known as ambient or free-stream turbulence (FST), the formation of the turbulent spots is different. If the level of FST is sufficiently large (on the order of one percent and more) the exponential growth of the TS waves is completely bypassed, even though the Reynolds number of the flow is low. The spots are, via a sequence of instabilities, directly induced by the free-stream vortices. In this bypass-transition scenario, as discussed by Brandt et al. [1], Schlatter et al. [17] and Schlatter [16], the free-stream disturbances directly enter into the boundary layer, forming elongated structures in the streamwise velocity component, so-called streaks, which then undergo secondary instability leading to localized turbulent spots. Compared to classical transition, the bypass scenario is faster and more intermittent. The numerical simulation of the mentioned transition scenario results in a large scale time-varying volumetric dataset consisting of vector fields, in which every vector field corresponds to one time slice and the vectors are described on a rectilinear grid. For the results considered in this work, the simulation is performed in the spectral domain using highly accurate Fourier/Chebyshev methods. Double floating point precision has been used to minimize the effect of round-off errors. To allow for calculations in spectral space, the vector fields are biased in order to make the signal periodic, resulting in a fringe region at the end of every vector field. For more information regarding the numerical simulation of transition scenarios, see Chevalier et al. [2]. To evaluate the simulation dataset and obtain a better understanding of these physical processes of the laminar-turbulent transition, features are extracted from the dataset and visualized.. 2.2. Feature Extraction. To analyze the dataset, a feature-based flow visualization method is utilized. Feature-based flow visualization methods encapsulate detection, extraction and visualization techniques to visualize flow features of interest to researchers on an abstract level. A feature describes a phenomenon, structure or object in a dataset and is represented by scalars, vectors or matrices. In Post et al. [15] an overview of feature extraction is given. Features can be extracted from flows using topology analysis methods or using physical characteristics. Helman and Hesselink [3] have researched topology analysis to extract features using so-called critical points of a vector field. The physical characteristics of a vector field are computed using the velocity gradient tensor, which can be represented by a 3x3 matrix called the Jacobian matrix. From the Jacobian matrix, physical characteristics such as the divergence, curl, helicity, acceleration and curvature of a vector field can be derived. These physical characteristics are used by algorithms to extract features. After obtaining the physical characteristics of the vector fields, the velocity disturbance is extracted using a velocity deviation computation: udist (x, y, z, t) = u(u, y, z, t) − huiz (x, y, t). (2.1).

(17) 2.3 Feature Visualization. 5. Figure 2.1. Visualization of a time slice in OpenDX using isosurfaces and an ambient shading model. The time slice consists of two features, each represented by a 32-bit floating point scalar field on a 512x121x128 rectilinear grid. The velocity disturbance is showing up as red and blue streaks to indicate positive and negative disturbances, respectively. The vortices start to appear in the middle of the laminar-turbulent transition and are colored green. They are dominant at the back when the flow is turbulent. The mean flow is from lower left to upper right.. where huiz (x, y, t) denotes a spanwise (z) average of the streamwise velocity component. Detection and extraction of the vortex is a more cumbersome process.. 2.2.1. Vortex Extraction Technique. To extract vortical structures from the dataset, Schlatter et al. [17] use a vortex extraction technique developed by Jeong and Hussain called λ2 [4]. The λ2 algorithm decomposes the velocity gradient tensor J into its symmetrical part and anti-symmetrical part: T T (2.2) S = J+J Ω = J−J 2 2 The tensors S and Ω describe the local strain-rate and the local spin or rotation, respectively. The algorithm is based on the properties of the tensor S 2 + Ω2 and its eigenvalues λi . The second largest eigenvalue λ2 can be used to determine whether a given region of the flow is in swirly (vortical) motion. If λ2 contains a negative value, then the point of interest is considered to be part of a vortex.. 2.3. Feature Visualization. After performing the feature extraction process on each vector field, both the velocity disturbance and the λ2 vortex-identification criterion are stored in individual.

(18) 6. Background. scalar fields. Features represented as scalars can be visualized using color maps, splatting, surface extraction or direct volume rendering technique. Simulation results of transitional flows presented in Schlatter [16] and Schlatter et al. [17] were visualized using OpenDX, which is the open source clone of IBM’s Visualization Data Explorer. The package has been set up to use a surface extraction technique to visualize velocity disturbance and vortices using isosurfaces. Figure 2.1 shows a visualization of a single vector field in OpenDX.. 2.3.1. Visualization Limitations. Even though OpenDX is able to create a visualization of the scalar data, it lacks features to handle large size datasets. Loading, processing and displaying the extracted features of the time-varying dataset cause a bandwidth overload on the data pipelines, affecting the performance and interactivity of the visualization. A time slice of the dataset, as shown in figure 2.1, is approximately 60.5 megabyte, and takes roughly 12.45 seconds to load from disk, 20.75 seconds to process and 4.04 seconds to render on a commodity computer1 . Streaming a sequence of the dataset results in a performance of 0.027 frames per second, which will prohibit researchers to explore the data interactively. To allow the dataset to be visualized at interactive frame rates, the visualization method needs to take into account the data transfer rate between hard disk and main memory, and the data transfer rate between main memory and graphics card. Performance increase during the visualization can be achieved by reducing and compressing the dataset as a pre-processing step, fetching the data efficiently from hard disk and decompressing the data at the end of the rendering pipeline using programmable graphics hardware.. 1 Measurements taken using a AMD Athlon 64 X2 dual-core, NIVIDIA 8800GTX, 4GB RAM, SATA HDD (no raid configuration)..

(19) Chapter 3. DVR Pipeline Foundation This chapter introduces and discusses the foundation of the existing Direct Volume Rendering (DVR) pipeline. The pipeline uses components from previous research to visualize large scale data on commodity computers. The pipeline incorporates a hardware accelerated ray casting method to visualize volumetric data and utilizes a multiresolution and Level-Of-Detail selection technique to handle large scale data.. 3.1. Ray Casting. Ray casting is an image-based Direct Volume Rendering technique for visualizing 3D scalar fields. The method directly renders the data and does not impose any geometric structure on it. The following paragraphs describe the ray casting process in detail. Figure 3.1 illustrates each of the steps that define the ray casting process. The first step is to set up a simple camera model and cast rays from the center of the virtual camera. Each ray passes through a separate image pixel on the imaginary image plane floating in between the camera and the volume. Sample points are selected along the path of the ray that lies within the volume. These points are usually located in between voxels, as in general the volume is not aligned with the ray. Therefore, the sampling process interpolates values from voxels surrounding the sample point to determine its scalar value. The scalar value is classified and shaded (i.e. colored and lighted) using a classification process and a shading model. The classification process transforms a scalar value into a red, green, blue and alpha (RGBA) color value using a Transfer Function (TF). A TF is represented by a simple ramp, a piecewise linear function or an arbitrary table. Lighting of the sample is computed using the sample point’s surface orientation (gradient) and a light source in the scene. The color value and lighting information are combined, which results in a shaded sample value. This process is repeated for every sample point along the ray until it reaches the end of the volume. The shaded samples are composed together using the Volume Rendering Integral. The integral is based on a simplified optical model specified by Max [13], which takes into account physical properties such as material density, light emis7.

(20) 8. DVR Pipeline Foundation. Figure 3.1. The four basic steps of volume ray casting: (1) Ray casting (2) Sampling (3) Shading (4) Compositing.. sion and light absorption and leaves out other properties such as light scattering and shadowing: I(D) = I0 e. −. RD S0. κ(t)dt. ZD. −. q(s)e. +. RD s. κ(t)dt. ds. (3.1). S0. where I0 is the incoming light, q represents a particle’s light emission, κ is the absorption factor, and S0 and D are the intersection points where the ray enters and exits the volume, respectively. Figure 3.2 illustrates the concept of the volume rendering integral. The first term calculates the amount of incoming light that reaches the end of the volume. The second term adds the amount of light emitted by each infinitesimal small particle along the ray. Both terms take the attenuation of the light into consideration, which is due to absorption of light by the particles along the ray direction. A discrete composition, the over-operator, is derived directly from the Volume Rendering Integral. The over-operator, as formulated by Porter and Duff [14], composes color samples using an accumulated RGBA color buffer in a front-toback order: C = Cb αb + Cs αs (1 − αb ). (3.2). α = αb + αs (1 − αb ) The over-operator combines the accumulated RGBA color buffer (Cb , αb ) with each of the computed shaded samples (Cs , αs ). The result, stored in the accumulated RGBA buffer, is projected on its correspondent pixel in the frame buffer.. 3.2. GPU-based Ray Casting. Ray casting can be extended to utilize graphics hardware. Usage of graphics hardware and its Graphics Processing Unit (GPU) will improve the performance of the ray casting method since the GPU can perform computations, such as.

(21) 3.2 GPU-based Ray Casting. s. S0. I0. 9. D. q(s). S0. Ray s. D. Figure 3.2. Model of the volume rendering integral. The initial amount of visible light I0 exponentially attenuates along the ray due to absorption by the infinitesimal small particles inside the volume. The light emitted by the particles themselves (q(s)) is added to the initial light and the total amount of light attenuates until it leaves the volume at D.. interpolation, culling and clipping, more efficiently than the CPU. However, the GPU can only operate on data that is resident in the graphics card texture memory. It implies that, before the GPU proceeds with any computations, the data is transferred from the main memory to the texture memory. Once the computations are performed by the GPU, the CPU is relieved to attend other tasks. The DVR pipeline incorporates a GPU-based ray casting method (see Ljung [9]) to render the contents of the volumes. The hardware accelerated ray casting method uses custom built vertex and fragment shaders to reprogram the rendering pipeline. The shaders contain instructions, which are executed by the GPU, to ray cast scalar volume data in a single rendering pass. The implementation utilizes several acceleration techniques such as early ray termination to further increase the ray casting performance. Early ray termination assumes that the accumulated buffer color is saturated when it hits full opacity. Accumulation of more shaded samples will not affect the final pixel value. Therefore, the ray can be terminated even before it reaches the end of the volume. The GPU-based ray casting method follows the steps described in section 3.1. The shaders receive a camera model to determine the ray direction per pixel and obtain textures, which contain the volume, gradient data, and a TF. Once a ray is set up, it is casted through the volume and clipped where it enters and exits the volume. Sampling is performed along the ray direction from front-to-back with a fixed distance between successive sample points For each sample point along the ray, the volume and gradient textures are tri-linear interpolated to obtain the sample and gradient data, respectively. The sample is transformed to a color using the TF, after which the color is used in combination with an ambient-diffuse shading model to compute the shaded sample. The shaded sample is composited with an accumulation buffer and the process is repeated until the ray terminates.

(22) 10. DVR Pipeline Foundation. Figure 3.3. The concept of flat blocking scheme using a 2D volume. The volume is divided into blocks, after which the data in each block is downsampled to obtain lower resolutions. The left image shows a volume containing 12x12 voxels that has been divided into blocks. The data inside the blocks is reduced, while the blocks’ sizes remain constant. In the middle and right image, the number of voxels inside the blocks have been reduced to 6x6 and 3x3, respectively.. early or exits the volume.. 3.3. Multiresolution Technique. To achieve interactive visualization of large scale datasets, optimal usage of limited bandwidth and memory has to be made throughout the system. Since the current technical limitations prohibit a large scale volume to be visualized directly, a multiresolution representation can be used to approximate the visual representation of the raw volume. A multiresolution technique is used to generate lower resolutions of the raw volume. During the visualization step, a Level-Of-Detail (LOD) selection technique builds up the multiresolution representation of the volume based on these different resolutions. The LOD selection technique allows parts of interest within the volume to be visualized accurately, while less important parts are visualized in lower detail. Employing these methods reduces the amount of data sent through the system’s pipelines. The DVR pipeline contains a flat blocking multiresolution technique to generate multiresolution data (see Ljung et al. [11]). Initially, the multiresolution technique subdivides the data volume into blocks of 163 voxels, denoted as L16 , after which the blocks’ data are downsampled to lower resolution levels of L8 , L4 , L2 , and L1 . While the data in each block is downsampled to obtain different resolution levels, the blocks’ physical sizes remain constant. Figure 3.3 illustrates the concept of applying the flat blocking multiresolution scheme to a 2D volume. For each resolution level (Lλ ) corresponding gradients are computed during the downsampling phase. Blocks of similar resolution are stored together in sequence with the associated gradients in a Group-Of-Blocks (GOBs). A GOB is a consistent structure in size, which is system-dependent and matches the system’s optimal disk loading performance. During the loading process, the GOB containing the.

(23) 3.4 Level-Of-Detail Selection. 1 GOB of 64 blocks Level 1. 4 GOB of 16 blocks Level 2. 11. 16 GOB of 4 blocks Level 4. 32 GOB of 1 block Level 8. Figure 3.4. A 2D representation of Group-Of-Blocks of 8x8 blocks. The GOB structure size is static allowing it to contain a limited amount of data. Blocks of level 1 and level 8 are considered to be the lowest and highest resolution, respectively.. block of interest is fetched from the disk. Opposite to the system’s habit of disposing the remaining data, the DVR pipeline stores and tracks the GOB in memory. Once another block contained within the same GOB is needed, the data is accessed directly from memory instead of rereading it from the hard disk. This process results in an decrease in data loading time during the visualization phase. Figure 3.4 illustrates the concept of a GOB in 2D for different block resolutions. The GOB size specifies the number of blocks of a resolution Lλ that can be fitted. While the resolution level of a block decreases, the number of blocks able to fit in a GOB increases. The LOD selection method requires specific block information such as the average value and an approximation of the block’s original contents. The approximation of the original contents is represented by a simplified histogram. The procedure to obtain the simplified histogram starts with subdividing the full histogram into segments of equal width. The height of each segment is the average number of voxels contained within the segment’s interval. Segments are iteratively merged, based on their contents, to reduce information. The union of two segments averages the number of voxels and widens the interval. The merging process ends after a certain amount of segments remain. The result is a simplified histogram containing piece-wise constant segments, which approximate the highest resolution contents. Figure 3.5 is used to illustrate a full histogram and its simplified form. The pre-processing pipeline stores the lowest resolution sample, gradient data and the simplified histogram separately to efficiently load this information during the LOD selection phase.. 3.4. Level-Of-Detail Selection. The DVR pipeline employs a TF based adaptive LOD selection technique (see Ljung et al. [11]). The technique utilizes a TF to determine the importance and resolutions of different parts of the volume. The aim of this process is to introduce the least amount of visual distortion. The LOD selection technique generates an.

(24) 12. DVR Pipeline Foundation. 256 Number of voxels. full histogram simplified histogram sample point. 128. 0. 0. N. Voxel value. Figure 3.5. An illustration of a full histogram and its simplified version. The simplified histogram is used to approximate the original contents of the volume. It is sampled at a regular interval to obtain the voxel value and the amount of voxels having this value.. empty volume of the same physical size and applies the flat blocking scheme. It then uses two steps to fill the volume with information. The first step computes a visual significance per block to determine its visual importance. The second step is to determine the actual block LOD using a global memory budget to limit the amount of data loaded into the textures. The significance measurement uses the graphical representation of a block’s scalar data to determine the block’s importance. It requires that the full resolution data is first transformed to color and opacity using a TF. Here, the simplified block histograms are sampled to efficiently approximate the full resolution data, as shown in figure 3.5. After transformation, visual significance measurement falls into one of three categories. The following concise notation is used by Ljung et al. [11] to describe these categories: A TF is denoted as T : R → R4 where TRGB refers to the RGB color channels and Tα indicates the alpha component. Scalar values inside a block are denoted as Vb . The categories are: 1. The block has no visual significance: Tα (v) = 0, 2. The block is visually homogeneous: T (v) = c,. ∀v ∈ Vb ; ∀v ∈ Vb ;. 3. The block’s contents vary visually: T (v) 6= T(u),. ∃u, v ∈ Vb ;. The first and second category allow the block to be discarded and visualized with a single constant value respectively, without introducing any significant distortion. In the third case, however, the block visualization is considered to be significant and lowering of the full resolution implies that a visual perceptual distortion is introduced. The perceptual distortion ∆E is expressed as the perceptual color difference between the highest and lowest resolution. After the TF has been applied to both the block’s average value and full resolution, the obtained RGB colors are.

(25) 3.4 Level-Of-Detail Selection. 13. (b) A slice of the 3D index texture.. (a) A slice of the 3D sample texture.. (c) The result of indexing the sample texture.. Figure 3.6. The sample texture (a) contains the different resolution blocks in groups according to their specific resolution level. An index texture (b) is used to reference to the blocks inside the sample texture. The indices to different blocks are shown in color. Figure (c) shows the resulting texture of indexing the sample texture.. transformed into the CIELUV color-space, denoted as T ∗ . Using the perceptual distortion ∆E, a relative significance factor is computed: . SL16→1. 1 X 2 = ∆E(T ∗ (xi ) , T ∗ (xavg )) · H (i) 16 i. 1/2 (3.3). where i is the histogram index, xi represents the voxel value at the specific sample point, H (i) represents the number of voxels with the same voxel value, xavg is the average block value and ∆E is the perceptual distortion, which is computed as the CIE76 ∆E ∗uv : ∆E ∗uv = (∆L∗ 2 + ∆u∗ 2 + ∆v ∗ 2 )1/2 (3.4) The relative significance factor is linearly distributed over all resolution levels. All blocks are initially assigned an L1 detail and put in a priority queue based on the relative significance factor when changing to a higher level. Subsequently, the block at the top of the queue is taken and it is assigned a higher level, after which the block is put back in the priority queue in case it has not reached the highest LOD. Assignment of a new LOD is done for every block until the memory budget is used or all blocks are set to the highest level. Once the LOD has been determined, the specific data is loaded and textures are set up to store the sample data and associated gradient data. The volume data and gradient data are loaded into an intensity texture and a RGBA texture, respectively. The data loader packs the data into the texture and creates an index texture, used to reference the packed data inside the textures based on the block’s position and resolution. Figure 3.6 shows a cut-through of the packed sample texture and the index texture. The sample texture contains the different resolution blocks, which are packed in groups according to resolution level, similar to the Group-Of-Blocks structure. The index texture is used to refer to the blocks inside the sample texture and allows the correct resolution data to be retrieved.

(26) 14. DVR Pipeline Foundation. from the packed sample texture. All textures are sent to the GPU for the GPUbased ray casting process to proceed as described in section 3.2. Ray Casting Multiresolution Representation Ray casting a multiresolution representation implies that the method is adapted to render the representation instead of rendering the original volume. The representation data consists of index information, the packed samples data and packed gradient data. For each sample point along the ray, the index texture is accessed to obtain a reference into the sample and gradient textures, which contain the actual information. While ray casting a multiresolution representation leads to an increase in texture fetched, it also enables the DVR method to use adaptive sampling. Adaptive sampling accelerates the ray casting operation performance by taking into account that the volume consists of different resolutions. Samples obtained from lower resolution blocks do not vary much in comparison with samples taken from high resolution blocks. By increasing the sample weight and reducing the number of samples taken in lower resolution blocks, the ray casting operation becomes less expensive while achieving the same result..

(27) Chapter 4. DVR Pipeline Adaptation For CFD Volume Visualization In order to visualize the two flow features using the DVR pipeline, both the feature data as well as the pipeline require adaptation. After extraction of the flow features, the data needs to be transformed to match the raw data volume specifications of the DVR pipeline. The pipeline components require to be adapted to visualize a dual scalar field volume describing the two flow features. The sections in this chapter subsequently discuss the transformation of the CFD data and the adaptation of the DVR pipeline. The result of the adaptation enables the visualization of a single time slice of the CFD dataset.. 4.1. Visualizing Multivariate Data. There are several different solutions in order to volume render multivariate data. The multiple scalar fields can be merged together to form one field. To combine scalar fields correctly, domain information is needed to specify the relationship between the scalars. However, if a relationship between different properties can not be defined, then exploration of possible information hidden inside the data is prohibited. Kniss et al. [7] present a case study in which they use multidimensional TFs to visualize multivariate data. Using their method, the scalar fields are classified at the same time using a multidimensional TF. This approach demands more storage and data throughput during visualization and is computationally more expensive. However, with this method it is possible to visualize different scalar fields without defining a relationship. Since the time constraint of the project does not allow implementation of multidimensional TFs, the choice is made to use a technique proposed by Kim et al. [6]. They present a method to visualize dual-modality volumes, which classifies each scalar field separately using multiple traditional TFs and combines the visual rep15.

(28) 16. DVR Pipeline Adaptation For CFD Volume Visualization Pre-processing Phase. CFD Vector field. Feature Extraction. Data Resampling. Feature Data (raw volume). Multiresolution Volume Generation. Multivariate Multiresolution Volume. Visualization Phase Multivariate Multiresolution Volume. Level-Of-Detail Selection. Multivariate Multiresolution Representation. GPU-Based Ray Casting. Interactive Visualization. Figure 4.1. The extended pipeline to process and visualize flow features inside CFD data. The pre-processing phase is performed off-line to generate a multiresolution volume of the multivariate data. During visualization phase, a multiresolution representation is created and visualized using the LOD selection technique and the ray casting technique.. resentations. A problem in visualizing multiple scalar fields using this approach, is the chance that the representations (i.e. the colors) are set to be similar. Therefore, as a solution, the user is forced to use different visual representations. Similar to the multidimensional TFs, this method keeps the visualization generic and independent of specific domain knowledge. While this method also requires more storage space and data throughput, implementation in the existing pipeline is more straightforward. Consequently, the DVR pipeline needs to be accommodated to visualize a multiresolution representation of a multivariate volume.. 4.2. Pipeline Overview. Prior to visualizing the data using the adapted DVR pipeline, a series of preprocessing steps have to be performed on the single time slice to visualize its features. Figure 4.1 illustrates the extended pipeline in order to visualize a single CFD volume. The pipeline receives a vector field and extracts the flow features, which are each described by a scalar field. The scalar fields are transformed and scaled to match the requirements of the multiresolution technique. This technique in turn takes the original volume and generates multiresolution volume data. This data can be used by the LOD selection method to create the multiresolution representation, which is sent to the GPU-based ray caster to be visualized. The upcoming sections will discuss each component of the extended pipeline to visualize a CFD data slice.. 4.3. Feature Extraction. Along with the CFD dataset, a feature extraction application is provided, which takes a single time slice as input and extracts the velocity disturbance and vortices..

(29) 4.4 Data Resampling. 17. The velocity disturbance is computed as the deviation of the velocity while vortexidentification information is obtained by computing λ2 at every grid point. The feature extraction computations are done in the frequency domain with double floating point precision. After extraction, the flow features are transformed to the time domain while the floating point precision is converted from 64-bit to 32-bit. The result is stored in an OpenDX format consisting of the multivariate volume and metadata describing the data structure and physical volume size.. 4.4. Data Resampling. To generate a multiresolution volume, the DVR pipeline requires a raw volume to be described on a uniform grid containing a power-of-two number of grid points at each axis. Each grid point needs to contain scalars represented as 12-bit unsigned integer format. The requirements imply that the extracted feature data needs to be transformed from a rectilinear grid to a uniform grid, after which the values at each grid point are rescaled from a 32-bit floating point to fit in a 12-bit unsigned integer format. For the specific task of transforming the flow feature data a multithreaded resampling application is used. The pseudo code 4.1 describes the algorithm of the data resampler. Algorithm 4.1 Resampling the rectilinear grid to a uniform grid Require: rectilinear grid containing feature scalar data create uniform grid for all grid points in uniform grid do transform point to rectilinear grid coordinates. identify rectilinear grid cell compute the parametric coordinates calculate the weights for all features in rectilinear grid do trilinear interpolate scalar value clamp interpolated scalar value between min and max bias and scale scalar value write scalar value end for end for The data resampler allows the user to specify the scalars of interest that should be processed together with the range of interest used to scale and bias the values. Initially, the application reads the OpenDX binary data and metadata into memory and sets up the rectilinear grid. After loading in the rectilinear grid, its physical volume dimensions are used to specify a uniform grid in memory. The uniform grid corners are then spatially laid on top of the corresponding rectilinear grid corners and the uniform grid scalar values are calculated using trilinear interpolation. After the scalars have been computed for the uniform grid, they are biased and scaled to fit in an 12-bit unsigned integer range. The scalar fields are interleaved.

(30) 18. DVR Pipeline Adaptation For CFD Volume Visualization. Group Of Blocks Feature Data (raw volume). Flat Blocking. Full Resolution Blocks. Low Resolution Volume. Block Processing. Simplified Histograms. Scalar Field Separation. Downsampling. Blockwise Scalar field Interleaving. Histogram Generation. Histogram Simplification. Separate Scalar Field Per Block. Figure 4.2. Pre-processing pipeline generating a multivariate multiresolution volume. The multivariate raw volume is divided into blocks, after which the scalar fields contained within each block are separated. Each scalar field within a block is downsampled to generate lower resolutions of the scalar fields. The different scalar fields in a block are then interleaved per resolution and the results are stored in a Group-Of-Blocks with the exception of the lowest resolution data. This resolution is stored in a separate buffer to enable the data loader to efficiently fetch the data during visualization. Parallel to this, for each scalar field within a block, a histogram is created, simplified and stored to represent the full resolution data.. and the resulting volume can be processed to generate a multiresolution version.. 4.5. Dual Transfer Function. Implementation of the method proposed by Kim et al. [6], requires the DVR pipeline to be accommodated to deal with a multivariate volume. This implies that the LOD selection method and ray casting technique have to be fitted with two TFs, one per scalar field, to classify and visualize both features. The adaptations of each technique are discussed in detail in the upcoming subsections. Although these discussions focus on implementing the dual TF, the pipeline can be adapted in a straightforward matter to support a higher number of TFs.. 4.5.1. Multivariate Multiresolution Volumes. The multiresolution technique, as introduced in section 3.3, deals with single scalar volumes. To create a multiresolution volume of multivariate data, the implementation is redesigned to incorporate features for handling multiple components at.

(31) 4.5 Dual Transfer Function. 19. each grid point. Figure 4.2 illustrates the multiresolution technique processing a dual scalar volume. After applying the flat block scheme, the volume is divided into blocks of 163 voxels. However, in contrast to a single scalar volume, each block contains multiple scalar fields, i.e. multiple scalars per voxel. Generating lower resolutions of the data in each block is done by processing these scalar fields separately. For each scalar field of different resolution, a gradient is calculated. After the lower resolution data has been generated, the different scalar fields of similar resolution Lλ are interleaved to form an interleaved block. The interleaved blocks of similar resolutions are stored, together with their associated gradients, in the GOBs structures. Parallel to the downsampling process, the multiresolution technique generates a block-specific simplified histogram to describe the highest resolution data per scalar field contained within each block. The scalar fields are interleaved in order to load them into the different texture channels during the data loading stage. During the ray casting process, samples are then efficiently retrieved in one pass keeping the amount of expensive texture fetches to a minimum.. 4.5.2. Level-Of-Detail Selection. The LOD selection, as mentioned in section 3.4, determines the resolution of all blocks in the volume based on the relative visual significance factor. Applying the LOD selection to only one of the scalar fields of a dual volume results in an incorrect visualization. This incorrect visualization is due to ignoring the fact that the features, represented by the scalar fields, are considered to be independent of each other and therefore appear in different places throughout the volume. It implies that the level of visual importance of a block should thus depend on both scalar fields to visualize each feature at a high enough resolution. To resolve this matter, the relative visual significance factor computed is performed per scalar field in each block, after which the factors are combined. Figure 4.3 illustrates the concept of the adapted LOD selection technique using a 2D volume. The top left and right images each represent a scalar field contained within the same volume. After setting up an empty volume of the same physical size and applying the flat blocking scheme, each scalar field is classified using its associated TF and simplified histogram. The relative visual significance SL16→1 is computed for each scalar field, contained within each block, using equation 3.3. After these relative visual significance factors have been computed per scalar field, the factors are combined using a max operator, resulting in the block’s relative visual significance factor. Using this last factor, the block’s resolution level can be computed, which leads to a correct visualization of the multivariate volume. The determination of the resolution level of each block using the texture memory budget proceeds as mentioned in section 3.4. However, the data loading operation is slightly adapted to utilize a different type of texture for the volume data. The data is loaded into a luminance-alpha texture to store the two scalar fields. The gradients of each scalar field are stored in separate RGBA textures..

(32) 20. DVR Pipeline Adaptation For CFD Volume Visualization. Multiresolution Volume: Scalar field B. Multiresolution Volume Scalar field A. Multiresolution Volume Scalar fields A & B = max(A, B) Block Visual Significance:. No. Low. Medium. High. Figure 4.3. Determining relative visual significance of dual scalar field volumes. The top left and top right figures indicate the significance for scalar field A and B, respectively. To determine the significance for a dual volume, the significance of both scalar fields are merged using the max operator. The result of the operation is shown on the bottom image.. 4.5.3. GPU-based Ray Casting. The shaders describing the GPU-based ray caster have to be extended to render a dual scalar multiresolution volume. Initially, the rays are casted and sampled similar to the original GPU-based ray casting method described in section 3.2. For each point along the casted ray, an index texture lookup is performed to gain the corresponding reference, which can be used to sample the packed volume and gradients textures. In contrast to the original method, the packed volume data texture contains two scalar values. It implies that, after sampling the packed volume texture, the obtained color value contains two interpolated scalar values of each scalar field. The values are stored in the luminance channel (represented by one of the RGB channels) and the alpha channel. Using the same reference, gradient textures are sampled to obtain the associated gradient for each sample. Using the dual TFs and the gradients, the samples are then classified and shaded. For blending purposes, an additive colors operator is utilized to combine the shaded samples together resulting in a blended color where the scalar fields are overlapping. A convex combination is introduced to bias the additive operation, allowing the process to give visual emphasis on a particular scalar field. After the blending operation, the blended sample is composited using the over-operator mentioned in section 3.1..

(33) Chapter 5. Results This chapter presents the performance and results of the visualization phase in the DVR pipeline. The first section presents the visualization of the CFD data. In the following sections, the performance is discussed in terms of data management and rendering performance. Measurements to determine the performance of the DVR pipeline are done on an AMD Athlon 64 X2 Dual-Core computer, equipped with a NVIDIA 8800GTX, 4GB RAM and two SATA hard disks (no raid set-up)1 . The disk’s buffered reading performance has been timed at 66.7 MB/sec.. 5.1. Visualization. For the results in this chapter, different volumes are generated using the same time slice: two single scalar volumes, each describing a feature, and one dual scalar volume. The volumes are resampled to a 512x128x128 uniform grid and the scalars are stored with 12-bit precision. An ambient-diffuse shading model is used taking a single directional light source into account. Figure 5.1 shows the results of ray casting the λ2 multiresolution volume. In the visualization, the TF has been set up for vortex features to appear in green. At the beginning of the volume, where the flow is still laminar, small vortices are showing up, indicating the free stream turbulence. Moving towards the middle of the volume, small vortices start to appear and at the middle of the volume the flow has started to turn into a turbulent flow. Figure 5.2 shows the velocity disturbance feature of the same time step. In the image, the TF is set to use the colors red and blue to classify both the positive and negative deviation, respectively. When the laminar-turbulent transition starts, elongated streaks become visible. Towards the middle of the volume, the amount of streaks increase while the shape changes and the length decreases. In figure 5.3, the two flow features are visualized in one image using an additive blending operation. The visualization of a feature can be adjusted separately by changing its associated TF. Adjusting a TF requires a reload of 1 Specifications not equivalent to the ones mentioned in the objective. Performance results will increase as raid configuration is used.. 21.

(34) 22. Results. Figure 5.1. Visualization of a single scalar volume describing the λ2 vortex-identification criterion (showing up in green) from different angles. The top image shows an overview of the volume, while the bottom images show a diagonal visualization. In the latter, a closeup is made of the beginning of the transition where vortices have just started to appear.. the multiresolution volume since the significance of blocks needs to be reevaluated using the adapted TF. During the visualization, the number of samples taken along a ray can be adjusted. Increasing the number of samples generates higher quality images at the cost of a decreased performance.. 5.2. Data Management Performance. The DVR pipeline performance is measured using different texture memory budgets per scalar field. The budget is set per scalar field to keep the visual quality of the volumes equal. For testing purposes, the memory budget is set to 4 MB, 8 MB, and 16 MB for the single scalar volumes, respectively, and are doubled for the dual scalar volume. Table 5.1 contains the results of experiments done using the three volumes. The full resolution is specified below the volume name followed by the memory budget used, the sizes of the loaded data from disk after LOD selection and the amount of reduction. The loading time of the volume has been split up in loading time from hard disk to main memory and from main memory to texture memory. Since the two flow features of interest appear at the bottom of the volumetric dataset, over half of the volume is regarded by the LOD technique to be empty..

(35) 5.3 Rendering Performance. 23. Figure 5.2. Visualization of a single scalar volume describing the velocity disturbance from different angles. The positive and negative disturbances are colored in red and blue, respectively. At the beginning of the transition positive and negative streaks appear, while the middle and the end of the transition show that the velocity disturbance is chaotic.. This results in a data reduction ratio of 2:1, 2:9 and 2:1 for the λ2 , velocity disturbance and dual volume, respectively, regardless of the texture memory budget. Specifying a texture memory budget of 16 MB (equal to the data size) causes blocks to load full resolution for the λ2 and dual scalar volume, while the highest resolution blocks containing velocity disturbance volume can fit in a 8 MB budget. Lowering the texture memory budget reduces the amount of data that is allowed to fit in the texture memory. As a consequence, the detail of the volume and loading time of the data are reduced. Table 5.1 indicates that the transfer rate between hard disk and main memory is lower than the transfer rate between main memory and texture memory. The LOD selection and the loading of data into the main memory are done using a separate thread to minimize the impact on the rendering performance. Loading the data onto the graphic card in a separate thread can not be done since this instruction is not considered thread safe.. 5.3. Rendering Performance. While there are many factors influencing the DVR visualization pipeline, the rendering performance depends mainly on the viewport and the TF. To determine the performance impact of introducing multivariate data, the FPS is measured while.

(36) 24. Results. Figure 5.3. Visualization of a dual scalar volume describing both the velocity disturbance and λ2 vortex-identification criterion. Similar color schemes are used as in 5.1 and 5.2. The scalar fields are separately classified and their visual representations are blended.. visualizing the volumes. The volumes are oriented off top similar to those shown in figure 5.1, 5.2 and 5.3, while the viewport is set to a 1024x1024 resolution. Varying block resolutions are used to visualize the volume while keeping the TFs constant. The single pass ray casting has been set up to use adaptive sampling, early termination and nearest block sampling. Table 5.2 presents the rendering performance of the different resolutions volumes, while figure 5.4 is used to show the visual impact of the change in data reduction. The table indicates that, while lowering the resolution of the blocks, the rendering performance increases as data reduction is used. Introducing the second scalar affects the rendering performance, since the shading computations are done twice per ray sample and the samples have to be blended together. The impact is reduced, however, by the fact that the scalars are stored inside one texture and therefore the packed data texture and index texture can be sampled at the same step..

(37) 5.3 Rendering Performance. Dataset (disk size) λ2 vortices (16 MB) Velocity disturbance (16 MB) Dual scalar (32 MB). Memory budget 2 MB 4 MB 8 MB 2 MB 4 MB 8 MB 4 MB 8 MB 16 MB. 25. Loaded data size 1.896 MB 3.783 MB 7.558 MB 1.895 MB 3.777 MB 5.800 MB 3.784 MB 7.567 MB 15.106 MB. Reduction 8.8:1 4.4:1 2.2:1 8.9:1 4.4:1 2.9:1 8.9:1 4.4:1 2.2:1. Load time HDD→MM 28.9 ms 46.6 ms 95.2 ms 28.8 ms 45.3 ms 72.7 ms 60.8 ms 113.7 ms 215.5 ms. Load time MM→GPU 19.8 ms 39.1 ms 68.6 ms 19.2 ms 38.2 ms 44.5 ms 44.0 ms 80.2 ms 150.6 ms. Table 5.1. Data loading sizes and times of various multiresolution volumes. The λ2 vortices and velocity disturbance are loaded separately and as a dual scalar volume. The texture memory budget is given per scalar field to obtain the same visual appearance.. Dataset λ2 vortices. Velocity disturbance. Dual scalar. figure 5.4(a) 5.4(b) 5.4(c) 5.4(d) 5.4(e) 5.4(f) 5.4(g) 5.4(h) 5.4(i). Reduction 8.8:1 4.4:1 2.2:1 8.9:1 4.4:1 2.9:1 8.9:1 4.4:1 2.2:1. Performance 51.6 FPS 42.2 FPS 27.4 FPS 57.1 FPS 45.9 FPS 37.5 FPS 32.3 FPS 25.8 FPS 16.9 FPS. Table 5.2. Rendering performance measurements of various multiresolution volumes. The ray casting process operates on a single scalar volume for the λ2 vortex-identification criterion and velocity disturbance. To visualize the dual scalar volume, the process uses an adaptation of the ray casting to merge representations of the scalar fields. While data reduction leads to better rendering performance, it decreases the visual quality. Figure 5.4 shows the effect of the data reduction..

(38) 26. Results. (a). (b). (c). (d). (e). (f). (g). (h). (i). Figure 5.4. Loading three different volumes using three different memory budgets. The upper row shows λ2 vortex-identification criterion using a texture memory budget of 1, 2 and 4 MB. The middle and lower row show velocity disturbance and the dual scalar volume, respectively..

(39) Chapter 6. Conclusions & Future Work An adaptation of the DVR-pipeline has been presented to visualize a static volume containing two flow features. Interactive frame rates are achieved using the LOD selection and GPU-based ray casting techniques. This chapter discusses the results of the DVR pipeline and mentions future work, which can be used to animate a sequence of the time-varying CFD data.. 6.1. DVR Pipeline Discussion. The result provides useful information about the DVR pipeline performance, when loading a single time step, which can be used to introduce a streaming model and animate the dataset.. 6.1.1. Visualization. Visualization in Schlatter [16] and Schlatter et al. [17] use a surface extraction method to visualize the CFD dataset. The method imposes geometric structure on the data, causing an important limitation to display a projection of a thin shell. The surface extraction method fails to take into account that data may be partially transparent and should be modeled as such. Ray casting does not suffer from this limitation and can therefore be considered more useful to explore the dataset. The DVR pipeline makes use of an LOD selection technique based on a visual significance measurement, which aims to reduce the data and still maintain a high visual quality. The volumes in figure 5.4 are reduced in data while the rendering performance improves and frame rates become more interactive. Changing the data reduction ratio from 2.2:1 to 4.4:1 has a small visual impact while it increases the rendering performance by a factor of approximately 1.4. The performance obtained by using a multiresolution technique also comes with the disadvantage that neighboring blocks of different resolutions are discontinuous. The use of nearest block sampling neglects interpolating between neighboring blocks causing the volume to look blocked under certain view angles. Ljung et al. 27.

(40) 28. Conclusions & Future Work ∆E. 1.00. 0.75. 0.50. 025. 0.00. (a) Nearest block sampling. (b) Interblock interpolation (c) Difference between (a) and (b) sampling. Figure 6.1. A comparison of block interpolation schemes. Nearest block sampling in (a) shows a discontinuity between neighboring blocks of different resolution, whereas interblock interpolation sampling in (b) solves this problem. Figure (c) shows the visual difference between the two sampling methods.. [10] have developed an interblock interpolation technique to remove the artifacts by interpolating between the different resolutions. Figure 6.1 shows the same visualization using nearest block sampling and interblock interpolation sampling. The error image in 6.1(c) shows the correction of the interpolation method. The technique is effective but is costly and thus affecting the rendering performance.. 6.1.2. Performance. The performance results of the adapted DVR pipeline mentioned in table 5.1 and 5.2 show that both the data loading as well as the GPU ray casting technique can visualize a single time step containing two scalar fields at interactive frame rates. However, an increase in the number of scalar fields will further affect the system’s performance. Despite the performance hit, the visualization can still be kept accurate as long as the memory budget is sufficient. To keep the visualization accurate demands the system to handle more data throughput and requires GPU to perform more shading computations. Regarding the visualization of the two flow features, table 5.1 indicates that loading a dual scalar volume takes 104.8 ms, 193.9 ms and 366.1 ms for texture memory budgets of 4 MB, 8 MB and 16 MB, respectively. The results imply that animating a sequence of the time-varying dataset can be done at approximately 2 to 10 FPS, where the increase of frame rate is due to the limit of visualization accuracy. To avoid a decrease in visualization accuracy, effort can be made to optimize the transfer rate between hard disk and main memory, since it is the weakest link in the pipeline.. 6.2. Future Work. There are several strategies which can be combined or used separately to allow time-varying volume visualization using the DVR pipeline. While improvements.

(41) 6.2 Future Work. 29. can be made to control the amount of data reduction, compression methods can be introduced to minimize the data while keeping the visualization accurate.. 6.2.1. Compression Techniques. Compression techniques can be used to send packed data over the pipelines of the system. Programmable graphics hardware enables data decompression at the end of the rendering pipeline. There are three advantages for decompression of compressed data in graphics hardware. Decompression in graphics hardware is faster than on a regular processor, more throughput is allowed throughout the complete rendering pipeline and less storage is needed allowing for more data to be stored in memory. Ma [12] discusses two options to compress time-varying volume data. One approach is to apply the compression to either the spatial domain or the time domain. Applying compression to both domains is also possible. Data compression applied to the spatial domain makes use of spatial coherency. Data compression techniques that are applied to the spatial domain are based on image compression techniques. For compression in time, video encoding can also be used where key frames and intermediate changes are stored. The second approach is to apply compression in both the spatial domain as well as the time domain at the same time. A way to achieve compression in both domains is by applying both image and video compression. Shen et al. [19] use a Time-Space Partitioning (TSP) tree. A TSP tree is an octree which describes the volume in a hierarchical way. Every node in the octree contains a binary tree and the nodes in the binary tree represent a different time span. Using a TSP tree, both spatial and time domain are included in the data compression scheme. Spatial and temporal compression can be used in combination with the multiresolution technique to send the data down the DVR pipeline in a compressed form. It implies that decompression is performed during the visualization phase, which requires a tradeoff between the level of compression and performance of the system to keep the visualization at interactive frame rates. Connected to this tradeoff is also the matter of where to do the decompression. The measured frame rates show that decompression can be done using the GPU if it is not too stressful. The other option is to perform decompression in a separate thread on the CPU. The latter option would, however, move the stress towards the data bus between main memory and graphics card, causing it to become the visualization bottle neck since the decompressed data would need to be send to the GPU.. 6.2.2. Controlling Data Reduction. To have more control over the bandwidth, the LOD selection method should be able to assign a resolution level based on a memory budget and a bandwidth budget, which is based on the system’s throughput. While a budget limits the amount of data loaded, it cannot control the exact time it takes to load a data slice. Li and Shen [8] overcome this problem by setting a global loading time and measuring the intermediate data loading time per block. After loading a block, the method reassigns resolution levels based on the global loading time left. Assigning.

(42) 30. Conclusions & Future Work. a resolution level to each block for each time step can cause it to vary during animation and show up as flickering. Interpolation between time steps of the blocks’ resolution could decrease the flickering from occurring. Prefetching can be included to preload data from hard disk into main memory while the animation is paused. The amount of preloaded data depends on the available memory. To include these strategies the process, that is responsible for the LOD selection and data loading, must be extended. To determine the next steps of development, in order to enable time-varying volume visualization at interactive frame rates, more tests have to be performed. These tests are to be done using the commodity computer as specified in section 1.2 and the different time slices. Results of these tests will show whether future development should focus on either introducing data compression techniques or on improving the data reduction method..

(43) Bibliography [1] L. Brandt, P. Schlatter, and D. S. Henningson. Transition in boundary layers subject to free-stream turbulence. J. Fluid Mech., 517:167–198, 2004. [2] M. Chevalier, P. Schlatter, A. Lundbladh, and D. S. Henningson. simson A Pseudo-Spectral Solver for Incompressible Boundary Layer Flows. Technical Report TRITA-MEK 2007:07, ISBN 978-91-7178-838-2, KTH Mechanics, Stockholm, Sweden, 2007. [3] J. L. Helman and L. Hesselink. Representation and display of vector field topology in fluid flow data sets. Computer, 22(8):27–36, 1989. [4] J. Jeong and F. Hussain. On the identification of a vortex. Journal of Fluid Mechanics, pages 69–94, 285 1995. [5] Y. S. Kachanov. Physical mechanisms of laminar-boundary-layer transition. Annu. Rev. Fluid Mech., 26:411–482, 1994. [6] J. Kim, S. Eberl, and D. Feng. Visualizing dual-modality rendered volumes using a dual-lookup table transfer function. Computing in Science and Engg., 9(1):20–25, 2008. [7] J. Kniss, C. Hansen, M. Grenier, and T. Robinson. Volume rendering multivariate data to visualize meteorological simulations: a case study. In VISSYM ’02: Proceedings of the symposium on Data Visualisation 2002, pages 189–ff, Aire-la-Ville, Switzerland, Switzerland, 2002. Eurographics Association. [8] X. Li and H.-W. Shen. Time-critical multiresolution volume rendering using 3d texture mapping hardware. In VVS ’02: Proceedings of the 2002 IEEE symposium on Volume visualization and graphics, pages 29–36, Piscataway, NJ, USA, 2002. IEEE Press. [9] P. Ljung. Adaptive sampling in single pass, gpu-based raycasting of multiresolution volumes. In R. Machiraju and T. Möller, editors, Volume Graphics, pages 39–46, Boston, Massachusetts, USA, 2006. Eurographics Association. [10] P. Ljung, C. Lundström, and A. Ynnerman. Multiresolution Interblock Interpolation in Direct Volume Rendering. In B. S. Santos, T. Ertl, and K. Joy, editors, EUROVIS - Eurographics /IEEE VGTC Symposium on Visualization, pages 259–266, Lisbon, Portugal, 2006. Eurographics Association. 31.

(44) 32. Bibliography. [11] P. Ljung, C. Lundström, A. Ynnerman, and K. Museth. Transfer function based adaptive decompression for volume rendering of large medical data sets. In VV ’04: Proceedings of the 2004 IEEE Symposium on Volume Visualization and Graphics, pages 25–32, Washington, DC, USA, 2004. IEEE Computer Society. [12] K.-L. Ma. Visualizing time-varying volume data. Computing in Science and Engineering, 5(2):34–42, 2003. [13] N. Max. Optical models for direct volume rendering. IEEE Transactions on Visualization and Computer Graphics, 1(2):99–108, 1995. [14] T. Porter and T. Duff. Compositing digital images. SIGGRAPH Computer Graphics, 18(3):253–259, 1984. [15] F. H. Post, B. Vrolijk, H. Hauser, R. S. Laramee, and H. Doleisch. The state of the art in flow visualisation: Feature extraction and tracking. Computer Graphics Forum, 22(4):775–792, 2003. [16] P. Schlatter. Direct numerical simulation of laminar-turbulent transition in boundary layer subject to free-stream turbulence. Diploma thesis, Institute of Fluid Dynamics, ETH Zürich, Switzerland, 2001. Also published as Tech. Rep., Department of Mechanics, KTH Stockholm, Sweden. [17] P. Schlatter, L. Brandt., and D. S. Henningson. Large-eddy simulation of bypass transition. In 6th European Fluid Mechanics Conference, Stockholm, Sweden, 2006. [18] P. J. Schmid and D. S. Henningson. Stability and Transition in Shear Flows. Springer, Berlin, Germany, 2001. [19] H. Shen, L. Chiang, and K.-L. Ma. A fast volume rendering algorithm for time-varying fields using a time-space partitioning (tsp) tree. In VIS ’99: Proceedings of the conference on Visualization ’99, pages 371–377, Los Alamitos, CA, USA, 1999. IEEE Computer Society Press..

(45)

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

För att uppskatta den totala effekten av reformerna måste dock hänsyn tas till såväl samt- liga priseffekter som sammansättningseffekter, till följd av ökad försäljningsandel

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

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

They used Computerized Speech Laboratory (CSL) program. Sentences were recorded and then used with the program to analyze phrasing and pitch. Users were allowed to do

The PHIN photo-injector test facility is being commis- sioned at CERN to demonstrate the capability to produce the required beam for the 3 rd CLIC Test Facility (CTF3), which

Industrial Emissions Directive, supplemented by horizontal legislation (e.g., Framework Directives on Waste and Water, Emissions Trading System, etc) and guidance on operating