140 likes | 265 Views
CoreWall Prototype. Presented by Arun Rao @ EVL’s Tech Meeting 8/25/04. Background. What is a “core”?. Background. Received training as a core lab technician Made to understand “the process” Sensor scans on whole cores Splitting cores Imaging cores Sensor scans on split cores
E N D
CoreWall Prototype Presented by Arun Rao @ EVL’s Tech Meeting 8/25/04
Background • What is a “core”?
Background • Received training as a core lab technician • Made to understand “the process” • Sensor scans on whole cores • Splitting cores • Imaging cores • Sensor scans on split cores • Initial Core Description (ICD)
So what’s the problem? • Line Scan Images of Cores are “big” • 50 MB on average • 10 pixels/mm resolution • Scientists desire to look at images and data right next to each other
Solution? • Use available libraries for loading different image formats • Draw over multiple screens using a multi-headed video card • Try a couple ideas to get a starting point • Keep a notebook in hand for random thoughts!!!!
Prototype 1 • Done by drawing pixels every frame • Results: Slow!!
Prototype 2 • Take a textured polygon approach to drawing images • Has advantages over drawing pixels every frame • Has drawbacks
Textured Polygon Rendering of Images • Textures stored in local video memory • Often in Least Recently Used paging system • Can be compressed and decompressed by video card hardware • Texture Quadtree • For dynamic allocation textures (actually not yet implemented) • Acts as a multi-resolution control to be able to make better use of available memory
Problems? • Multiheaded cards are on the PCI bus • Paging textures to video cards can be slow • Code is far from optimized causing pointless cache misses for texture usage/lookup • “Too many” OpenGL contexts • 4 OpenGL contexts on a single machine • Extra time chewed up by context switching
User Interface? • Needed a way to bring in tables, graphs and images easily • Needed a way to organize tables, images, graphs • One way suitable for testing slight differences in rendering approaches • One way suitable for controlling/modifying data based on user events
Features Finished For Florida • Natural organization of core data and images • Ability to: • Load multiple images of different core sections • Load multiple sets of data tables • Create and display graphs of data relative to a core section • Move whole groups of cores • Move individual core sections and have the graphs move with them • It can make coffee too!
The Future • Incorporate rendering technique into next JuxtaView • Use LambdaRAM and Optistore (or similar types of services) • Obtain experimental data for variable controls (e.g. texture dimensions) • Lots of late nights