This lightning talk will demonstrate and discuss initial work which accelerates certain ELT visualizations using WebGL. This allows for more efficient client-server remote sensing analysis especially over low bandwidth links. WPS and WCS are used to generate intermediate processing results such as spectral angle matrices. HTML5 technologies such as WebGL and Canvas are used to dynamically visualize this data on the client side.
Speaker Bio:
Trevor Clarke is a software engineer at Ball Aerospace & Technologies. Trevor has a masters degree in computer science from RIT and is a core contributor to Opticks.
7. Desktop solution A typical solution for desktop apps is to calculate the results data once and just change the display This is quite fast when all display operations happen in RAM and/or on the video card
8. A solution for the browser Calculate the results data once with WPS and transfer with WCS Perform visualization and compositing with Canvas/WebGL
9. A solution for the browser WCS WPS WCS WebGL Texture adjustment Histogram
11. Current status Proof of concept complete Partially completed WebGL/Canvas layer for OpenLayers Some basic shaders completed (primarily for hyperspectral) Threshold Dynamic color maps
12. Current status Multiple server side solutions being tested GeoServer for WMS MapServer for WCS and WPS results 52north, PyWPS, and Zoo being evaluated for WPS
13. Future Port to mobile platforms Little to no WebGL support currently Shaders and data flow are the same Java (Android) or Objective-C (iOS) instead of JavaScript gvSIG Mini Maps might be a good starting point
14. Future Same technique useful for LIDAR (and other 3D display) Multiple shaders for a variety of display modes available from Opticks (my other project)
15. Q&A Presentation available at http://slideshare.net Trevor Clarke Opticks Developer Ball Aerospace & Technologies Corp. tclarke@ball.com http://opticks.org
Editor's Notes
Briefly compare to more traditional GIS type of exploitationSpectral often involves thresholded displays
Existing OGC standards and implementations (open source and commercial). WMS provides rendered “maps”, WCS provides raw imagery, WPS provides a method to execute remote processes and return new data
LIDAR discussed briefly, not the primary topic of this talk but applicable to the techniqueNoise in statistics make it difficult to locate notes in common bimodal distributions or other (more random?) distributions present other problemsMethods exist to automatically locate good threshold values but they are not perfectTweaking involves adjustments to threshold which are often easier with “drag and view” feedback loop which require immediate changes in display
“Traditional” processing would require recalculating threshold image and resending the new image across the network.Even with fast connections this is not a real-time process, especially with large images.
Compositing performed in GLSL shader
WMS pushes imagery for background.WCS->WPS->WCS calculates result and pushes 4-byte float data to WebGL textureWCS->WPS->JSON calculates histogram of result and pushes data to JavaScript plotting for histogramClick and visualize on JavaScript histogram changes threshold value and repaints WebGL without requesting new data
Tested on Firefox and Chrome
Zoo has promise but not quite there.52north is quite powerful and feature rich but learning curve is highPyWPS seems to be a good compromise, and I like Python
Proof of concept already ported to Android
Single pass shaders: color map, fast clipping, height exaggeration, etc.Multiple pass shaders: dynamic classification methods