Presentation is loading. Please wait.

Presentation is loading. Please wait.

ENV 200611.1 Envisioning Information Lecture 11 – Scientific Visualization Introduction Scalar 1D Data Ken Brodlie

Similar presentations


Presentation on theme: "ENV 200611.1 Envisioning Information Lecture 11 – Scientific Visualization Introduction Scalar 1D Data Ken Brodlie"— Presentation transcript:

1

2 ENV 200611.1 Envisioning Information Lecture 11 – Scientific Visualization Introduction Scalar 1D Data Ken Brodlie kwb@comp.leeds.ac.uk

3 ENV 200611.2 Data Visualization = Scientific Vis + Information Vis Scientific Visualization –Numerical data from science, engineering and medicine Information Visualization –Numeric and non-numeric data Ozone layer around earth Automobile web site - visualizing links

4 ENV 200611.3 Images, animation Visualization Reality Data ObservationSimulation Scientific Visualization – What is it?

5 ENV 200611.4 TIME (mins) OXYGEN (%) 02410283032 20.88.84.20.53.96.29.6 This table shows the observed oxygen levels in the flue gas, when coal undergoes combustion in a furnace A Simple Example

6 ENV 200611.5 Visualizing the Data - but is this what we want to see?

7 ENV 200611.6 Estimating behaviour between the data - but is this believable?

8 ENV 200611.7 Now it looks believable… but something is wrong

9 ENV 200611.8 At least this is credible..

10 ENV 200611.9 It is not only the data that we wish to visualize - it is also the bits inbetween! The data are samples from some underlying ‘field’ which we wish to understand First step is to create from the data a ‘best’ estimate of the underlying field - we shall call this a MODEL This needs to be done with care and may need guidance from the scientist The process of fitting a continuous curve (or surface, or volume) through given data is known as INTERPOLATION What Have We Learnt?

11 ENV 200611.10 This process is sometimes called ‘data enrichment’ or ‘enhancement’ If data is sparse, but accurate, we INTERPOLATE to get sufficient data to create a meaningful representation of our model If sparse, but in error, we may need to APPROXIMATE Data Enrichment

12 ENV 200611.11 Overall the Visualization Process can be divided into four logical operations: –DATA SELECTION: choose the portion of data we want to analyse –DATA ENRICHMENT: interpolating, or approximating raw data - effectively creating a model –MAPPING: conversion of data into a geometric representation –RENDERING: assigning visual properties to the geometrical objects (eg colour, texture) and creating an image The Visualization Process

13 ENV 200611.12 Data EnrichMapRender Interpolate to create model Select a line graph as technique and create line segments from enriched data Draw line segments on display in suitable colour, line style and width Select Extract part of data we are interested in Back to the simple example

14 ENV 200611.13 This model has become the basis of a family of visualization software systems – developed from late 1980s Visualization seen as a pipeline of simple processes eg contouring –read in data –create contour lines –draw contour lines Systems provide modules implementing these steps….. Plus a ‘visual programming’ environment to allow user to connect modules together Visualization Software Systems

15 ENV 200611.14 Visual Programming - IRIS Explorer

16 ENV 200611.15 Visual programming allows easy experimentation which is what one needs in visualization Examples are: –IRIS Explorer www.nag.co.uk –AVS www.avs.com –OpenDX (grown from IBM Visualization Data Explorer) www.opendx.org Visual programming systems

17 ENV 200611.16 The mapping stage is where we decide which visualization technique to apply to our ‘enriched’ data There are a bewildering range of these techniques - how do we know which to choose? First step is to classify the data into sets and associate different techniques with different sets. Classification of mapping techniques

18 ENV 200611.17 The underlying field is a function F(x) –F represents the oxygen level and is the DEPENDENT variable –x represents the time and is the INDEPENDENT variable It is a one dimensional scalar field because –the independent variable x is 1D –the dependent variable F is a scalar value Back to the simple example

19 ENV 200611.18 The underlying field can be regarded as a function of many variables: say F(x) where F and x are both vectors: F = (F 1, F 2,... F m ) x = (x 1, x 2,... x n ) The dimension is n The dependent variable can be scalar (m=1) or vector (m>1) General classification scheme

20 ENV 200611.19 This leads to a simple classification of data as: E n S/V So the simple example is of type: E 1 S Flow within a volume can be classed as: E 3 V 3 A Simple Notation

21 ENV 200611.20 Can you give suitable techniques for the following classes: E S 1 E S 2 E S 3 E V 3 3 Exercise

22 ENV 200611.21 Overview of Visualization Techniques Different techniques for different types of data

23 ENV 200611.22 Scalar 1D data: E S 1 Scalar: 1 value 1D: value is measured in terms of 1 other variable The humble graph! Clear overlap here between SciVis and InfoVis… A nice example of web-based visualization…. http://fx.sauder.ubc.ca/plot.html

24 ENV 200611.23 Scalar 2D Data: E S 2 Here is yesterday’s temperature over USA Can you use a 1D technique for this sort of data? Can you improve this visualization? http://weather.unisys.com/surface/

25 ENV 200611.24 Scalar 2D Data: E S 2 Here is a surface view of the tsunami… For movies, see: http://www.pmel.noaa.gov/tsunami/indo_1204.html movie

