Reloaded Blog

Thursday, September 27, 2007

So happy together - GYM side-by-side


Finally overcame all my prejudice and added the Google Geographic Search to the World Wind PlaceFinder via the REST API. It is all quite nice and simple to interface and highlights the theme of World Wind as a geographic data browser, to stand shoulder to shoulder with all the html-browsers like Firefox, Opera, Safari and oh-so-notorious Internet Explorer. In the same spirit it should offer equal footing for all the major players to have a presence, we don't think twice about having MSDN, Yahoo Movies and Google Search open in tabs next to each other. An independent geographic browser should offer similar visibility and democracy to those willing to publish data in an understandable format. FlashEarth and OpenLayers demonstrate this bringing together with the imagery as well as the search API, but I guess World Wind will never be able to publicly do the same due to legal wrangles.

A geographic browser should allow server side(image servers/feature search/routing/traffic) applications as well as client side extensions(scripts/plugins/xml layers/movie making) and World Wind to most extent fits the bill. The .NET version is the Firefox of the geobrowsers, with all features thrown in but left open to change(or is it SeaMonkey), while the Java version is Gecko, a barebones multi-platform geographic data rendering engine that you can drop in where you wish.

Now coming to the head-off between the 3 geographic search API's , having them side by side like that is really neat for a comparison. In my personal opinion Google allows the best free-form entry of addresses , producing valid and very accurate results. Here are a few things I tried:
  • Incomplete entry - Try calif instead of California , Google reads your mind and delivers.
  • Misspelling - Google does a spell check and suggested correction
  • Different address format - 182 Murray Street, Tanunda S.A. 5352 ends up in USA in VE but in the place I wanted in Google (possibly because they are tracking my IP, time to get paranoid later).
  • Post Office accuracy - Google consistently located post offices when supplied just town names, where as Virtual Earth picked a random spot in the town.

Not that I am biased , just do your own tests and see which placefinder gets you what you want, another excuse to try new World Wind where you can find them all side by side.

Google-Digital Globe Repositioning

Digital Globe is now in a strong position with a successful launch of a functional new high-resolution satellite. Google has got some unwarranted free publicity out of it as well. This has led to some market positioning and jostling between the two entities , with Digital Globe trying to push their new acquisition GlobeExplorer as a direct imagery access service. Everything seems to be resolved now, but Digital Globe seems keen to get back to their tried and tested money from imagery sales business model, this time peddling access to global mosaic with a few extra ribbons such as online processing instead of individual QuickBird Scenes.

The heavily watermarked public WMS works cleanly with World Wind for those pining for QuickBird data, albeit a bit slowly ( we are thinking of putting a tile-cache in front of it). Here is what it has to offer over Sydney.

Sunday, September 23, 2007

Engineering Awards Night

Another occasion to suit up and flash the red-tie - Engineers Australia Annual Awards Dinner. It was quite fun with acrobats from Cirque du Soleil and comedian waiters. I renewed my acquaintance with a few friends I had met last year at the dinner ( I must be a hermit , I meet people once per year).

Then the rest of the night was spent dancing Swing and variations at Boho. Turned out to be quite fun after all.

Saturday, September 22, 2007

Merits of doing a PhD

I am considering doing a PhD on L-Band Polinsar . There is quite a bit of groundwork now in this field with the repeat pass systems from DLR E-SAR and ALOS-PALSAR. I have worked with data from both of these sensors in the past and doing a PhD will be natural continuation.

On the other hand there are disadvantages of doing a PhD too early in the career without an explicit academic bent, or even worse a PhD constrained by commercial interests( not that anything in life is ever unencumbered by it). If anyone wants to offer me any free advice to help me make up my mind feel free to do so.

Wednesday, September 19, 2007

WorldView-1 Launch and what to do with it

