Student:
Mohammed Rashad K.M
Idea
The idea is to create complex image processing chain using the OSSIM python bindings pyossim. This includes adding python inteface for all the ossim-executables (ossim-igen, ossim-orthoigen, ossim-mosaic, ...). The work will add 'numpy-array' capabilities into pyossim as exchanging formast to include python-gdal and pyOpenCV to solve image processing problems for under water images processing (develop methods for : Bayer Demosaicing, Light detrend, color correction on raw tiff CCD images).
For testing purpose, raw CCD images and relative camera metadata (focal length, distance from the ground, roll, pitch, gain etc..) from the Habcam project will be used.
GSoC 2012 Proposal:
https://google-melange.appspot.com/gsoc/proposal/review/google/gsoc2012/rashad/19002
Project repository:
https://bitbucket.org/bugbrains/gsoc2012
Week 1 Report
What did you get done this week?
- Compiled ossim,ossimPlanet from trunk sucessfully. But disabled ossimPredator and gpstk.
- studied ossim plugin mechanism.
- setup wiki page and repository in bitbucket.
What do you plan on doing next week?
- Learn ossim opencv-plugin. How an OpenCV Image is read in ossimImageSource.
- I will learn ossim libraw plugin as most of my data is in .raw format
- start demosaicing algorithm for habcam images.
Are you blocked on anything?
- As of now nothing can be said as blocking but OpenCV GPU is something new to me and need to read more about it.
- ossimPredator uses outdate ffmpeg libs.
- ossimPlanet is not working with OSG 3.x. Need to downgrade OSG for making ossimPlanet work.
Week 2 Report
What did you get done this week?
- OpenCV plugin has been studied. As of now trunk version has some CV filters implemented.
- Finished with ossim libraw plugin. Learned how ossim handles a new data type using plugin.
- I spent more time in understanding how the bayesian filter works.(theory part is done)
What do you plan on doing next week?
- I will concentrate more on debayer this week after getting a raw file from WoodsHole.
- There will be changes in implementation based on the metadata of the raw file.
- Planning to build a demosaciking plugin for habcam images.
Are you blocked on anything?
- Yes, I am waiting to get some .raw data from habcam group.
- Massimo had requested for data and metadata and we are expecting a response by tomorrow.
Week 3 Report
What did you get done this week?
- sucessfully completed a demosaicing on raw files.
- libraw plugin uses dcraw. The raw file which I have is not recognized as a raw by dcraw because
habcam images doesnt store metadata in the header. - debayer currently works only for habcam images (GRBG)
What do you plan on doing next week?
- write ossimImageData using any of the ossimImageWriter classes
- I will concentrate more on ossim numpy interface
- create a python module for ossim apps ossim-image-compare.
Are you blocked on anything?
- The problem is with writing an ossimImageData to file.
- I asked ossim-list regarding this issue.
Week 4 Report
What did you get done this week?
- I spend more time on building pyossim
- demosaicing currently generates a python code which creates three numpy arrays (R,G,B).
These RGB values are used to create PIL image and renders using pyQt. - using pyossim to make simple ossim apps.
- Load image using ossimImageHandler and iterate through tiles.
What do you plan on doing next week?
- I am planning for clean build of pyossim without any changes in ossim source code
- If it didnt work for two days I will modify ossim source and make an pyossim lib
- After that I will use pyossim to rewrite actual ossim apps.
- complete ossim numpy interface for exchanging data.
Are you blocked on anything?
- I am blocked in pyossim. It doesnt build clean on current ossim source code.
Week 5 Report
What did you get done this week?
- pyossim was build with a very minor fix in ossim trunk
- wrapped some new classes into pyossim
- Written some ossim application in python like ossim-image-compare, ossim-band-merge etc.(code committed)
- started ossim-numpy interface(source not committed)
What do you plan on doing next week?
- I will try to add some more ossim apps in python.
- start the color correction for underwater images.
Are you blocked on anything?
- Nothing can be said as blocking
Week 6 Report
What did you get done this week?
- ossim numpy bridge is done. reading and writing data is tested.
- writing demosaic image to tif/jpeg using ossimImageWriter class.
- started digging on color correction of underwater images.
What do you plan on doing next week?
- I will spend more time in learning color correction this week.
- Also three ossim apps will be pushed to repo if there is time.
Are you blocked on anything?
- Nothing yet.
Week 7 Report
What did you get done this week?
- I spend more time color correction.
- Ported ossim-mosaic to python
- got a new way called imagestack library which is pretty much easy to handle
What do you plan on doing next week?
- I will finalize the color correction code by next week
- There are diffrent possiblities to move on like using imagestack as a library
- imagestack and ossim handles images in different ways so the worst case there will be a class/method called ImageStack2ossimImageData and ossimImageData2ImageStack
Are you blocked on anything?
- Cant take a decision on habcam color correction
Week 8 Report
What did you get done this week?
- color correction method has been finalized
- learned how imagestack library works
What do you plan on doing next week?
- I will start color correction of habcam images
- the ossim-app will need imagestack library
Are you blocked on anything?
- Nothing
Week 9 Report
What did you get done this week?
- started porting imagestack code to use in ossim
- cropping of images has been done
- I will commit the repo later this week
What do you plan on doing next week?
- I will try to add white balance function
- add downsample operation to ossim
- also colorconvert code from rgb to lab
Are you blocked on anything?
- ossimImageData to ImageStack Image class is blocking
Week 10 Report
What did you get done this week?
- White balance is added to ossim and works without Imagestack.
- Color correction of habcam was done using imagestack thru ossim
ossim reads the image using ossimImageHandler and the tile is
converted to a different class for imagestack operations
What do you plan on doing next week?
- I will finish color correction code by next week
- saving of images is currently using imagestack by next week
I will finsih saving of images using ossimImageWriter
Are you blocked on anything?
- Nothing
Week 11 Report
What did you get done this week?
- finished color correction of habcam images
- loading and saving of images are doing using ossimImageHandler
and ossimImagewriter respectively. - ossimImageSource is converted to Imagestack's Image class for doing
Imagestack operations such as whitebalance,WLS,UpSample,DownSample etc.
- At any point it is possible to convert the ImageStack's Image Class to ossimImageSource
using the ImagestackToOssimImageSource function. At this Point Imagestack's Image class
is converted to ossimMemoryImageSource. - In the sample ossim-app I had used ossimTiffWriter but it is also possible to use any
ImageWriter class such as ossimJpegWriter, ossimPngWriter. code has been tested
What do you plan on doing next week?
- I will do more testing with images from habcam repository
There are tons of Images available at habcam.whoi.edu - Start documenting the entire GSoC 2012.
Are you blocked on anything?
- Nothing
Week 12 Report
What did you get done this week?
- Testing has been done for ossim numpy and demosaicking
and color correction of habcam images - added a new python app called ossim-dem. will push to repo later today
What do you plan on doing next week?
- continue documentation.
Are you blocked on anything?
- Nothing
Week 13 Report
What did you get done this week?
- pushed ossim-dem python app to repo
- added some readme
What do you plan on doing next week?
*Nothing.
Are you blocked on anything?
- Nothing