Hierarchical Volume Rendering

Slides:



Advertisements
Similar presentations
Nearest Neighbor Search
Advertisements

Chapter 4: Trees Part II - AVL Tree
Quick Review of Apr 10 material B+-Tree File Organization –similar to B+-tree index –leaf nodes store records, not pointers to records stored in an original.
Visibility Culling. Back face culling View-frustrum culling Detail culling Occlusion culling.
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
Optimization of ICP Using K-D Tree
Hashing CS 3358 Data Structures.
Octree-Based Decimation of Marching Cubes Surface (1996) Raj Shekhar Elias Fayyad Roni Yagel J. Fredrick Cornhill.
BST Data Structure A BST node contains: A BST contains
B + -Trees (Part 1) Lecture 20 COMP171 Fall 2006.
B + -Trees (Part 1). Motivation AVL tree with N nodes is an excellent data structure for searching, indexing, etc. –The Big-Oh analysis shows most operations.
Tirgul 6 B-Trees – Another kind of balanced trees Problem set 1 - some solutions.
Transforming Infix to Postfix
B + -Trees (Part 1) COMP171. Slide 2 Main and secondary memories  Secondary storage device is much, much slower than the main RAM  Pages and blocks.
Preliminaries Multiway trees have nodes with greater than two children. Multiway trees of order k have nodes with most k children Trees –For all.
Games & Adversarial Search Chapter 6 Section 1 – 4.
Data Structures Using C++ 2E Chapter 11 Binary Trees and B-Trees.
Spatial Indexing I Point Access Methods. Spatial Indexing Point Access Methods (PAMs) vs Spatial Access Methods (SAMs) PAM: index only point data Hierarchical.
B + -Trees COMP171 Fall AVL Trees / Slide 2 Dictionary for Secondary storage * The AVL tree is an excellent dictionary structure when the entire.
E.G.M. PetrakisB-trees1 Multiway Search Tree (MST)  Generalization of BSTs  Suitable for disk  MST of order n:  Each node has n or fewer sub-trees.
Problem-solving agents
Spatial Indexing I Point Access Methods. Spatial Indexing Point Access Methods (PAMs) vs Spatial Access Methods (SAMs) PAM: index only point data Hierarchical.
Chapter 3: Cluster Analysis  3.1 Basic Concepts of Clustering  3.2 Partitioning Methods  3.3 Hierarchical Methods The Principle Agglomerative.
Binary Trees Chapter 6.
BSP Trees, Quadtrees & Octrees Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Wednesday, January 28, 2004.
Isosurface Extractions 2D Isocontour 3D Isosurface.
1 Multiway trees & B trees & 2_4 trees Go&Ta Chap 10.
Indexing. Goals: Store large files Support multiple search keys Support efficient insert, delete, and range queries.
ICS 220 – Data Structures and Algorithms Week 7 Dr. Ken Cosh.
Chapter Tow Search Trees BY HUSSEIN SALIM QASIM WESAM HRBI FADHEEL CS 6310 ADVANCE DATA STRUCTURE AND ALGORITHM DR. ELISE DE DONCKER 1.
Efficient Volume Visualization of Large Medical Datasets Stefan Bruckner Institute of Computer Graphics and Algorithms Vienna University of Technology.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 122 – Data Structures Templatized Tree.
1 Trees Tree nomenclature Implementation strategies Traversals –Depth-first –Breadth-first Implementing binary search trees.
Chapter 19: Binary Trees. Objectives In this chapter, you will: – Learn about binary trees – Explore various binary tree traversal algorithms – Organize.
Data Structures for Scenes, The Basics of Scene Graphs Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Friday,
©Silberschatz, Korth and Sudarshan13.1Database System Concepts Chapter 13: Query Processing Overview Measures of Query Cost Selection Operation Sorting.
CSE AU B-Trees1 B-Trees CSE 373 Data Structures.
Trevor Brown – University of Toronto B-slack trees: Space efficient B-trees.
The Binary Heap. Binary Heap Looks similar to a binary search tree BUT all the values stored in the subtree rooted at a node are greater than or equal.
Chapter 6 Binary Trees. 6.1 Trees, Binary Trees, and Binary Search Trees Linked lists usually are more flexible than arrays, but it is difficult to use.
PRESENTED BY – GAURANGI TILAK SHASHANK AGARWAL Collision Detection.
Sorting. Pseudocode of Insertion Sort Insertion Sort To sort array A[0..n-1], sort A[0..n-2] recursively and then insert A[n-1] in its proper place among.
B + -Trees. Motivation An AVL tree with N nodes is an excellent data structure for searching, indexing, etc. The Big-Oh analysis shows that most operations.
1 Searching Searching in a sorted linked list takes linear time in the worst and average case. Searching in a sorted array takes logarithmic time in the.
B-Tree – Delete Delete 3. Delete 8. Delete
+ David Kauchak cs312 Review. + Midterm Will be posted online this afternoon You will have 2 hours to take it watch your time! if you get stuck on a problem,
An Efficient CUDA Implementation of the Tree-Based Barnes Hut n-body Algorithm By Martin Burtscher and Keshav Pingali Jason Wengert.
Week 10 - Friday.  What did we talk about last time?  Graph representations  Adjacency matrix  Adjacency lists  Depth first search.
B-TREE. Motivation for B-Trees So far we have assumed that we can store an entire data structure in main memory What if we have so much data that it won’t.
In the name of God Computer Graphics. Introduction Modeling techniques modeling techniques managements Some renderings.
Hashing COMP171. Hashing 2 Hashing … * Again, a (dynamic) set of elements in which we do ‘search’, ‘insert’, and ‘delete’ n Linear ones: lists, stacks,
Barnes Hut N-body Simulation Martin Burtscher Fall 2009.
Week 15 – Wednesday.  What did we talk about last time?  Review up to Exam 1.
CSE554Contouring IISlide 1 CSE 554 Lecture 5: Contouring (faster) Fall 2015.
CSE554Contouring IISlide 1 CSE 554 Lecture 3: Contouring II Fall 2011.
CSE554Contouring IISlide 1 CSE 554 Lecture 5: Contouring (faster) Fall 2013.
Trees CSIT 402 Data Structures II 1. 2 Why Do We Need Trees? Lists, Stacks, and Queues are linear relationships Information often contains hierarchical.
Barnes Hut N-body Simulation Martin Burtscher Fall 2009.
Ray Tracing Acceleration (3)
ITEC 2620M Introduction to Data Structures Instructor: Prof. Z. Yang Course Website: ec2620m.htm Office: TEL 3049.
1 Supporting a Volume Rendering Application on a Grid-Middleware For Streaming Data Liang Chen Gagan Agrawal Computer Science & Engineering Ohio State.

