Stitching MOM’s Data

Congratulating MOM on its 5th year in the orbit, it has been working flawlessly on sending out beautiful mars images down on our blue surface. Indian Space Science Data Center hosts the critical data and serves some of it out for space enthusiasts to play with the datasets.

ISSDC: https://www.issdc.gov.in/index.html, You can browse MOM data here: https://mrbrowse.issdc.gov.in/MOMLTA/, All 2nd year MOM images: https://planetary.s3.amazonaws.com/data/mom/mom_mcc_year2.html

As NASA does with its Juno spacecraft where it uploads them to a web server and the public images are being generated by space enthusiasts and being uploaded for everyone to look at, my thought was to do something similar to the MOM data since they are also raw images from the spacecraft. I started looking for some image processing techniques that can be applied.

Quickly, while looking at the images you can sense that the images are captured in frames and there is a lot of overlapping data in the images being captured. This actually leads to the very evident question of “how we merge all these images?” That is what exactly we are going to do.

Orbit 184: 2015-12-10

The above are raw images of Orbit 184. We will try to find out common points and try to stitch these together. Before we can do that lets use the SIFT algorithm in OpenCV and try to find out common points and features among the files. Comparing the first two images we get these features:

Common kernel features using SIFT

More details on SIFT is here: https://docs.opencv.org/3.1.0/da/df5/tutorial_py_sift_intro.html

Using this script https://medium.com/pylessons/image-stitching-with-opencv-and-python-1ebd9e0a6d78 from this article where most of the code has been put together for this article, we will try to find Homography between the matching features. Extracting the warped/overlapping image and sticking them together we have.

The white line depicts the difference between the two images. The right part is the overlapping area and left is the non-overlapping area that will be stitched.

Recursively, doing this for several images will get us a spread out image of the area. Stitching all the 5 images we get this:

All 5 images dataset stitched together.

The code is published on GitHub here: https://github.com/adityak74/stitchim

Final grayscale showing the data extracted and extended

Comparing the initial image with the final image, we see that we gained 15% more information and overall data and move one step closer to generating the map. I will be working on writing a batch image stitcher and hopefully getting to generate the entire mars map.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.