CIS 4930/ SCIENTIFICVISUALIZATION

Similar documents
Indirect Volume Rendering

Data Visualization (DSC 530/CIS )

CIS 467/602-01: Data Visualization

Data Visualization (DSC 530/CIS )

Scalar Algorithms: Contouring

Scalar Field Visualization I

Data Visualization (CIS/DSC 468)

Scalar Visualization

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

Scalar Field Visualization I

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

Contouring and Isosurfaces. Ronald Peikert SciVis Contouring 2-1

Scalar Visualization

Isosurface Rendering. CSC 7443: Scientific Information Visualization

Scientific Visualization. CSC 7443: Scientific Information Visualization

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

Volume Illumination, Contouring

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

CSC Computer Graphics

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.

Polygonization of Implicit Surfaces

Volume Rendering - Introduction. Markus Hadwiger Visual Computing Center King Abdullah University of Science and Technology

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

Marching Cubes Robert Hunt CS 525. Introduction

Isosurface Visualization of Data with Nonparametric Models for Uncertainty

Scientific Visualization Example exam questions with commented answers

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

Scalar Algorithms -- surfaces

Level Set Extraction from Gridded 2D and 3D Data

CSE 554 Lecture 5: Contouring (faster)

MARCHING CUBES AND VARIANTS

Geometric Representations. Stelian Coros

Topology Preserving Tetrahedral Decomposition of Trilinear Cell

9. Three Dimensional Object Representations

Lecture notes: Object modeling

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight

5. Volume Visualization

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

Visualization. CSCI 420 Computer Graphics Lecture 26

Multi-View Matching & Mesh Generation. Qixing Huang Feb. 13 th 2017

CS 4620 Midterm, March 21, 2017

4. Basic Mapping Techniques

Data Visualization (CIS/DSC 468)

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

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

Volume Visualization

03 - Reconstruction. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Spring 17 - Daniele Panozzo

Previously... contour or image rendering in 2D

Surface Modeling. Polygon Tables. Types: Generating models: Polygon Surfaces. Polygon surfaces Curved surfaces Volumes. Interactive Procedural

Data Representation in Visualisation

Digital Geometry Processing

Visualization Computer Graphics I Lecture 20

A Survey of Volumetric Visualization Techniques for Medical Images

Image Analysis. 1. A First Look at Image Classification

cs6630 November TRANSFER FUNCTIONS Alex Bigelow University of Utah

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

Clipping. CSC 7443: Scientific Information Visualization

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

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

Marching Squares Algorithm. Can you summarize the marching squares algorithm based on what we just discussed?

How do we draw a picture?

Reconstruction of complete 3D object model from multi-view range images.

1 Introduction 2. 2 A Simple Algorithm 2. 3 A Fast Algorithm 2

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

Advanced 3D-Data Structures

Fairing Scalar Fields by Variational Modeling of Contours

SURFACE CONSTRUCTION USING TRICOLOR MARCHING CUBES

Section A Solids Grade E

Contours & Implicit Modelling 4

Advanced Lighting Techniques Due: Monday November 2 at 10pm

Special Topics in Visualization

Graphics Hardware and Display Devices

Decimation of 2D Scalar Data with Error Control

A New Approach of Seed-Set Finding for Iso-Surface Extraction

8. Tensor Field Visualization

Scalar Data. Alark Joshi

CS770/870 Spring 2017 Ray Tracing Implementation

Morphological track 1

Display. Introduction page 67 2D Images page 68. All Orientations page 69 Single Image page 70 3D Images page 71

Surface Construction Analysis using Marching Cubes

Interactive Isosurface Ray Tracing of Large Octree Volumes

Fast and Exact Fiber Surfaces for Tetrahedral Meshes

Ray Tracing Acceleration Data Structures

Kent Academic Repository

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

Direct Volume Rendering

Mesh Decimation Using VTK

AMCS / CS 247 Scientific Visualization Lecture 4: Data Representation, Pt. 1. Markus Hadwiger, KAUST

Anno accademico 2006/2007. Davide Migliore

Physically-Based Modeling and Animation. University of Missouri at Columbia

Spatial Data Structures for Computer Graphics

Data Visualization (CIS/DSC 468)

Spatial Data Structures

CIS 467/602-01: Data Visualization

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

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling

Scientific Visualization

Fast Interactive Region of Interest Selection for Volume Visualization

Volume Illumination & Vector Field Visualisation

Transcription:

CIS 4930/6930-902 SCIENTIFICVISUALIZATION ISOSURFACING Paul Rosen Assistant Professor University of South Florida slides credits Tricoche and Meyer

ADMINISTRATIVE Read (or watch video): Kieffer et al, HOLA: Human-like Orthogonal Network Layout [InfoVis 2015 Best Paper]

TODAY visualization for scalar fields pseudocoloring isocurves with marching squares isosurfacing with marching cubes

Weiskopf/Machiraju/Möller 19 2D visualization slice images (or multi-planar reformating MPR) Indirect 3D visualization isosurfaces (or surface-shaded display SSD) Direct 3D visualization (direct volume rendering DVR)