The big news today in satellite imaging circles is the launch of WorldView-1. The launch videos are on the Boeing site. The not so cognizant seem surprised that WorldView-1 is a panchromatic only sensor. Panchromatic captures greater energy due to the broad filter and uses it to produce higher resolution. WorldView-1 probably had a MultiSpectral sensor as well which is rumored to have suffered some sort of accident during the build and was not replaced due to time and budget constraints.

The imagery will go on priority basis to NGA , people-friendly colour can easily be obtained via fusion with the high quality MultiSpectral from Quickbird via virtually automated chain in minutes if need be. The only problem will be temporal decorrelation producing artifacts due to:
  • Moving objects (cars,boats,people - they will be clearer at 50cm)
  • Shadows due to different sun angles
  • Cloud position differences
Hollywood was still popular in the black and white days as long as the actors did their job and there was a reasonable plot. I have little doubt about the popularity of WorldView-1, the quality of the colour products will depend on the orbital match with Quickbird and that will become clearer once the TLE's are published and both of the satellites are being tracked.

Wednesday, September 12, 2007

Sharpen-Blur and Brightness-Contrast via Pixel Shader 2.0

Using pixel shader 2.0 more complex operations can be performed on World Wind texture tiles.

The spectral contrast stretch operations involve converting from RGB to HSI space and adjusting the intensity with a multiplier and offset, then converting back to RGB. This involves a quite long and complex pixel shader. The results are shown here.

Spatial enhancements such as blur,sharpen or any other convolution oriented operations involve look up using texture coordinates and are dependent on texture size. I have implemented blur and sharpen, hopefully arbitrary 3x3 convolutions soon with parameterization of the matrix. Notice how the jpeg artifacts are affected by sharpen and blur.

Quick and Fast Image Processing in World Wind - via Pixel Shaders



After a brief foray into GLSL shaders and suffering a beat back from the not so good GL support on my laptop graphics card I went back to HLSL and .NET World Wind hoping to implement some simple image processing via pixel shaders and expose the shader parameters via the QuadtileSet properties GUI, much like in NVIDIA FxComposer.

It must be noted that with little hard drive space limits and high bandwidth it is possible to have full-resolution imagery in World Wind as zipped dds, png or even tiff tiles. These can then be processed via a pixel shader to perform a range of enhancements. Spatial operations such as sharpen, blur or unsharp-mask will require reverse texture coordinate lookup and Pixel Shader Model 2.0, but a lot of high speed in your graphics card enhancement of imagery is possible.

I tested out an old shader from Stephan demonstrating multitexturing and started on one for dynamic some brightness-contrast enhancements on a per imagery layer basis.

Monday, August 27, 2007

Weekend in Barossa - Happy B'Day Fleur


Just back from the weekend of camping in the Barossa Valley Wine Region, organized by Fleur for her birthday. Happy birthday Fleur!! I definitely recommend her as a travel organizer/tour guide.

Saturday I had to wake up early and drive for an hour and a half through the scenic Adelaide and Barossa hills to get to the campsite in Tanunda. This is the longest non-stop drive I have ever done in my car and that was quite exciting. I sped about like crazy with the car loaded up with camping gear. It took time setting up all the tents and buying food for dinner.
The rest of the day was spent winery hopping and the night was spent around the campfire talking non-sense to random people. When I finally went to sleep, I just barely felt that my feet were very cold.

The next day we went for a spot of real wine tasting, mostly because I was driving and could not drink any just smell and swirl it around in my mouth. We found some really good wines at Rockford. It is a small winery with lots of old barrels lying around and a cobwebbed ceiling, but they make very fine wine. Then off to Grand Burge with beautiful sceneries matching the great wine. Some of the aged wine was apparently just found in the cellars from times they did not have permanent records, it was at least 25 years old and tasted delicious. I am sure that will not stand up to a breathalyser test, but luckily I did not have any. Finally we passed the Craneford winery which is owned by Fleur's family for some personal attention, and some jockeyed for mates rates. Now I am back home but the camping gear is still filling up the car, the wine is out and is safely in the dark corners or the fridge as appropriate.

