[Week 12] — Approaching the dusk — I
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