scientific visualization an introduction

32
Scientific Visualization An Introduction Michel O. R. Eboueya Computer Sciences Department Pôle Sciences et Technologies Université de La Rochelle

Upload: oya

Post on 05-Jan-2016

28 views

Category:

Documents


0 download

DESCRIPTION

Scientific Visualization An Introduction. Michel O. R. Eboueya Computer Sciences Department Pôle Sciences et Technologies Université de La Rochelle. Outline. Introduction:Definitions, Goals and History of Visualization Part 1 Visualization Concepts - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Scientific Visualization An Introduction

Scientific VisualizationAn Introduction

Michel O. R. Eboueya

Computer Sciences Department Pôle Sciences et Technologies

Université de La Rochelle

Page 2: Scientific Visualization An Introduction

2

Outline

• Introduction: Definitions, Goals and History of Visualization

• Part 1– Visualization Concepts

– Characterization of data and Short Vocabulary

– Algorithms (Scalars, Vectors, Direct volume rendering )

• Part 2– Visualization Techniques

– Advanced topics (Virtual reality,Texture )

– Scientific Visualization Tools (Some commonly used programs )

• Conclusion

Page 3: Scientific Visualization An Introduction

3

Algorithms

Scalar AlgorithmsColor MappingContouring (contour tracking, Marching squares, cubes…)scalar generation

Vector AlgorithmHedgehog and Oriented GlyphsWarpingDisplacement PlotsTime AnimationsStreamlines

Modeling AlgorithmsImplicit FunctionsGlyphsCuttings

Page 4: Scientific Visualization An Introduction

4

Volume de visualisation

Volume Visualization(3d domain): Displays volumetric (3D-mesh) data by showing a color, greyscale or object at every grid point. Usually uses transparency to show as much data as possible.

Page 5: Scientific Visualization An Introduction

5

DVR Algorithms

• Data Classification for Volume Visualization• Surface-fitting:

– User Picks Threshold Value

• Direct Volume Rendering:– User Specifies Color Table Map Data Values to Meaningful Colors

– User Specifies Opacity Table Map Interesting Data to Opaque

– Map Other Data to Transparent

– Setting up the Tables

Page 6: Scientific Visualization An Introduction

6

DVR Algorithms

Data Classification for Volume Visualization

Page 7: Scientific Visualization An Introduction

7

Direct ScVs Al.

• ray-castingA volume viewing algorithm in which sight rays are cast from the viewing plane through the volume. The tracing of the ray stops when the visible voxels are determined by accumulating or encountering an opaque value. [KAU91]

• ray-tracing The general technique of computing an image by projecting rays into a scene and using their interactions with the contents of that scene to determine pixel colors. In surface- rendering methods, rays are intersected and possibly reflected or refracted by objects in the scene to determine visible colors. Ray-tracing is also used in volume visualization and is a type of DVR. [WOL93]

Page 9: Scientific Visualization An Introduction

9

Object Based Rendering: Ray Tracing

http://gandalf.iuk.tu-harburg.de/hypgraph/raytrace/rtrace1.htm

Page 10: Scientific Visualization An Introduction

10

DVR Algorithms

Ray Casting (Image-order methods)Ray-casting MethodsBasic Idea • Cast Rays from Image Plane through Volume to Find Pixel Color • No Intermediate Surfaces • Renders Volume Directly Ray-casting Fundamentals: Brute Force Algorithm 1. For each Pixel 2. For each f(i,j,k) Along a Ray from Pixel 3. Check f(i,j,k) in Classification Tables 4. If New Substance 5. Find Surf Normal/Compute Color 6. Weight Color by Opacity 7. Accumulate Color Contribution and Opacity 8. Pixel Gets Accumulated Color

Page 11: Scientific Visualization An Introduction

11

DVR Algorithms

Ray-casting Advantages

• No Binary Classification, e.g., inside or outside as in surface fitting methods

• Shows Structure Between Surfaces

• Displays Small and Poorly Defined Features

• Readily Parallelizes

Ray-casting Disadvantages

• Expensive - Cost Proportional to Volume Size (N^3)

• Combining Geometry and Volume Data is Difficult

Rendering Methods and Hardware are Unknown

Page 12: Scientific Visualization An Introduction

12

Volume Rendering

