Google Summer of Code Work Product Submission

This blog post is a consolidated report of my GSoC ’21 project. I’ve been contributing to ndcube - a sunpy affiliated package, which is itself a part of the umbrella organization called openastronomy. Phew, that’s quite some hierarchy.

Here’s a list of pull requests that I’ve opened during the coding period:

  1. Initial implementation for validating two WCS: Merged
    Implements a function to check if two given WCS objects are compatible with each other for reprojecting the NDCube.
  2. Reproject implementation: Merged
    Adds a method to reproject an NDCube using the astropy package called reproject.
  3. Reproject NDCube Documentation: Merged
    Documentation for the above PR.
  4. Combine cubes from NDCubeSequence using reproject: Unmerged
    Stacks the data of all cubes in an NDCubeSequence together into one cube. This PR is ready to merge but awaits testing from the community.
  5. Reproject NDCubeSequence Documentation: Unmerged
    Documentation for the above PR. This will be merged after the code.
  6. Support adaptive and exact algorithms for reproject: Unmerged
    This PR is completed and is ready to merge.
  7. Make reproject more efficient by identifying invariant axes: Unmerged
    This PR is a work in progress and might need some time until it’s ready. The last commit on this PR as of writing this post can be found here.

I’ve also been writing blog posts throughout the coding period. Here are links to the 4 parts I’ve written so far: Part 1, Part 2, Part 3, and Part 4. They contain a more technical description of the work along with some obstacles that we faced.