Visualization. Images are used to aid in understanding of data. Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26]

Similar documents
11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes

Visualization. CSCI 420 Computer Graphics Lecture 26

Visualization Computer Graphics I Lecture 20

Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University

Visualization Computer Graphics I Lecture 20

Volume visualization. Volume visualization. Volume visualization methods. Sources of volume visualization. Sources of volume visualization

Data Visualization (DSC 530/CIS )

Data Visualization (DSC 530/CIS )

Scientific Visualization. CSC 7443: Scientific Information Visualization

Scalar Data. Visualization Torsten Möller. Weiskopf/Machiraju/Möller

CIS 467/602-01: Data Visualization

Lecture overview. Visualisatie BMT. Fundamental algorithms. Visualization pipeline. Structural classification - 1. Structural classification - 2

Data Visualization (CIS/DSC 468)

Data Representation in Visualisation

Scalar Data. CMPT 467/767 Visualization Torsten Möller. Weiskopf/Machiraju/Möller

Isosurface Rendering. CSC 7443: Scientific Information Visualization

Volume Illumination & Vector Field Visualisation

Indirect Volume Rendering

5. Volume Visualization

Scalar Data. Alark Joshi

Volume Rendering. Computer Animation and Visualisation Lecture 9. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics

Geometric Representations. Stelian Coros

Lecture overview. Visualisatie BMT. Transparency. Transparency. Transparency. Transparency. Transparency Volume rendering Assignment

Scalar Visualization

CSC Computer Graphics

Data Visualization (CIS/DSC 468)

Clipping. CSC 7443: Scientific Information Visualization

CIS 467/602-01: Data Visualization

Previously... contour or image rendering in 2D

Volume Illumination, Contouring

Volume Rendering. Lecture 21

Scalar Algorithms: Contouring

Volume Visualization. Part 1 (out of 3) Volume Data. Where do the data come from? 3D Data Space How are volume data organized?

Volume Visualization

Scalar Visualization

8. Tensor Field Visualization

Contours & Implicit Modelling 4

Scalar Field Visualization I

Contours & Implicit Modelling 1

Implicit Surfaces & Solid Representations COS 426

Fundamental Algorithms

Solid Modeling. Michael Kazhdan ( /657) HB , FvDFH 12.1, 12.2, 12.6, 12.7 Marching Cubes, Lorensen et al.

Computer Graphics Ray Casting. Matthias Teschner

Scalar Field Visualization I

Polygon Meshes and Implicit Surfaces

Polygon Meshes and Implicit Surfaces

Physical Modeling and Surface Detection. CS116B Chris Pollett Mar. 14, 2005.

Lecture overview. Visualisatie BMT. Vector algorithms. Vector algorithms. Time animation. Time animation

Volume Illumination and Segmentation

Data analysis with ParaView CSMP Workshop 2009 Gillian Gruen

A Survey of Volumetric Visualization Techniques for Medical Images

CHAPTER 1 Graphics Systems and Models 3

11/1/13. Polygon Meshes and Implicit Surfaces. Shape Representations. Polygon Models in OpenGL. Modeling Complex Shapes

CIS 4930/ SCIENTIFICVISUALIZATION

Vector Field Visualisation

Iso-surface cell search. Iso-surface Cells. Efficient Searching. Efficient search methods. Efficient iso-surface cell search. Problem statement:

Polygonization of Implicit Surfaces

Spatial Data Structures

4. Basic Mapping Techniques

GPU-based Volume Rendering. Michal Červeňanský

Scalar Field Visualization. Some slices used by Prof. Mike Bailey

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011

Lecture notes: Object modeling

Visualization Toolkit (VTK) An Introduction

Introduction to volume rendering. Paul Bourke

CSG obj. oper3. obj1 obj2 obj3. obj5. obj4

9. Three Dimensional Object Representations

Overview of 3D Object Representations

Marching Cubes Robert Hunt CS 525. Introduction

Visualization Toolkit(VTK) Atul Kumar MD MMST PhD IRCAD-Taiwan

Curves and Surfaces Computer Graphics I Lecture 10

Direct Volume Rendering

Contouring and Isosurfaces. Ronald Peikert SciVis Contouring 2-1

Computer Graphics. - Volume Rendering - Philipp Slusallek

3D Modeling: Surfaces

Applications of Explicit Early-Z Culling

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming

Volume Visualiza0on. Today s Class. Grades & Homework feedback on Homework Submission Server

Surface Rendering. Surface Rendering

Volume Graphics Introduction

Introduction to Geometry. Computer Graphics CMU /15-662

Lecture overview. Visualisatie BMT. Goal. Summary (1) Summary (3) Summary (2) Goal Summary Study material

Efficient Volumetric Ray Casting for Isosurface Rendering

Special Topics in Visualization

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

Computer Graphics I Lecture 11

Introduction to Python and VTK

Solid Modeling. Thomas Funkhouser Princeton University C0S 426, Fall Represent solid interiors of objects

Point based Rendering

Chapter 24. Creating Surfaces for Displaying and Reporting Data

Who has worked on a voxel engine before? Who wants to? My goal is to give the talk I wish I would have had before I started on our procedural engine.

Rendering Smoke & Clouds

Introduction to 3D Graphics

Advanced 3D-Data Structures

Course Review. Computer Animation and Visualisation. Taku Komura

Ray Casting of Trimmed NURBS Surfaces on the GPU

Particle-Based Volume Rendering of Unstructured Volume Data

Introduction to Scientific Visualization

MODELING AND HIERARCHY

Transcription:

Visualization Images are used to aid in understanding of data Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26]

Tumor SCI, Utah

Scientific Visualization Visualize large datasets in scientific and medical applications Generally do not start with a 3D model CT Scan - whiter means higher radiodensity

Scientific Visualization Must deal with very large data sets CT or MRI, e.g. 512 512 200 50MB points Visible Human 512 512 1734 433 MB points Visualize both real-world and simulation data Visualization of Earthquake Simulation Data Visualizations of simulated room fires Fluid simulation

Types of Data Scalar fields (2D or 3D volume of scalars) E.g., x-ray densities (MRI, CT scan) Vector fields (3D volume of vectors) E.g., velocities in a wind tunnel Tensor fields (3D volume of tensors [matrices]) E.g., stresses in a mechanical part All could be static or through time

Outline 2D Scalar Field (Height Fields) z = f(x,y) 3D Scalar Fields v = f(x,y,z) Volume Rendering Vector Fields Blood flow in human carotid artery

2D Scalar Field z = f(x,y) 2 2 2 2 1 x y, if x + y < 1 f ( x, y) = 0 How do you visualize this function?

2D Scalar Field z = f(x,y) 2 2 2 2 1 x y, if x + y < 1 f ( x, y) = 0 Contours Topographical maps to indicate elevation

2D Scalar Field z = f(x,y) f ( x, y) = 2 2 2 2 1 x y, if x + y < 1 0 Density plot Density is proportional to the value of the function

2D Scalar Field z = f(x,y) f ( x, y) = 2 2 2 2 1 x y, if x + y < 1 0 Gray scale density plot z = 0 => (0,0,0) z = 0.25 => (0,0,1) z = 0.5 => (1,0,0) z = 0.75 => (1,1,0) z = 1.0 => (1,1,1)

2D Scalar Field z = f(x,y) f ( x, y) = 2 2 2 2 1 x y, if x + y < 1 0 Height plot Shows shape of the function

Height Field Visualizing an explicit function z = f(x,y) Adding contour curves f(x,y) = c

Meshes Function is sampled (given) at x i, y i, 0 i, j n Assume equally spaced Generate quadrilateral or triangular mesh [Asst 1]

Contour Curves f ( x, y) = 2 2 2 2 1 x y, if x + y < 1 0 Contour curve at f(x,y) = c How can we draw the curve? Sample at regular intervals for x,y f < c f > c

Marching Squares Sample function f at every grid point x i, y j For every point f i j = f(x i, y j ) either f i j c or f i j > c

Ambiguities of Labelings Ambiguous labels Different resulting contours Resolution by subdivision (where possible)

Cases for Vertex Labels 16 cases for vertex labels 4 unique mod. symmetries

Marching Squares Examples Can you do better?

Interpolating Intersections Approximate intersection Midpoint between x i, x i+1 and y j, y j+1 Better: interpolate If f i j = a is closer to c than b = f i+1 j then intersection is closer to (x i, y j ): Analogous calculation for y direction x i x i+1 x f i j = a < c c < b = f i+1 j

Marching Squares Examples

Marching Squares Examples Adaptive Subdivision

Outline 2D Scalar Fields 3D Scalar Fields Volume Rendering Vector Fields

3D Scalar Fields Volumetric data sets Example: tissue density Assume again regularly sampled Represent as voxels Two rendering methods Isosurface rendering Direct volume rendering (use all values [next])