May be I will get some real coding done thanks to the break. Drifting off into vertex and fragment shaders from the land of wine and olives.

Thursday, August 23, 2007

World Wind Java and Shader Trickery


Just to keep up my end I have been doing regular release builds of Qgis lately. Then I had a look at some of the prettier shader applications in World Wind Java. Now I have new goals. I pulled out Render Monkey and the big thick GLSL Tome.

I have the following on my list:
  1. Layer opacity control via fragment shader
  2. Gradual layer transitions as user zooms in, basically eye distance based opacity
  3. Raster enhancement operations - such as RGB to Grayscale, sharpen, contrast stretch etc.
  4. The old favourites sun shading and day-night, this already seems to be there is a simple way in render monkey.
  5. Global fluid water layer, hopefully a simple spherical mesh with a simple vertex shader or varying bump map.
Meanwhile I am waiting for the 0.3.0 release to get a stable start, a lot seems to have been already achieved. At some point I need to start on some decent KML support, I already have a schema based parser from castor, pity so little KML in the wild actually follows the schema.

Wednesday, August 08, 2007

Qgis 0.9 Preview Installer up

I put together an NSIS based installer for Qgis 0.9 Preview 1 with some primitive Python detection support for testing, it will complain while loading the Qgis Python bindings if PyQt4-Sip are not located. It should work with the Binary package for PyQt4 available here. I will try to add auto-install of PyQt4 soon.

Tuesday, August 07, 2007

Post after Long Silence

It has been a while since I last posted, why ?

Well I changed browsers, Firefox was taking up too much memory making it hard to perform those giant ossim links, so I switched to Opera and Blogger has pathetic support for Opera.

Anyway in this offtime I managed to attend a charity dinner, fall flat on the dance floor, get on the Qgis release team and contrary to popular misconceptions got Qt 4.3 to work with MSVC++ Express Whidbey(patches) and compiled OssimPlanetQt on this platform. It works just fine.

The Qgis 0.9 Ganymede ( my name of choice is in !) Release is undergoing tests and you can pick up a zip archive of binaries here. There are some issues with the PyQt bindings , please leave feed back on your experience here or on the Qgis mailing list. I am working on automatic detection and install of Python2.5+PyQt in the NSIS Script, any snippet suggestions for doing this are also welcome, especially from the PyQt folk so that I know where I am standing.

Saturday, July 14, 2007

Generation-Y Employees

I have never been really keen on generation nomenclature. I am never sure whether I am in generation X or Y. But I am concerned when surveys show a certain bias towards people of my generation. This came to my attention through my Engineering Association newsletter. So I dug up the original article from smartcompany.com.au.

The gist is that younger employees have a high technical skill level, but lack corporate slick. Their bosses increasingly rely on them to provide technical solutions and solve the problems that were impossible 1year ago but are probable now( due to pace of technology movement). The bosses then complain about the high expectations and low loyalty of the younger employees.

Over all the article is not all negative and puts forward a few useful suggestions for making the most of Gen-Y employees.

''The key issue for employers, then, is not whether to hire a member of Gen-Y, but how to make the most of them.''

BigTiff support coming to LibTiff 4.0

Thanks to the input from Joris and others various enhancements from the BigTiff proposal are now part of LibTiff. Hopefully it will soon get the blessings from Adobe, who own the Tiff Standard and become part of the official Tiff spec and encourage wider adoption.

Adobe seems to be aware of the issue with the 4Gb Tiff barrier and looking into already implemented enhancements such as by Aperio. John Nack points to it in his Adobe Blog. Hopefully Photoshop will soon take this up and implement a tiling scheme for images bigger than 30kx30k pixels.

Meanwhile I am busy shuffling BigTiff into my processing stack. Testing it with Gdal(Support works fines) and Ossim(Support not yet stable). If anyone wants to help in the testing with other applications grab some sample images here.