GVDB: Raytracing Sparse Voxel Database Structures on the GPU Rama Hoetzlein, NVIDIA High Performance Graphics 2016 Trinity College, Dublin.
CSE 554 Lecture 5: Contouring (faster)
Isosurface Extractions (II)
Modeliranje kompleksnih modelov
Quadtrees 1.
Lecture 2- Query Processing (continued)
Paper -5 Multiresolution volume visualization with
Modeliranje kompleksnih modelov
Presentation transcript:

Hierarchical Volume Rendering

Big Data Problem … One way to handle the big data problem is to use hierarchical data structures (hierarchical volumes) 8x8x8 4x4x4 2x2x2 … … Less amount of data are required

Issues Creation of hierarchical data structures Utilization of hierarchical data structures

Hierarchical Volume A hierarchical volume can be constructed using the octree … Entire volume Half in each dim

Octrees An octree can be full or non-full Full octree – each parent node has exact 8 children Condition: all the dimensions are the same power of 2 A full octree example: 16 x 16 x 16 Level 1: (8) 8 x 8 x 8; level 2: (8) 4 x 4 x 4 Level 3: (8) 2 x 2 x 2; level 4: (8) 1 x1 x 1

Octrees (2) For a volume with resolution s in each dimension, the total number of tree nodes is: 8^0 + 8 ^ 1 + … + 8 ^ (log S –1) = (s ^ 3 –1 )/7 Node to data ratio: (S^3 –1 ) / 7*S^3 = 0.1428 this is the optimal ratio If a volume can not be represented by a full octree, the node to data ratio will increase -> overhead increases 2

Octrees (3) Other benefit of full octree - Can be stored in a linear array without using pointers Each parent has exact 8 children – their positions in an array are totally predictable For a parent stored at T[k], then its eight children are stored at T[8k+1], T[8k+2], …, T[8k+8]. All the nodes at the same level are stored in a contiguous memory space

Octrees (4) Power of 2 volume is not a norm Full-octree thus is not always possible A non-full octree example: 16 x 8 x 4 Level 1: (8) 8 x 4 x 2; level 2: (4) 4 x 2 x 1 Level 3: (4) 2 x 1 x 1; level 4: (2) 1 x1 x 1 Total number of nodes: 1 + 8 +8* 4 + 8*4*4 = 161 The node to data ratio = 161 / 512 = 0.314 > optimal ( 0.1428) Also , we need to store the pointers from parents to children

Octrees (5) In general, there are two ways to construct an octree for a volume Top-down: 1 -> 8 -> 8x8 -> 8x8x8 -> 8x8x8x4 -> …. -> n (n = total number of data) Buttom-up: n -> n / 8 -> n / 8x8 -> n/8x8x8 -> n/8x8x8x4 -> … -> 1 Which one has a better node/data ratio?

Branch-on-Need (BON) Octrees A top-down implementation of bottom-up octrees Overlay the volume with a conceptual all power of 2 volume Subdivide the volume based on the concpetual volume

BONO (BON-Octrees) 5x5 8x8

BONO Construction (1) (4) (9) 10 11 00 01 (2) (2) (1) (4)(4)(4)(4) (2) (2) (1) (4) (9)

BONO v.s top-down Put more 8-way branches toward to the leaf nodes In general, BONO requires a smaller number of tree nodes

Octrees and visualization Isosurface Extraction Each BONO node stores the min/max values of the corresponding subvolume The empty node can be skipped rapidly

Octrees for Volume Rendering Each tree node stores the mean value of the encompassed voxels Alternatively, each tree node stores a subvolume of reduced resolution Each tree node also stores an error measure: e.g. standard deviation of the voxels (root mean square to the approximated value)

Octrees for Volume Rendering At run time, the error measures stored in the octree nodes are compared with a threshold The traversal is stopped at the tree nodes that pass the threshold … … …

Octrees for Volume Rendering Example: