Showing posts with label gsoc 2011. Show all posts
Showing posts with label gsoc 2011. Show all posts

Friday, July 15, 2011

GSOC 2011 - Sub-surface Features in WorldWind

Honestly I did not sign up to mentor this project, but I kind of drifted into throwing some advice by the way of the student. Doing a prototype of sub-surface visualisation is not at all difficult, but it is difficult to get it right, to convey the information without losing the context provided by the draped textures.

California Seismic or Australia Boreholes data goes down into the earth's crust. The crust is not that thick (only a few 10's of km in the 6000 or so km's of earth radius). Thinks get a bit weird in portraying things accurately while using vertical exaggeration. The surface of the earth becomes a bit of an event horizon. Nevertheless good progress has been made with changing the transparency of the surface textures and deploying secondary meshes below the normal terrain mesh. The aim is to get something close to Rockworks. The implementation so far tweaking secondary meshes in WorldWind can be seen here:

Tuesday, June 28, 2011

GSOC 2011 - PyOssim

The awesome Ossim library has served me (and disaster situations in New Orleans and Haiti) in getting large amount of imagery processed accurately and without too much manual messing around.

OSSIM already sports a JNI wrapper tying the rich C++ library to the JVM (I loathe to say Java - it is such a verbose and bureaucratic language). Coming from C++, an Ossim wrapper should attach to a more dynamic language. Indeed the OMAR developers chose to write it mostly in Groovy+Grails.
Ship Tracks in OssimPlanet

This year the GSOC project is aiming to wrap some important bits of the vast library using SWIG for use in CPython. Writing a SWIG wrapper can be painful at the best of times as I found out during my Kinect SWIG work. In spite of the hurdles Vipul has made decent progress and made some of the previous work with JNI + SWIG compile in the Python context. Now he is starting fresh from a purely Python perspective, we will figure out which functions are important and should form the seed for a python wrapping project.

If it all becomes too hard to do with CPython, we might stick with the link to JVM and script Ossim with Jython.

Sunday, June 26, 2011

GSOC 2011 - Ship Detection in Opticks

This is my second mentoring stint for the Google Summer of Code. I am advising on 3 separate projects in different capacities.
  1. Ship + wake detection and parameter estimation using Radar images in Opticks
  2. Wrapping the awesome OSSIM library in python
  3. Displaying sub-surface features in a 3D globe - NASA WorldWind
This post is going to be the first in a series describing the goals of each of the projects and where we are so far in them. In my personal opinion given the complexity of the algorithms involved and the visual outputs the ship detection project has progressed the farthest. We are using a beautiful 3m TerraSAR-X image from DLR as the basis for our implementation.

The various algorithms we have thrown in include:

1) CFAR with k-distribution model of the clutter
2) Elliptical width, height and orientation estimation
3) Isodata clustering for ship points
4) Linear feature (wake) detection with radon transform
5) Conversion of ship to wake displacement to ship velocity using satellite trajectory and imaging mode

Vijay is in his 5th week now and has been making great progress, picking up algorithms from various examples and adapting them to Opticks.