Image Domain Gridding
Image Domain Gridding (IDG) is a fast method for convolutional resampling (gridding/degridding) of radio astronomical data (visibilities). Direction dependent effects (DDEs) or A-tems can be applied in the gridding process.
Working in the image domain avoids the computation of oversampled convolution functions. This is especially advantageous when the DDEs vary on short time scales.
This library has implementations for both the CPU and the GPU. The algorithm uses sin/cos evaluations and multiply-add operations on many small grids, that are called “subgrids” in the IDG terminology. This makes it somewhat costly on a CPU, but it makes a very good match with GPUs with hardware support for sin/cos evaluations. Gridding speeds of several GB/s on a single GPU device have been achieved (Veenboer et al 2017).
The algorithm is described in Van der Tol 2018. The implementation is described in veenboer 2020 (pdf) Please cite these papers in publications using IDG. Bibtex info can be found here.
This library is written in C++. To make it available for other languages a C interface is available. And there are Python bindings.