The Etree Library: A System for Manipulating Large Octrees on Disk David R. O’Hallaron Associate Professor of CS and ECE Carnegie Mellon University (joint.

Slides:



Advertisements
Similar presentations
COSC 2007 Data Structures II Chapter 14 External Methods.
Advertisements

CMU SCS : Multimedia Databases and Data Mining Lecture#5: Multi-key and Spatial Access Methods - II C. Faloutsos.
Comp 122, Spring 2004 Binary Search Trees. btrees - 2 Comp 122, Spring 2004 Binary Trees  Recursive definition 1.An empty tree is a binary tree 2.A node.
File Processing : Hash 2015, Spring Pusan National University Ki-Joune Li.
TREES Chapter 6. Trees - Introduction  All previous data organizations we've studied are linear—each element can have only one predecessor and successor.
Main Index Contents 11 Main Index Contents Week 6 – Binary Trees.
Modern Information Retrieval Chapter 8 Indexing and Searching.
1 Lecture 8: Data structures for databases II Jose M. Peña
InOrder Traversal Algorithm // InOrder traversal algorithm inOrder(TreeNode n) { if (n != null) { inOrder(n.getLeft()); visit(n) inOrder(n.getRight());
1 Foundations of Software Design Fall 2002 Marti Hearst Lecture 18: Hash Tables.
Spatial Indexing I Point Access Methods. PAMs Point Access Methods Multidimensional Hashing: Grid File Exponential growth of the directory Hierarchical.
Etree — A Database-oriented Method for Generating Large Octree Meshes David R. O’Hallaron 1,2 Tiankai Tu 1 Julio C. López 2 1 School of Computer Science.
Modern Information Retrieval
Spatial indexing PAMs (II).
Fall 2007CS 2251 Trees Chapter 8. Fall 2007CS 2252 Chapter Objectives To learn how to use a tree to represent a hierarchical organization of information.
Indexing Positions of Moving Objects Using B + -trees 4-th WIM meeting, Aalborg 2002 Laurynas Speičys
Database Methods for Scientific Computing David R. O’Hallaron Associate Professor of CS and ECE Carnegie Mellon University (joint work with Tiankai Tu.
Introduction to Data Structure, Fall 2006 Slide- 1 California State University, Fresno Introduction to Data Structure Chapter 10 Ming Li Department of.
Chapter 3: Data Storage and Access Methods
Spatial Indexing I Point Access Methods.
Fundamentals of Python: From First Programs Through Data Structures
Spatial Indexing I Point Access Methods. Spatial Indexing Point Access Methods (PAMs) vs Spatial Access Methods (SAMs) PAM: index only point data Hierarchical.
The Design and Analysis of Algorithms
Spatial Indexing I Point Access Methods. Spatial Indexing Point Access Methods (PAMs) vs Spatial Access Methods (SAMs) PAM: index only point data Hierarchical.
C o n f i d e n t i a l Developed By Nitendra NextHome Subject Name: Data Structure Using C Title: Overview of Data Structure.
Data Structures for Computer Graphics Point Based Representations and Data Structures Lectured by Vlastimil Havran.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 122 – Data Structures Data Structures Trees.
Indexing. Goals: Store large files Support multiple search keys Support efficient insert, delete, and range queries.
§6 B+ Trees 【 Definition 】 A B+ tree of order M is a tree with the following structural properties: (1) The root is either a leaf or has between 2 and.
Spring 2006 Copyright (c) All rights reserved Leonard Wesley0 B-Trees CMPE126 Data Structures.
B+ Trees COMP
Advanced Algorithms Analysis and Design Lecture 8 (Continue Lecture 7…..) Elementry Data Structures By Engr Huma Ayub Vine.
Multimedia Databases (MMDB)
Trees CS212 & CS-240 D.J. Foreman. What is a Tree A tree is a finite set of one or more nodes such that: –There is a specially designated node called.
CS 3610 Midterm Review.
Trees Chapter 8. Chapter 8: Trees2 Chapter Objectives To learn how to use a tree to represent a hierarchical organization of information To learn how.
Spring 2010CS 2251 Trees Chapter 6. Spring 2010CS 2252 Chapter Objectives Learn to use a tree to represent a hierarchical organization of information.
Sorting with Heaps Observation: Removal of the largest item from a heap can be performed in O(log n) time Another observation: Nodes are removed in order.
File Systems (1). Readings r Reading: Disks, disk scheduling (3.7 of textbook; “How Stuff Works”) r Reading: File System Implementation ( of textbook)
Tree Data Structures. Introductory Examples Willliam Willliam BillMary Curt Marjorie Richard Anne Data organization such that items of information are.
Video Google: A Text Retrieval Approach to Object Matching in Videos Josef Sivic and Andrew Zisserman.
COSC 2007 Data Structures II Chapter 15 External Methods.
12.1 Chapter 12: Indexing and Hashing Spring 2009 Sections , , Problems , 12.7, 12.8, 12.13, 12.15,
ReiserFS Hans Reiser
Computer Science: A Structured Programming Approach Using C Trees Trees are used extensively in computer science to represent algebraic formulas;
1 Tree Indexing (1) Linear index is poor for insertion/deletion. Tree index can efficiently support all desired operations: –Insert/delete –Multiple search.
CSED101 INTRODUCTION TO COMPUTING TREE 2 Hwanjo Yu.
Succinct Dynamic Cardinal Trees with Constant Time Operations for Small Alphabet Pooya Davoodi Aarhus University May 24, 2011 S. Srinivasa Rao Seoul National.
Indexing and hashing Azita Keshmiri CS 157B. Basic concept An index for a file in a database system works the same way as the index in text book. For.
Bin Yao (Slides made available by Feifei Li) R-tree: Indexing Structure for Data in Multi- dimensional Space.
Spatial Database 2/5/2011 Reference – Ramakrishna Gerhke and Silbershatz.
Indexes. Primary Indexes Dense Indexes Pointer to every record of a sequential file, (ordered by search key). Can make sense because records may be much.
CS 376b Introduction to Computer Vision 02 / 11 / 2008 Instructor: Michael Eckmann.
Feb 24-27, 2004ICDL 2004, New Dehli Improving Federated Service for Non-cooperating Digital Libraries R. Shi, K. Maly, M. Zubair Department of Computer.
1 CSIS 7101: CSIS 7101: Spatial Data (Part 1) The R*-tree : An Efficient and Robust Access Method for Points and Rectangles Rollo Chan Chu Chung Man Mak.
Linear Octree Ref: Tu and O’Hallaron 2004
Foundation of Computing Systems Lecture 4 Trees: Part I.
1 the BSTree class  BSTreeNode has same structure as binary tree nodes  elements stored in a BSTree are a key- value pair  must be a class (or a struct)
Data Structure By Amee Trivedi.
Trees Chapter 15.
Tries 07/28/16 11:04 Text Compression
Indexing Goals: Store large files Support multiple search keys
The Design and Analysis of Algorithms
Azita Keshmiri CS 157B Ch 12 indexing and hashing
Spatial Indexing I Point Access Methods.
Section 8.1 Trees.
Linear Octree Ref: Tu and O’Hallaron 2004
Binary Trees: Motivation
Database Design and Programming
Department of Computer Science
Presentation transcript:

The Etree Library: A System for Manipulating Large Octrees on Disk David R. O’Hallaron Associate Professor of CS and ECE Carnegie Mellon University (joint work with Tiankai Tu and Julio Lopez)

Geometric and physical properties and max freq Problem definition Source definition CVM 4D Output Input mesh Solver Solver specific code and data Viz Validate Verify Seismo extraction Publish Inversion Std Output Convert Pathway 2 Work Flow

Motivation Problem: –Need interoperability between AWM and analysis codes. General Solution Approach: –Represent input CVM and AWM data sets in a standard format that can be queried efficiently. Specific Solution Approach: –Represent CVM and AWM data sets as hierarchical spatial data structures called octrees »Octrees are compact ways to represent equivalent regions of space i.e., Regions of the CVM with similar density –Store the octrees in indexed databases (etrees) for fast retrieval and querying. –Provide an interface for C programs (etree library)

Geometric and physical properties and max freq Problem definition Source definition CVM (3D etree) 4D Output Input mesh Solver Solver specific code and data Viz Validate Verify Seismo extraction Publish Inversion 4D etree Convert Pathway 2 Work Flow

An Octree Domain Pixels x y

Equivalent Octree Representations x y b c e g h i j k l m Domain Representation a c dm e f k l g h j i b Level 0 Level 1 Level 2 Level 3 : Interior octant: Leaf octant Tree Representation

_010 Append level of f to obtain locational code Morton code: Maps n-dimensional points to one-dimensional scalars Locational code: Appends an octant’s level to the Morton code of its left-lower corner Computing Addresses of Octants b c e g h i j k l m Interleave the bits to obtain Morton code f’s left lower corner (4, 8) Binary form (0100, 1000)

Linear Octrees abcdefghijkl m B-tree index B-tree Pages b c e g h i j k l m a c d m e f k l g h j i b Octants are stored on disk in locational code order –Interior nodes are optional Cool fact: the following are equivalent: –Sorted order on disk –Space filling Z-order –Preorder tree traversal

Finding a Leaf Octant Without Knowing its Exact Locational Code b c e g h i j k l m Query pixel q a c dm e f k l g h j i b q Another cool (and powerful) fact: In the linear ordering on disk h < q < i

Representing Point Sets with Sparse Octrees

The Etree Library C library with 22 functions for manipulating large linear octree files (called etrees) on disk –Opening and closing etrees –Inserting and deleting octants and subtrees –Searching for octants –Traversing octants in Z-order (preorder traversal) –Loading and storing application metadata Supports 3D or 4D spatial data sets Portable file format –Standard header characterizes byte ordering and data sizes –Text trailer contains arbitrary application-level metadata Code and documentation available on the Web –

Current Pathway 2 Etree Application Codes Discrete Community Velocity Model –3D etree created by sampling Magistrale/Day CVM program. –Distributed with etree library CVM Web Service –Web server that queries the discrete CVM etree. –Returns 2D GIF slices or 3D FD and FEM meshes. –Distributed with etree library Finite Element Mesh Generation [Tu, 2002] –Converts discrete CVM etree to FEM mesh. –Mesh represented as an element etree and a node etree. Finite Difference Mesh Generation –Generates mesh for Kim Olsen’s AWM –Current part of CVM Web service

Future Pathway 2 Etree Application Codes Conversion from flat AWM files to etree files. Visualization of 3D discrete CVM etree files. Visualization of 4D etrees.