Second Evaluation: 2 months into GSoC

I thought the first month will be the toughest as there lies the trickiest part of the project. But guess what, the second month proved otherwise. But that’s the reality of GSoC, right?

Until you have faced the challenges at least once, you won’t grow better to face it the next time. I am glad of the learning experience GSoC has given me. I used to think coming into OSS has improved my skill a lot but now I can see how much still I have to perfect myself. The following is the experience of the 2nd month of my GSoC project.

What things I achieved before my second evaluation?

1. Plotting Interface for AstroImage

This involved writing a custom recipe for plotting AstroImages. Now using plot(img, header), users can display the world coordinates of AstroImages in the plot itself.

2. Image Interface for AstroImage

Adding image interface required AstroImage package to fortify with many small features. But the toughest part was to maintain the performance and write code in a type stable manner. I got to know about mutiple dispatch from my mentor and how Julia is utilizing it to make everything faster and efficient.

Additions for Image interface: * Multi Image support #19 * Multi WCS support #20 * Multi File support #21

Also, I’m having some trouble with floating point inconsistencies in ccd2rgb as it creates a problem on different platforms while testing on CI platforms like Travis. Hope I find a fix soon.

3. GUI Interface for AstroImage

I have created the initial interface and set up a repository AstroImageView.jl. This will hold the UI for AstroImage. I will soon push the code with the initial interface as it requires to take care of some more things.

What will I be doing for 3rd month?

  • Extending GUI interface The GUI is under development and will be released with new additions.

  • Design Distributable format for AstroImage This requires some core additions to AstroImages package, so that users can re-distribute the results obtained and share an AstroImage object for others to work on.