lecture 2 : Visualization Basics Bong-Soo Sohn School of Computer Science and Engineering Chung-Ang University
Data Acquisition Scanned/Sampled Data Computed/Simulated Data CT/MRI/Ultrasound Electron Microscopy Computed/Simulated Data Modeled/Synthetic Data
Time-Varying Data Time-Varying Data from Scanning
Scanners can yield both domains and functions on domains Imaging Scanners Scanners can yield both domains and functions on domains Scanners yielding domains Point Cloud Scanners: 300μ-800μ CT, MRI: 10μ-200μ Light microscopy: 5μ-10μ Electron microscopy: < 1μ Ultra microscopy like Cyro EM 50Å-100Å
Imaging Techniques Ultrasound Computed Tomography (CT) Measures spacially varying X-ray attenuation coefficient Each slice 1-10mm thick High resolution , low noise Good for high density solids Magnetic Resonance Imaging (MRI) Measures distribution of mobile hydrogen nuclei by quantifying relaxation times Moderate noise Works well with soft tissue Ultrasound Handheld probe Inexpensive, fast, and real-time High noise with moderate resolution
Various Data Characteristics Time varying data Vector , Tensor Meshless Sparse Static Scalar Meshed Dense
Data Format Mesh (Grid) Type Mesh type conversion Regular Rectilinear Unstructured Meshless Mesh type conversion Meshless to meshed
Mesh Types Mesh taxonomy regular rectilinear meshes: There is an indexing scheme, say i,j,k, with the actual positions being determined as i*dx, j*dy, k*dz. In 2-D, we get a pixel, and in 3-D, a voxel. dx A 2-D regular rectilinear cartesian grid dy
Mesh Types (contd) Irregular rectilinear meshes: Individual cells are not identical but are rectangular, and connectivity is related to a rectangular grid dx, dy are not constant in grid, but connectivity is similar in topology to regular grids.
Mesh types (contd) Curvilinear (structured) grid: a regular grid subjected to a non-linear transformation so as to fill a volume or surround an object. A 2-D curvilinear grid
Mesh Types (contd) Dynamic (Time-varying) meshes Unstructured: Hybrid: Cells are of any shape (tetrahedral) hexahedra, etc with no implicit connectivity Hybrid: Combination of curvilinear and unstructured grids. Dynamic (Time-varying) meshes
Triangulations (Delaunay) & Dual Diagrams (Voronoi) Meshless (particle) Data Meshed Data Triangulations (Delaunay) & Dual Diagrams (Voronoi) Union of balls Triangulation & Dual
Multivariate Time Series Field Data Scalar temperature, pressure, density, energy, change, resistance, capacitance, refractive index, wavelength, frequency & fluid content. Vector velocity, acceleration, angular velocity, force, momentum, magnetic field, electric field, gravitational field, current, surface normal Tensor stress, strain, conductivity, moment of inertia and electromagnetic field Multivariate Time Series
Interpolation Interpolation/Approximation are often used to approximate the data on the domain In other words, it constructs a continuous function on the domain
Linear Interpolation on a line segment p0 p p1 The Barycentric coordinates α = (α0 α1) for any point p on line segment <p0 p1>, are given by fp f1 f f0 which yields p = α0 p0 + α1 p1 and fp = α0 f0 + α1 f1
Linear interpolation over a triangle p1 p p2 For a triangle p0,p1,p2, the Barycentric coordinates α = (α0 α1 α2) for point p,
Linear interpolant over a tetrahedron Linear Interpolation within a Tetrahedron (p0,p1,p2,p3) α = αi are the barycentric coordinates of p p3 p p0 p2 p1 fp3 fp fp2 fp0 fp1
Trilinear Interpolation Unit Cube (p1,p2,p3,p4,p5,p6,p7,p8) Tensor in all 3 dimensions p1 p2 p3 p4 p p5 p6 p7 p8 Trilinear interpolant
comparison Bicubic vs Bilinear vs nearest point
Resampling Used in image resize or data type conversion Rectilinear to rectilinear Unstructured to rectilinear
Rendering Isocontouring (Surface Rendering) Volume Rendering Builds a display list of isovalued lines/surfaces Volume Rendering 3D volume primitives are transformed into 2D discrete pixel space
Isosurface Visualization Isosurface (i.e. Level Set ) : C(w) = { x | F(x) - w = 0 } ( w : isovalue , F(x) : real-valued function ) isosurfacing <medical> < ocean temperature function > < two isosurfaces (blue,yellow) > <bio-molecular>
Popular Visualization Techniques for Scalar Fields Isocontouring Popular Visualization Techniques for Scalar Fields 2. Isocontouring [Lorensen and Cline87,…] Definition of isosurface C(w) of a scalar field F(x) C(w)={x|F(x)-w=0} , ( w is isovalue and x is domain R3 ) 1.0 0.8 0.4 0.3 1.0 0.8 0.4 0.3 1.0 0.8 0.4 0.3 0.7 0.6 0.75 0.4 0.7 0.6 0.75 0.4 0.7 0.6 0.75 0.4 0.6 0.4 0.8 0.4 0.6 0.4 0.8 0.4 0.6 0.4 0.8 0.4 0.4 0.3 0.35 0.25 0.4 0.3 0.35 0.25 0.4 0.3 0.35 0.25 ( Isocontour in 2D function: isovalue=0.5 ) Marching Cubes for Isosurface Extraction Dividing the volume into a set of cubes For each cubes, triangulate it based on the 2^8(reduced to 15) cases
Cube Polygonization Template
Surface Rendering (Geometry Rendering) Objects are defined in terms of surfaces Converts data into intermediate surface representation before rendering Volume data -> geometric primitives Surface reconstruction Can use HW of the geometry engines for realtime rendering Compact storage and transmission Amorphous data does not have thin surfaces
Popular Visualization Techniques for Scalar Fields Volume Rendering Popular Visualization Techniques for Scalar Fields 1. Volume Rendering [Drebin88,…] C : color C: opacity I’ C , C I Light traversal from back to front I’= C C + (1- C)I <emission> <incoming light> <produced by CCV vistool> Hardware Acceleration ( 3D Texturing ) [Westermann98] Slicing along the viewing direction Put 3D textures on the slice Interactive color table manipulation
Volume Rendering 3D volumetric data -> 2D image Show the information inside volume entities Good for rendering soft and amorphous objects Good for block (boolean) operation : CSG Insensitive to scene complexity Insensitive to object complexity Sensitive to image resolution
Transfer Function Mapping from density to (color, opacity)
Medical applications