26 ENV 200611.25 Scalar 3D Data: E S 3 As dimension increases, it becomes harder to visualize on a 2D surface Here we see a lobster within resin.. where the resin is represented as semi- transparent Technique known as volume rendering Image from D. Bartz and M. Meissner

27 ENV 200611.26 Vector 2D Data:E V2 2 This is a flow field in two dimensions Simple technique is to use arrows.. What are the strengths and weaknesses of this approach? During the module, we will discover better techniques for this

28 ENV 200611.27 Vector 3D Data:E V3 3 This is flow in a volume Arrows become extremely cluttered Here we are tracing the path of a particle through the volume

29 ENV 200611.28 Visualization Techniques – Scalar 1D Data

30 ENV 200611.29 f x 1234 0 1 2 3 4 Given (x 1,f 1 ), (x 2,f 2 ), (x 3,f 3 ), (x 4,f 4 ) - estimate the value of f at other values of x - say, x*. Suppose x*=1.75 1.75 1D Interpolation – The Problem

31 ENV 200611.30 f x 1234 0 1 2 3 4 Take f-value at x* as f-value of nearest data sample. So if x* = 1.75, then f estimated as 3 1.75 Nearest Neighbour

32 ENV 200611.31 f x 1234 0 1 2 3 4 Join data points with straight lines- read off f-value corresponding to x*.. in the case that x*=1.75, then f estimated as 2.5 1.75 2.5 Linear Interpolation

33 ENV 200611.32 f(x*) = (1-t*) f 1 + t* f 2 The functions j(t)=1-t and k(t)=t are basis functions. OR, saving a multiplication: f(x*) = f 1 + t* ( f 2 - f 1 ) Suppose x* lies between x 1 and x 2. Then apply the transformation: t = (x-x 1 )/(x 2 -x 1 ) so that t goes from 0 to 1. t*=(1.75-1)/(2-1)=0.75 f(1.75)=0.25*1+0.75*3 =2.5 f(1.75)=1+0.75*(3-1) =2.5 Linear Interpolation – Doing the Calculation x1x1 x2x2 f1f1 f2f2 01 t* x* f*

34 ENV 200611.33 Nearest Neighbour –Very fast : no arithmetic involved –Continuity : discontinuous value –Bounds : bounds fixed at data extremes Linear Interpolation –Fast : one multiply, one divide –Continuity : value only continuous, not slope (C 0 ) –Bounds : bounds fixed at data extremes Nearest Neighbour and Linear Interpolation

35 ENV 200611.34 Drawing a Smooth Curve Rather than straight line between points, we create a curve piece x1x1 x2x2 f1f1 f2f2 g1g1 g2g2 We estimate the slopes g 1 and g 2 at the data points, and construct curve which has these values and these slopes at end-points

36 ENV 200611.35 Slopes estimated as some average of the slopes of adjacent chords - eg to estimate slope at x 2   x1x1 x2x2 x3x3 g2g2 f2f2 f1f1 f3f3 g 2 usually arithmetic mean (ie average) of        (f 2 -f 1 )/(x 2 -x 1 ) Slope Estimation

37 ENV 200611.36 x1x1 x2x2 f1f1 f2f2 g1g1 g2g2 f(x) = c 1 (x) * f 1 + c 2 (x) * f 2 + h*(d 1 (x) * g 1 - d 2 (x) * g 2 ) c i (x), d i (x) are cubic Hermite basis functions, h = x 2 – x 1. Once the slopes at x 1 and x 2 are known, this is sufficient to define a unique cubic polynomial in the interval [x 1,x 2 ] Piecewise Cubic Interpolation

38 ENV 200611.37 Cubic Hermite Basis Functions Here they are: Again set t = (x - x 1 )/(x 2 – x 1 ) c 1 (t) = 3(1-t) 2 - 2(1-t) 3 c 2 (t) = 3t 2 - 2t 3 d 1 (t) = (1-t) 2 - (1-t) 3 d 2 (t) = t 2 - t 3 Check the values at x = x 1, x 2 (ie t=0,1)

39 ENV 200611.38 Coal data - cubic interpolation

40 ENV 200611.39 More computation needed than with nearest neighbour or linear interpolation. Continuity: slope continuity (C 1 ) by construction - and cubic splines will give second derivative continuity (C 2 ) Bounds: bounds not controlled generally - eg if arithmetic mean used in slope estimation... Piecewise Cubic Interpolation

41 ENV 200611.40 However special choices for slope estimation do give control over shape If the harmonic mean is used 1/g 2 = 0.5 ( 1/  1 + 1/  2 ) then we find that f(x) lies within the bounds of the data Shape Control

42 ENV 200611.41 Coal data – keeping within the bounds of the data

43 ENV 200611.42 Rendering Line Graphs The final rendering step is straightforward We can assume that the underlying graphics system will be able to draw straight line segments Thus the linear interpolation case is trivial For curves, we do an approximation as sequence of small line segments


Download ppt "ENV 200611.1 Envisioning Information Lecture 11 – Scientific Visualization Introduction Scalar 1D Data Ken Brodlie"

Similar presentations


Ads by Google