Isosurfaces Generalize contour curves to 3D Isosurface given by f(x,y,z) = c f(x, y, z) < c inside f(x, y, z) = c surface f(x, y, z) > c outside

Marching Cubes Display technique for isosurfaces 3D version of marching squares How many possible cases? 2 8 = 256

Marching Cubes 14 cube labelings (after elimination symmetries)

Marching Cube Tessellations Generalize marching squares, just more cases Interpolate as in 2D Ambiguities similar to 2D

Marching Squares Examples

Marching Squares Examples

Example (Utah)

Outline 2D Scalar Fields 3D Scalar Fields Volume Rendering Vector Fields

Volume Rendering Some data is more naturally modeled as a volume, not a surface Use all voxels and transparency (a-values) Ray-traced isosurface f(x,y,z)=c Same data, rendered as a volume

Why Bother with Volume Rendering? Not all voxels contribute to final image Could miss most important data by selecting wrong isovalue All voxels contribute to the image more informative less misleading (the isosurface of noisy data is unpredictable) Simpler and more efficient than converting a very complex data volume (like the visible human) to polygons and then rendering them

Surface vs. Volume Rendering 3D model of surfaces Convert to triangles Draw primitives Lose or disguise data Good for opaque objects Scalar field in 3D Convert to RGBA values Render volume directly See data as given Good for complex objects

Sample Applications Medical Computed Tomography (CT) Magnetic Resonance Imaging (MRI) Ultrasound Engineering and Science Computational Fluid Dynamics (CFD) aerodynamic simulations Meteorology atmospheric pressure, temperature, wind speed, wind direction, humidity, precipitation Astrophysics simulate galaxies Simulate gravitational contraction of complex N-body systems A computer simulation of high velocity air flow around the Space Shuttle.

Volume Rendering Pipeline Data volumes come in all types: tissue density (CT), wind speed, pressure, temperature, value of implicit function. Data volumes are used as input to a transfer function, which produces a sample volume of colors and opacities as output. Typical might be a 256x256x64 CT scan That volume is rendered to produce a final image. Transfer function Rendering Data sets Sample Volume Image

Transfer Functions Transform scalar data values to RGBA values Apply to every voxel in volume Highly application dependent Start from data histogram

Transfer Function Example Mantle Convection Scientific Computing and Imaging (SCI) University of Utah

Transfer Function Example G. Kindlmann

Volume Rendering Pipeline Use opacity for emphasis CT Scan - whiter means higher radiodensity

Volume Rendering Transfer function Rendering Data sets Sample Volume Image Three volume rendering techniques Volume ray casting Splatting 3D texture mapping

Volume Ray Casting Ray Casting Integrate color and opacity along the ray Simplest scheme just takes equal steps along ray, sampling opacity and color Grids make it easy to find the next cell

Trilinear Interpolation Interpolate to compute RGBA away from grid Nearest neighbor yields blocky images Use trilinear interpolation 3D generalization of bilinear interpolation Nearest neighbor Trilinear interpolation

Trilinear Interpolation Bilinear interpolation Trilinear interpolation

Splatting Alternative to ray tracing Assign shape to each voxel (e.g., sphere or Gaussian) Project onto image plane (splat) Draw voxels back-to-front Composite (a-blend)

3D Textures Alternative to ray tracing, splatting Build a 3D texture (including opacity) Draw a stack of polygons, back-to-front Efficient if supported in graphics hardware Few polygons, much texture memory 3D RGBA texture Viewpoint Draw back to front

Other Techniques Use CSG for cut-away not head and or

Acceleration of Volume Rendering Basic problem: Huge data sets Octrees Use error measures to stop iteration Exploit parallelism

Outline Height Fields and Contours Scalar Fields Volume Rendering Vector Fields

Vector Fields Visualize vector at each (x,y,z) point Example: velocity field Hedgehogs Use 3D directed line segments (sample field) Orientation and magnitude determined by vector Glyph Use other geometric primitives Cones Blood flow in human carotid artery

Glyphs for air flow Vector Fields (Utah) Tornado Magnetic field Plasma disruption

More Flow Examples Banks and Interrante

Interaction: Data Probe SCI, Utah

Example of visualization application University of Utah http://www.sci.utah.edu/

Summary Height Fields and Contours Scalar Fields Isosurfaces Marching cubes Volume Rendering Volume ray tracing Splatting 3D Textures Vector Fields Hedgehogs Glyph

Announcements Course Evaluation is now open Until Monday, May 7th Please complete the evaluation We read it and listen to what you say