Juno Cam

High-Level Project Summary

Our project is an open-source image-editing application to develop colour images using the three JunoCam-generated grayscale images representing the RGB colours. When provided with the either the three grayscale images or a single RGB image, the application provides various editing options to perform on the given images, such as adjustment of brightness, blurriness, contrast, sharpness, saturation and varying the RGB percentages and an option to enhance the photo.After performing the required editing(s) on the image(s), the app also gives an option to download the edited image in various formats.

Detailed Project Description

Our project is an open-source image-editing application to develop colour images using the three JunoCam-generated grayscale images representing the RGB colours.


Upon opening the app, the user is provided with 2 options ; -




  1. uploading a single RGB image
  2. uploading 3 grayscale images


Post uploading the image(s) in both the scenarios, the user is furnished with various editing options to perform on the given images, such as adjustment of brightness, blurriness, contrast, sharpness, saturation and varying the RGB percentages and an option to enhance the photo.

The control over the following properties is given via sliders, which when dragged around, change the corresponding property instantly.



The user can also move back and forth between his editings in order to keep track of his work and ensure his work is aligned in the direction of his desired result.

Lastly, the user can also download and save the new edited image to his local device. Various image formats like JPG, PNG, TIFF and BMP etc are the options given while saving the image.

Hackathon Journey

NASA Space Apps challenge was a very rewarding experience for our team.

We completely geeked out this weekend and hustled a lot to learn new frameworks and concepts in order to get the project up and running.

We learnt about the Python framework - PyQt, which is used to be build desktop applications via Python. We also came across various image processing concepts and techniques and got to know about various Python libraries such as Pillow, SciPy and OpenCV to name a few.

The reason for choosing this problem statement was our curiosity towards image processing. When we stumbled upon this problem statement, we were very interested to try it out, and since none of us have worked in the field of image processing we took it up as a challenge to complete this project. Lastly, since the problem statement demanded for an open source application, we knew this was the one we wanted to get into as open source is something we all are deeply interested in and we feel it can have great impacts on the society.

Initially we had decided on developing a web-application for this problem statement, but then we realised that while every editing operation performed on the image, the website would have to re-render repeatedly, making it slow for the user. To overcome this obstacle, we decided it would be best to make a python-based desktop application as all the function calls would be taking place inside the app itself. We then started to look for desktop application frameworks and came across PyQt. Initially, we were a bit hesitant to work with it as few of us weren’t much familiar with python and none of us had used or heard of PyQt as well. Nevertheless we decided to hold on to it proved to be a pretty good solution in terms of what we were aiming to build.

We faced a lot of setbacks and challenges in the process of building this project, starting from setting up PyQt for development itself. I incurred a huge loss of time in the same as I use an M1 Macbook and PyQt isn’t built for it's architecture. Thanks to the huge technical communities such as StackOverflow and various blogs, I was able to work around my way through this hurdle. Even after that, we had quite a few setbacks in achieving our end goal due to our unfamiliarity with PyQt Widgets and syntax. Fortunately our team was very cooperative and we were able to help out each other at every step of development, even in the virtual mode.

Lastly, we would like to thank our college seniors, who brought our attention towards this wonderful opportunity and mentored us throughout the program. We couldn’t have reached this far if it wasn’t for them.

All in all, it was an incredible experience and an interesting journey and we look forward to participating in this challenge for years to come.

Tags

#software #juno #spaceapps #planets #spaceexploration #imageprocessing