In Visualization, we Use the Concept of a Transfer Function to set Color as a Function of Scalar Value Scalar values ->[0,1] -> Colors 240. 240. In OpenGL, the mapping of 1D texture

USE THE RIGHT TRANSFER FUNCTION COLOR SCALE TO REPRESENT A RANGE OF SCALAR VALUES Gray scale Intensity Interpolation Saturation interpolation Two-color interpolation Rainbow scale Heated object interpolation Blue-White-Red

A GALLERY OF COLOR SCALES

GREY SCALE.

SATURATION SCALE.

SPECTRUM SCALE.

LIMITED SPECTRUM SCALE.

REDUNDANT HUE/LIGHTNESS SCALE.

HEATED-OBJECT SCALE.

Other examples 35

ISOCONTOURS IN 2D

PROCESS Get cell Identify grid lines w/cross Find crossings Draw x x Primitives naturally chain together + -

SIMPLER TO IMPLEMENT PROCESS check each corner above or below isovalue assign bit 0/1 4-bit string describes a particular case

2D SCALAR VISUALIZATION 16 possible marching squares reduce to 5 symmetric cases or 4 topological cases 18

x x x x x x x x x x x x

0 1 3 2 3 1 5 0 0 3 3 8 6 3 2 0 2 6 1 1 0 1 2 3 1 what is the isocontour for isovalue = 4? 5x5 grid

2D Scalar Visualization 21

IN 3D: ISOSURFACES 22

Weiskopf/Machiraju/Möller 19 2D visualization slice images (or multi-planar reformating MPR) Indirect 3D visualization isosurfaces (or surface-shaded display SSD) Direct 3D visualization (direct volume rendering DVR)

MARCHING CUBES Predominant method used today Efficient and simple Independently reported by Wyvill and McPeeters in 1986, Lorenson and Cline in 1987 Patented in 1987 by Lorenson and Cline 24

MARCHING CUBES 3D generalization of isocontours Treat each cube individually No 2D contour curves Allow intersections only on the edges or at vertices Pre-calculate all of the necessary information to construct a surface 25

MARCHING CUBES Linear search through cells Trivially parallelizable Row by row, layer by layer No neighborhood information is required 26

MARCHING CUBES Consider a single cube Three cases: All vertices above the contour threshold All vertices below Mixed above and below 27

MARCHING CUBES Binary label each node (above or below) Examine all possible cases of above or below for each vertex 28

MARCHING CUBES Now we have 8 vertices Thus, 2 8 = 256 cases How many unique topological cases? 29

CASE REDUCTION Value symmetry 30

CASE REDUCTION Rotation symmetry 31

CASE REDUCTION Mirror symmetry By inspection, we can reduce 256 cases to only 15 32

MARCHING CUBES CASES 33

MARCHING CUBES SUMMARY Basic Marching Cubes algorithm: 2. Classify 1. Create a cube each voxel (volume element) 3. Build an index 4. Lookup edge list 5. Interpolate triangle vertices 6. Calculate normals 34

STEP 1: CREATE A CUBE Consider a cube defined by eight data values Four values from slice and four from neighbor 35

STEP 2: CLASSIFY EACH VOXEL Binary classify each vertex of the cube as to whether it lies Outside the surface voxel value > isosurface value Inside the surface voxel value <= isosurface value 36

CLASSIFICATION EXAMPLE 37

STEP 3: BUILD AN INDEX Use the binary labeling of each voxel to create an 8- bit index (8 vertices 256 cases) 38

STEP 4: LOOKUP EDGE LIST 39

STEP 5: INTERPOLATE TRIANGLE VERTICES For each edge Find the vertex location along the edge by using linear interpolation of the voxel values 40

STEP 6: COMPUTE NORMALS Calculate the normal at each cube vertex Linearly interpolate the polygon vertex normal Renormalize after interpolation 41

EXAMPLES 1 Isosurface 3 Isosurfaces 2 Isosurfaces

ENHANCING ISOSURFACING Can add information about additional variables Here, two additional variables control the color 43

CHALLENGES what is a good isovalue? ambiguities poorly shaped, nonadaptive triangles gaps between neighboring points looking at every voxel 73

MARCHING CUBES SPEEDUP Expensive to search each grid cell Use a MinMax Octree to ignore cells outside the isovalue range 45

MINMAX OCTREE BUILDING THE STRUCTURE Create an octree structure for the voxels of the volume In each node store the minimum and maximum isovalues of the children 46

MINMAX OCTREE BUILDING THE ISOSURFACE Begin at the root node If min <= isovalue <= max Recurse to the next level of the tree Otherwise Terminate search 47

MINMAX OCTREE PERFORMANCE ANALYSIS WORST-CASE PERFORMANCE? O(n log n) or O(nh), where n is the number of voxels and h is the tree height When all voxels cross the isovalue EXPECTED PERFORMANCE? O(k log n) or O(kh), where k is the number of voxels with geometry USUALLY K<<N, MAKING THIS METHOD QUITE EFFICIENT

BIGGEST LIMITATION OF ISOSURFACING? 49

BIGGEST LIMITATION OF ISOSURFACING? 50

Volume Rendering 51