Joshua van Staden

Predicting the RIME from any Arbitrary Function

My project is to write the code to extend a program called Montblanc. Montblanc is a program that calculates the Radio Interferometric Measurement Equation (RIME, for short) using analytic methods. Traditionally, the raw visibilities of the radio telescopes would be converted from the frequency space to the image space. Montblanc does the reverse of this by comparing models in the image space, and finding out what they look like in the frequency space (basically, convert the models from images to visibilities). 

Currently, Montblanc can only predict from certain functions, such as Gaussians and Sersics. My project is to get it to predict from any kind of function. Long story short, and sidestepping a lot of maths, this involves computing sinc functions (along with other kinds of functions). The math for this project was done analytically (basically, my supervisor solved the equations and showed me what it looked like), but another way to compute it is through the Fast Fourier Transform (FFT). I use the Fast Fourier Transform as a way of checking if my data is correct. At the time of writing this, the data does not match up (my data is the file visanalytic.png, and the FFT is visFFT.png). 

I am currently writing a python script as a quick way to ensure the math is correct. Once I am sure the math is correct, I will be converting it into C++ and, once I am sure the C++ is correct, I will be running the code on a GPU to get some speedup, so it can hopefully be integrated into Montblanc.