Implement function(s) for image registration/alignment

Thomas Robitaille 3 years ago • updated by James McCormac 3 years ago 3

The reproject Astropy affiliated package can be used to reproject images with correct world coordinate system (WCS) information into a common WCS. However, in cases where no WCS information is available, one might still need to align images by automatically determining horizontal/vertical shifts, and optionally rotation (and even simple distortions).

There is an implementation of a function for extended emission in this package, and a list of other programs in various languages implementing similar algorithms is available here. It would be nice to have a single Astropy affiliated package (or even functions in the Astropy core package) that can cover the different use cases, including for images dominated by stars and without extended emission.

Astrometry.net is another important reference for star-based alignment. Having access to its functions as part of astropy would be a huge improvement.


In astropyp I have a module that I'm working to replace SCAMP and align images using both image coordinates and WCS that is currently poorly documented but works better than SCAMP to align images from different epochs based on image coordinates (as long as the user can give two catalogs of matched sources). It uses a fairly straightforward polynomial transformation to convert the coordinates that can be used in python but does not convert the solution into a valid WCS header yet.

I also have a pull request to complete on astroquery to call Astrometry.net from python and when I have more time this fall (sorry it's taking so long to complete this Adam) these two modules combined should be a complete solution that doesn't require any software to be installed outside of astropy and affiliated packages.

Simon Walker and I are almost done with a small package to align CCD images of defocused photometry (exoplanet transits observations often involve defocusing). The package also works fine on in focus photometry and is a spin off of the Next Generation Transit Survey autoguiding algorithm, which we developed in 2013. You can see it on github here

The package is building fine on Travis and we're finalising some tests for full coverage. We've used the package template and we are hoping to request affiliated status shortly. I'm also keen to get involved with other areas of astropy. Anywhere where I can be of help. Thanks.