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. Support adaptive and exact algorithms for reproject: Merged
    Adds partial support for other algorithms by restricting input shape to 2D.
  5. Make reproject more efficient by identifying invariant axes: Unmerged
    Performs a back-and-forth transformation between pixel and real-world values to identify axes that don’t need to be reprojected. The function is complete and will be used in a future PR for optimizing reproject. Can be merged after a final review.
  6. 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.
  7. Reproject NDCubeSequence Documentation: Unmerged
    Documentation for the above PR. This will be merged after the code.

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.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Adwait Bhope

An optimist entering this quirky field of Software Engineering.