Thursday, July 12, 2007

Qgis 0.9 to be released soon


Tim is warming up to release Qgis 0.9 before FOSS4G 2007. I am happy to report that it builds easily and cleanly in windows thanks to CMake with all the goodies and the much anticipated Python support via PyQt-Sip.

The Python API makes quick development and debugging of Qgis plugins as breeze. Quite a few have already been made to show the possibilities. To support the release ( and to plug my name choice for the release) I made up a new splash screen. I will welcome any criticism of my design's shortcomings.

Tuesday, July 03, 2007

Sweet and Sour Pork ... return to World Wind coding


I have been taking a break from coding World Wind. With the Java version building up and a lot of things on my plate, I was not sure where to concentrate. Knowing the code base well enough I can quickly solve problems and add features in the C# version. So I touched up a small section of KML Importer today for Image Overlays, now hopefully all sorts of image overlays work(local,over http and embedded in kmz). The rotation tag still needs working and I would like to add handles for editing the overlays as well from the Image Overlay plugin. The other nice upgrade would be support for multiple KML files.

Anyway to celebrate this small achievement I tried out the recipe for sweet and sour pork. The results were delicious and rewarding.

Sunday, July 01, 2007

M-Party





Went to Marine's farewell M'Party. The dress up was hilarious , including those not willing to dress up and turning up as 'Me' . Overall there were some pretty good costumes and I attracted plenty of attention strolling home in my magician gear across the crowded Saturday night streets, pity I had to give away my and wand and kanga-rabbit.

The party was taken over by Martians of both sexes and Mummies till the MIB came to rescue.
But they let their hair down and messed up, even the 3 Maids could not get the alien dust off.

Monday, June 25, 2007

Clubland and Thief Land


This weekend was spent in the city crashing various parties and going to the preview screening of hilarious and well acted Clubland.

As a side effect of leaving my car parked in the same spot for 2 days I also managed to get it broken into. Luckily I have nothing in the car and the car itself is not worth stealing, they even left my street directory behind. Next time I should a note saying ":Thank you for looking:".

Friday, June 22, 2007

TerraSAR-X up and running


So there was a launch and it reached orbit safely, now TerraSAR-X is providing nice images even in stripmap mode. Spotlight mode is going to be as good as most of the Optical systems, well samples remain to be seen. Here are links to the news item on the DLR site and a launch video.

Wednesday, June 13, 2007

Vision and Remote Sensing Image Processing

I started in the world of Image Processing through medical image processing, now I see increasing convergence between various Medical and otherwise Machine Vision algorithms and Remote Sensing Image Processing of data from Space and Airborne sensors.



3 Open Source projects illustrate the state of Open Art and probably most of art in this field:
  1. Orfeo Toolbox - This project developed with blessings from CNES for processing the data from Cosmo-Skymed and Pleiades constellation. It pulls together ITK from the Medical Image processing world and various remote sensing libraries such as ossim and gdal to provide comprehensive image exploitation capabilities.
  2. NASA Vision Workbench - Mainly a machine vision library intended for the Mars Rovers with some Cartographic functionality thrown in via the ever present gdal. The generic camera models - Pinhole(CAVHORE) and Line Scanner are implemented allowing expansion to both ground based and aerial/spacebased sensors.
  3. Ossim-OpenCV extension - Ossim extension for the well known Intel OpenCV Library. This is a nascent project shows some promise in bringing the myriads of tried and tested ideas from the Machine Vision field to Remote Sensing. May be soon we will have real time face recognition and location from satellite images available to everyone - not just the NSA as shown in the movies.

Tuesday, June 12, 2007

Wine Tour


Finally back from the seafood and wine festival. The day went like a dream. Nice weather, sunny and no drizzle even in winter. Lots of happy people on the bus. And lots of good wine, did not pay much attention to the food. The Grenache and Fortified Shiraz were outstanding, as was the craziness from everyone on the way back.