14 posts
(Prequel)Second PR to JuliaAstro
PR info. 9th PR on AstroImages.jl(I only submitted 2 PR before getting selected for JuliaAstro although I had other PRs in other Julia related repos). Task: A FITS file can contain both images and/or tables related to an Astronomical image. So my task was to write something to handle cases when there is no image component present in the file. It’s like adding corner cases. Things used: Nothing specific. But many iterations done due to not knowing standard things. (I was still new to Julia) Back-story My first PR was in and I discovered this one accidentally. I got an error while using a FITS file without an image component. Although we can specify our own index but by default AstroImages treated the first index of FITS as image component. But according to me, the system should be intelligent to handle such know situations (also was finding things to make PRs for). It later turned out to be an important observation. PR evaluation and learnings This PR started with pointing mistakes I did in the PR. I wasn’t familiar with the concept of Multiple Dispatch then and I mixed development practices of Python too. I was opening the same file several times (in Astronomy it can go to GBs too).......
(Prequel)First PR to JuliaAstro: Making Impression
PR info. 7th PR on AstroImages.jl. My first PR to JuliaAstro org. Task: Add a feature to change brightness/contrast of AstroImages in real-time in Jupyter notebook itself. Things used: Interact.jl for interactive Jupyter visualization. Back-story There was a criterion of OpenAstronomy that a student should have at least one PR to the project to be eligible for getting selected into the org. Our mentor Mose told us about this and as AstroImages.jl was a new package, there weren’t enough issues to solve. So he came up with this idea that can be implemented to the package. Lucky me, I have done the same thing before while extending docs of Images.jl. I think this gave me an edge over others. Those days I was also contributing to JuliaText, so managing time for both org. was tuff. But as I knew how to do this, it was a quick PR. PR evaluation and learnings Mose was expecting the same thing which I had made. I also proposed some ideas like we can store this operation and change the data of FITS if the user wants according to this feature. But Mose highlighted that the data is holy, we shouldn’t just modify it just carelessly.......
Final Report GSoC'19: The curtain Falls
With over 2K+ lines of code, 3 repositories and countless discussions, Google Summer of Code 19 with OpenAstronomy (JuliaAstro) came to an end. The following is an attempt to summarize it in words (without the hard parts). Merged Pull Requests Reproject.jl: SLOC -> 586 (Reprojects (a type of image conversion) Astronomical Images from one world coordinate to another.) #1, #2, #3, #4, #5, #6, #7 AstroImages.jl: SLOC -> 1056 (Integration of Astronomical Images with popular Image and Plotting libraries in Julia.) #7, #9, #12, #14, #15, #16, #17, #18, #19, #20, #21, #22, #23, #24 AstroImageView.jl: SLOC -> 604 (A GUI based visualization of AstroImages) #1, #2, #3, #4, #5, #6 With this, I have completed all the things proposed before getting accepted into GSoC. Impact The amount of work done has integrated communities in Julia. Now JuliaAstro can work with JuliaImages, JuliaPlots, and JuliaGraphics. How we deal with astronomical images is different from how we deal with regular everyday images. The integration will now bridge and allow most of the methods coming from JuliaImages to be directly applicable to AstroImages. Plotting is always a great tool to visualize data. Now, with the custom plotting recipes integrated into AstroImages, users can visualize astronomical images on astronomical scales.......