[Week 12] — Approaching the dusk — I

Yash Sharma
Aug 18 · 3 min read
The end is approaching!

This blog post deals with the entry of tasks that I did for the 12th week for the project under Google Summer of Code 2019.

Getting PR 189 merged

This week was quite crucial as I had, in my earlier posts, tabulated out the list of tasks, which would roughly end my tasks associated with my GSoC project. Fortunately, my mentor Dan found out time to review my PR. He suggested some changes which I obliged and made the changes on the fly. This was crucial as I had already started playing with gWCS earlier, but due to the availability of Dan I had to revert back to the blocking work of plotting PR.

There were some nervous moments when Dan suggested that some parts of the plotting was not working as expected, but then agreed that there are far more changes that needs to be done before we can push NDCube, so he suggested me move forward with other tasks, and labelled it out of scope of GSoC. I finally got my PR merged, so it was small win for me.

Rebasing the ape14_rewrite branch with master

After the plotting fiasco was finally solved after 2 months, with the PR 189 nailing the coffin, I had to then rebase the changes in the master onto the ape14_rewrite branch. This seemed to be a herculean task, but after asking Cadair for some advice, he suggested that merging/rebasing is the only option and that I should do it complete peace of mind.

I started out with the rebasing, but there were lots of merge conflicts that needed to resolved. I solved each of them, and pushed the changes to GitHub for crosschecking the changes and whether it made any sense. I had no luck doing it on the first try, but after several iterations, I finally got the rebasing working for me. This was really challenging but at the same time, it got over much earlier than I expected.

Working out the NDCubeSequence

I had worked with NDCubeSequence quite before so I lost some of the knowledge of the workings of it. Fortunately, I had the notes of Dan who explained about the inner working of the plotting of NDCubeSequence , so I referred it. I started with changing the older methods of WCS with the APE14 ones, and at the same time I checked if the plotting was working as expected. This was a tedious process as the plotting depended on all of my previous work, and if I catch any bug due to the previous work, I may have to fix it before moving forward.

Learning gWCS

Cadair had earlier suggested me to complete the tests for gWCS and we had discussed the approach we might follow to write them. I started reading through the documentation of gWCS and started playing with some of the examples, before it might make any sense to me. Cadair also suggested some conftest.py files which contained some examples of gWCS which was quite useful for me to understand the framework of gWCS and how it was different from FITS-WCS.

I started working on the helper method which would help me in getting the gWCS object out of FITS-WCS. I had coded up the logic, but I had to write up the function. After writing the function, I tested it with existing FITS-WCS, and it was working great. This was really great, as I was making good progress.

Tasks for the next week

Phew! This was one of the busiest weeks of my coding period. I didn’t intend to push this close, but life happens so we must carry on with the work rather than criticizing our past.

The last week remains the week to wrap up my project, so here it seems my 2 tasks that need to wrap up —

  • Writing tests for gWCS.
  • Writing tests for NDCubeSequence plotting.

Link to my previous post

  • [Week 11] — Fixing the dreaded bug — Link

Yash Sharma

Written by

Open Source Enthusiast | IITian

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade