1 / 13

The Etree Library: A System for Manipulating Large Octrees on Disk

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) www.cs.cmu.edu/~euclid. Viz. Problem definition. Solver specific code and data. Geometric and

jody
Download Presentation

The Etree Library: A System for Manipulating Large Octrees on Disk

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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) www.cs.cmu.edu/~euclid

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

  3. 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)

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

  5. An Octree Domain y 15 14 13 12 11 10 9 Pixels 8 7 6 5 4 3 2 1 0 x 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

  6. : Interior octant Equivalent Octree Representations Domain Representation Tree Representation y 15 a Level 0 14 k l 13 m 12 j 11 i Level 1 b c d m e 10 g 9 h 8 7 e k f l 6 Level 2 5 4 c b 3 2 g j i Level 3 h 1 0 : Leaf octant 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 x

  7. Computing Addresses of Octants f’s left lower corner (4, 8) k l m j i e Binary form (0100, 1000) g h Interleave the bits to obtain Morton code c b 1000 0100 10010000 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 Append level of f to obtain locational code 10010000_010

  8. k l m j i e g h c b d j f b c e a k i l h g Linear Octrees a d c • 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 m b e k f l g j i h B-tree index m B-tree Pages

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

  10. Representing Point Sets with Sparse Octrees 00 10 11 01 00 01 10 11

  11. 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 • www.cs.cmu.edu/~euclid

  12. 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

  13. 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.

More Related