Software

I am a firm believer that astronomy has made great progress in terms of software development practices, and that many techniques that are practiced in the industry and have been proven to be successful are often not employed. This includes test-driven development, agile development, continuous integration, and a thorough documentation.

I continuously strive to improve not only the software that I write, but also the practices behind that process. Ideally, I would dedicate part of my time to contribute to the various open source projects, which are highly critical to the advancement of the entire field, and yet not appreciated enough. Below are some of the projects which I actively contribute to.

Cygrid

 

cygrid allows to resample a number of spectra (or data points) to a regular grid – a data cube – using any valid astronomical FITS/WCS projection (see the astropy package). The method is a based on serialized convolution with finite gridding kernels. Currently, only Gaussian (radial-symmetric or elliptical) kernels are provided (which has the drawback of slight degradation of the effective resolution). The algorithm has very small memory footprint, allows easy parallelization and is very fast.

The paper and code are publicaly available.

Using cygrid to grid point sources with an elliptical kernel and full world coordinate system support.

Healpy

Healpy is the Python implementation of the HEALPix format (Gorski et al. 2005), which is used to represent data for the full sky. It is the quasi-standard for large-area cosmology (such as most of the CMB science), and is widely used by astronomers around the globe. We have recently published a brief summary of healpy in the Journal of Open Source Software.