• Displays all of the 3-D data at once, like an X-ray: Denser parts are more opaque.

• User controls the density of various data values.

Page 13: Scientific Visualization An Introduction

13

DVR Algorithms

Ray-casting Example

Dolphin head (Cranford, Elvins, Mercurio)

Page 14: Scientific Visualization An Introduction

14

Projection methods in DVR Ray Casting

• Ray-casting is the most used algorithm for the generation of high quality images. It performs an image-order traversal of the image plane pixels, determining a color and opacity for each pixel. A ray is fired from the center of each pixel through the volume. The colors and opacities are summed along each ray and the result is used to shade the pixel. The ray continues until it exits the volume or until the sums become greater than one.

• The first step is for the user to set up color and opacity tables as discussed in the data classification section. The user then sets the viewing and lighting (if any) information. The ray-caster starts firing rays through the pixels. When a cell is intersected between gridpoints, an interpolation scheme can be used to determine the data value, or for voxel-based rendering the value at the central grid point can be used. Based on this value a color and opacity is assigned from the look up tables. The color and opacity values are modified by the surface gradients, weighted, and then added to the previous values for the ray. Usually values closer to the front are given a higher weighting. The ray then continues through the volume.

• Ray-casting is very cpu-intensive but the images can show the entire data set and not just a particular surface. Also, this algorithm can be easily parallelized.

Page 15: Scientific Visualization An Introduction

15

DVR Algorithms

Page 16: Scientific Visualization An Introduction

16

Projection methods in DVR Splatting

• Splatting• Splatting performs a front-to-back object-ordered traversal of the voxels in the dataset.

Each voxel's contribution to the image is computed and added to the other contributions. • The first step is to determine in what order to traverse the volume. The closest face (and

corner) to the image plane is determined. Then the closest voxels are splatted first. Each voxel is given a color and opacity according to the look up tables set by the user. These values are modified according to the gradient.

• Next the voxel is projected into image space. To compute the contribution for a particular voxel, a reconstruction kernel is used. For an orthographic projection a common kernel is a round Gaussian. The projection of this kernel into image space (called its footprint) is computed. This size is adjusted according to the relative sizes of the volume and the image plane so that the volume can fill the image. Then the center of the kernel is placed at the center of the voxel's projection in the image plane (note that this does not necessarily correspond to a pixel center). Then the resultant shade and opacity of a pixel is determined by the sum of all the voxel contributions for that pixel, weighted by the kernel.

• A voxel's contribution is high near the center of its projection and lower when far from the center. This is sort of like the splat a snowball makes when thrown against a wall. Depending upon the relative sizes of the volume and image plane, several voxels may contribute to a single pixel or a single voxel may contribute to several pixels.

Page 17: Scientific Visualization An Introduction

17

Splatting

• The term splatting derives from the analogy with throwing snowballs at a glass plate. The contribution of an individual snowball is higher nearer its center and gradually tails of towards the edges. This is reflected in splatting in the filter used to calculate the contributions of the voxels to the final images.

• Splatting has similar advantages and disadvantages to the standard volume rendering techniques.

• However it does have an additional advantage that it is possible for the user to see the image growing one slice at a time, rather than one pixel at a time as with the ray casting technique.

Page 18: Scientific Visualization An Introduction

18

Splatting

Page 19: Scientific Visualization An Introduction

19

Splatting

Splatting Example

Dolphin Head (Cranford, Elvins, Mercurio)

Page 20: Scientific Visualization An Introduction

20

Algorithms

Scalar AlgorithmsColor MappingContouring (contour tracking, Marching squares, cubes…)scalar generation

Vector AlgorithmHedgehog and Oriented GlyphsWarpingDisplacement PlotsTime AnimationsStreamlines

Modeling AlgorithmsImplicit FunctionsGlyphsCuttings

Page 21: Scientific Visualization An Introduction

-------------------------------------------------------------------------------M. Eboueya. Algos de la ViSC.

[email protected]

21

Implicit Functions

Modéliser les structures moléculaires avec leur champs d'électrons[.

La mécanique quantique représente la répartition des électrons au sein d'un atome en tant que fonction de densité dans l'espace tridimensionnel. Cette fonction donne la densité en un point donné :

D(x, y, z) = exp(- a.r) avec r = rayon de l'atome.

