About pyvisgen#

pyvisgen is a python implementation of the VISGEN tool developed at Haystack Observatory. It uses the Radio Interferometer Measurement Equation (RIME) to simulate the measurement process of a radio interferometer. A gridder is also implemented to process the resulting visibilities and convert them to images suitable as input for the neural networks developed in the radionets project.

Input Images#

As input images for the RIME formalism, we use GAN-generated radio galaxies created by Rustige et. al. and Kummer et. al. Below, you can see four example images consisting of FRI and FRII sources.

Sources generated with a GAN.

Any image can be used as input for the formalism, as long as they are stored in the h5 format, generated with h5py.

RIME#

Currently, we use the following expression for the simulation process:

\[\mathbf{V}_{\mathrm{pq}}(l, m) = \sum_{l, m} \mathbf{E}_{\mathrm{p}}(l, m) \mathbf{K}_{\mathrm{p}}(l, m) \mathbf{B}(l, m) \mathbf{K}^{H}_{\mathrm{q}}(l, m) \mathbf{E}^{H}_{\mathrm{q}}(l, m)\]

Here, \(\mathbf{B}(l, m)\) corresponds to the source distribution, \(\mathbf{K}(l, m) = \exp(-2\pi\cdot i\cdot (ul + vm))\) represents the phase delay, and \(\mathbf{E}(l, m) = \mathrm{jinc}\left(\frac{2\pi}{\lambda}d\cdot \theta_{lm}\right)\) the telescope properties, with \(\mathrm{jinc(x)} = \frac{J_1(x)}{x}\) and \(J_1(x)\) as the first Bessel function. An exemplary result can be found below.

visibilities

Visualization of Jones matrices#

In this section, you can see visualizations of the matrices \(\mathbf{E}(l, m)\) and \(\mathbf{K}(l, m)\).

Visualization of the \(\mathbf{E}\) matrix#

visualize_E

Visualization of the \(\mathbf{K}\) matrix#

visualize_K