WebGL Lightning Talk FOSS4G 2011


Published on

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.

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 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
  • WebGL Lightning Talk FOSS4G 2011

    1. 1. Accelerating remote sensing visualization with WebGL<br />Trevor Clarke<br />Opticks Developer<br />Ball Aerospace & Technologies Corp.<br />tclarke@ball.com<br />http://opticks.org<br />
    2. 2. Non-literal remote sensing<br />More than just pictures<br />Spectral<br />Calculate statistics and visualize relationships<br />LIDAR<br />Dynamic 3D visualizations<br />
    3. 3. To the cloud<br />Wouldn’t it be cool if we could do this in a web browser? <br />
    4. 4. To the cloud<br />Maybe we can<br />WMS – Context maps<br />WCS – RAW data<br />WPS – Process execution<br />
    5. 5. To the cloud<br />Doesn’t help with LIDAR<br />Spectral display often need lots of “tweaking” to find proper thresholds, etc.<br />
    6. 6. To the cloud<br />WCS<br />WPS<br />WMS<br />Adjust<br />threshold<br />
    7. 7. Desktop solution<br />A typical solution for desktop apps is to calculate the results data once and just change the display<br />This is quite fast when all display operations happen in RAM and/or on the video card<br />
    8. 8. A solution for the browser<br />Calculate the results data once with WPS and transfer with WCS<br />Perform visualization and compositing with Canvas/WebGL<br />
    9. 9. A solution for the browser<br />WCS<br />WPS<br />WCS<br />WebGL<br />Texture<br />adjustment<br />Histogram<br />
    10. 10. A solution for the browser<br />Includes material © 2010 DigitalGlobe, Inc. ALL RIGHTS RESERVED<br />
    11. 11. Current status<br />Proof of concept complete<br />Partially completed WebGL/Canvas layer for OpenLayers<br />Some basic shaders completed (primarily for hyperspectral)<br />Threshold<br />Dynamic color maps<br />
    12. 12. Current status<br />Multiple server side solutions being tested<br />GeoServer for WMS<br />MapServer for WCS and WPS results<br />52north, PyWPS, and Zoo being evaluated for WPS<br />
    13. 13. Future<br />Port to mobile platforms<br />Little to no WebGL support currently<br />Shaders and data flow are the same<br />Java (Android) or Objective-C (iOS) instead of JavaScript<br />gvSIG Mini Maps might be a good starting point<br />
    14. 14. Future<br />Same technique useful for LIDAR (and other 3D display)<br />Multiple shaders for a variety of display modes available from Opticks (my other project)<br />
    15. 15. Q&A<br />Presentation available at http://slideshare.net<br />Trevor Clarke<br />Opticks Developer<br />Ball Aerospace & Technologies Corp.<br />tclarke@ball.com<br />http://opticks.org<br />