A partir de là, on peut exprimer la surface comme étant les points qui satisfont l'équation

D(x, y, z) = T ( 1 ) avecT = seuil.

Page 22: Scientific Visualization An Introduction

-------------------------------------------------------------------------------M. Eboueya. Algos de la ViSC.

[email protected]

22

Implicit Functions

• En fait, on peut dire que c'est la distance d'un point de la surface à un point du squelette qui détermine.

• D(x, y, z) = _( bi exp( -ai.ri ))avec ri =

distance de (x, y, z) au centre du i eme atome.• Par définition, on

appelle fonction implicite une fonction de la forme f(x ,y, z) = k, où k est une constante arbitraire. on

appelle surface implicite une surface dont l'ensemble des points vérifie l'équation S = {P e R3 / f(P)= k}où k est appelé l'isovaleur.

Page 23: Scientific Visualization An Introduction

-------------------------------------------------------------------------------M. Eboueya. Algos de la ViSC.

[email protected]

23

Implicit Functions

s1 s2

p

Surf1

Surf2

Page 24: Scientific Visualization An Introduction

-------------------------------------------------------------------------------M. Eboueya. Algos de la ViSC.

[email protected]

24

Implicit Functions

Page 25: Scientific Visualization An Introduction

-------------------------------------------------------------------------------M. Eboueya. Algos de la ViSC.

[email protected]

25

Implicit Functions

Page 26: Scientific Visualization An Introduction

-------------------------------------------------------------------------------M. Eboueya. Algos de la ViSC.

[email protected]

26

Implicit Modeling

Page 27: Scientific Visualization An Introduction

27

Glyphs

• Glyphs used to indicate normals.

• Glyphing is one of the most versatile visualization technique. They are often designed to show many variables simultaneously. The secret of glyph design is simple, an intuitive, relation type between data variable(s) and glyph features.

Page 28: Scientific Visualization An Introduction

28

Cutting

• Gas density as fluid flows through a combustion chamber.

• The Color correspond to the flow density

Page 29: Scientific Visualization An Introduction

29

Conclusion on Volume Visualization Methods

• The fundamental algorithms are of two types: direct volume rendering (DVR) algorithms and surface-fitting (SF) algorithms.

• DVR methods map elements directly into screen space without using geometric primitives as an intermediate representation. DVR methods are especially good for datasets with amorphous features such as clouds, fluids, and gases. A disadvantage is that the entire dataset must be traversed for each rendered image. Sometimes a low resolution image is quickly created to check it and then refined. The process of increasing image resolution and quality is called "progressive refinement".

• SF methods are also called feature-extraction or iso-surfacing and fit planar polygons or surface patches to constant-value contour surfaces. SF methods are usually faster than DVR methods since they traverse the dataset once, for a given threshold value, to obtain the surface and then conventional rendering methods (which may be in hardware) are used to produce the images. New views of the surface can be quickly generated. Using a new threshold is time consuming since the original dataset must be traversed again.

Page 30: Scientific Visualization An Introduction

30

Vocabulary Cont.

• surface modelingTechniques and tools for building up computer representations of objects by modeling their surfaces, usually as a collection of polygonal facets. [WOL93]

• surface renderingan indirect technique used for visualizing volume primitives by first converting them into an intermediate surface representation (see surface reconstruction) and then using conventional computer graphics techniques to render them. [KAU91]

• surface reconstructionA procedure that converts a set of data points or cross sections into a surface representation by identifying the surface and representing it with geometric surface primitives. The reconstruction procedure may use one of several techniques, such as contouring, tiling, marching cubes, surface detection, and surface tracking. [KAU91]

Page 31: Scientific Visualization An Introduction

31

Vocabulary Cont.

• volume renderingVolume rendering is a direct technique for visualizing volume primitives without any intermediate conversion of the volumetric dataset to surface representation. [KAU91]

• isosurfaceSurfaces within a volume that have the same parameter value. [WOL93]

• Marching CubesA method of visualizing 3-D data structures by looking for level surfaces in a 3-space comprised of a lattice of points. In contrast to volume rendering, where one can see the entire structure, marching cubes only allows a single surface to be rendered. [WOL93]

Page 32: Scientific Visualization An Introduction

32

Visualization Techniques