Showing posts with label ossim. Show all posts
Showing posts with label ossim. Show all posts

Tuesday, March 20, 2012

Clockwork Universe - Certainty, Repeatability,Chaos and GSoC

Whenever someone says that something is random, I always ask - sampling which distribution ? This is faced with stares of ridicule because people always come to hasty generalisations about the randomness of inidividual events without studying the whole system. The above statement is a generalisation on my part and I should spend more time socialising, rather than blog writing.

In nature every individual is random/unique, yet patterns repeat since all the individuals are part of the same distribution. After the development of Newtonian/classical mechanics clockwork universe ideas were rampant, till Poincare pointed out that we cannot actually predict how the clock functions, since our knowledge of the fundamental parameters forming its machinery, namely e and π is uncertain, as is the knowledge of the exact position of the hands of the said clock.


Small uncertainities in the knowledge of initial conditions also rapidly devolve into large uncertainities in the knowledge of the evolved condition, while staying in scope of a larger pattern. All this musing was brought about while watching Hugo.


Some systems are however easier to predict in a short term. It is time again for the annual Google Summer of Code. I have signed up with Osgeo to be a mentor, mostly for Ossim and Opticks. If some other Image processing or raster serving based project pops up I will see how I can fit it in. Till then it remains to be seen whether last year's wonderful GSoC experience repeats itself this leap year (and supposedly the universe ending year too).

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.

Wednesday, October 27, 2010

HgSubversion with Ossim-opencv

I have come to really like the flexibility of making changes and saving them locally with Mercurial , before pushing them off to a repository online. It lets me work on a project independently while saving my work as well as staying upto date with core progress. Ossim-opencv is one of the projects I did some minor contributions to a while back. I wanted to get back into it, but following the incident with losing my last google account I no longer had commit access. So I checked out the SVN with HgSubversion and started making changes and commiting them locally. Finally the organizer switched to my new ID and I tried a push. Things fell apart at this point. I had committed things with my local username, and I usually use my googlecode authentication to push since these are separate things. In subversion however these need to be the same and I was stuck with my changes. Happily Mercurial lets me shelve, make patches, push to another mercurial repository (sandbox) and do a lot of fancy things. I decided to take the convert route and changed name of the committer to match my ID.
opencv ossim plugin

After that I pushed it back into SVN. While doing this I of course validated the results. Here is the plugin loaded into my latest compile of Imagelinker showing OpenCV based Laplacian filter.