radionets

Imaging Radio Interferometric Data with Neural Networks
Deep-learning framework for the simulation and analysis of radio interferometric data in Python. The goal is to reconstruct calibrated observations with convolutional Neural Networks to create high-resolution images. For further information, please have a look at our paper.
Analysis strategies leading to reproducible processing and evaluation of data recorded by radio interferometers:
- Simulation of datasets (see also the
radiosimrepository) - Simulation of radio interferometer observations (see also the
pyvisgenrepository) - Training of deep learning models
- Reconstruction of radio interferometric data
Installation
This repository is built as a python package. We recommend creating a mamba environment to handle the dependencies of all packages. You can create one by running the following command in this repository:
$ mamba env create -f environment.yml
Depending on your cuda version you have to specify the cudatoolkit version used by pytorch. If you are working on machines
with cuda versions < 10.2, please change the version number in the environment.yml file. Since the package pre-commit is used, you need to execute
$ pre-commit install
after the installation.
Usage
For each task, executables are installed to your PATH. Each takes toml configuration files as input to manage data paths and options.
Simulated data is saved in hdf5; trained models are saved as pickle files.
radionets_simulations <...>This script is used to simulate radio interferometric data sets for the training of deep learning models.radionets_training <...>This script is used to train a model on events with known truth values for the target variable, usually Monte Carlo simulations.radionets_evaluation <...>This script is used to evaluate the performance of the trained deep-learning models.
Default configuration files can be found in the examples directory. The examples directory contains jupyter notebooks, which show an example
analysis pipeline and the corresponding commands. (need a rework)
Structure of the Repository
dl_framework
The used deep learning framework is based on pytorch and fastai. An introduction to Neural Networks and an overview of the use of fastai to train deep learning models can be found in Practical Deep Learning for Coders, v3 and fastbook.
dl_training
Functions for handling the different training options. Currently, there are the training, the learning rate finder, and the loss plotting mode available.
simulations (further developed in pyvisgen repository)
Functions to simulate and illustrate radio interferometric observations. At the moment simulations based on the MNIST dataset and
simulations of Gaussian sources are possible. We are currently working on simulating visibilities directly in Fourier space.
For more information, visit our corresponding repository pyvisgen. In the future, the simulations will be created
using the pyvisgen repository, while the radionets repository contains the training and evaluation methods.
evaluation
Functions for the evaluation of the training sessions. The available options reach from single, exemplary plots in (u, v) space and image space to methods computing characteristic values on large test datasets. In detail:
- Amplitude and phase for the prediction and the truth. Example image below includes the difference between prediction and truth.
- Reconstructed source images with additional features, such as MS-SSIM values or the viewing angle. Example image below.
- Histogram of differences between predicted and true viewing angles. The image includes a comparison with wsclean.
- Histogram of the ratio between predicted and true source areas. The image includes a comparison with wsclean.
- Histogram of flux difference in the core component. The image includes a comparison with wsclean.
- Included, but not yet fully operational
- Histogram of differences between predicted and true MS-SSIM values on a dedicated test dataset
- Histogram of differences between predicted and true dynamic range values on a dedicated test dataset
All histograms are created on a dedicated test dataset.
Contributors
- Kevin Schmidt @Kevin2
- Felix Geyer @FeGeyer
- Arne Poggenpohl @ArnePoggenpohl
- Stefan Fröse @StFroese
- Paul-Simon Blomenkamp @PBlomenkamp
- Olivia Locke @olivialocke
- Kevin Laudamus @K-Lauda
- Emiliano Miranda @emilianozm24
- Maximilian Büchel @MaxBue
- Rune Dominik @RuneDominik
Versions used and tested
- Python >= 3.8
- pyTorch >= 1.11.0
- torchvision >= 0.12.0
- cudatoolkit >= 11.3
Metadata
Release files for radionets 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| radionets-0.4.1.tar.gz | 299.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| radionets-0.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 380.8 kB
Release files / radionets-0.4.1.tar.gz
| Download URL | radionets-0.4.1.tar.gz |
|---|---|
| Size | 299.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
00669664cf59e2fec7dc134e60ef79ea1a3aac8886a3e2639dd9e88ff63ebf37
|
|
BLAKE2b-256 checksum How to use checksums |
69fa5832e9032e005790785aecaaa62f329015b84ac9fe2d1e2cd9d41391eea2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 8, 2025.
Transparency logRelease files / radionets-0.4.1-py3-none-any.whl
| Download URL | radionets-0.4.1-py3-none-any.whl |
|---|---|
| Size | 81.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2f05bcbadba41af8932074a610d6f08f570b0f20a9984dd59d57600cd6edf104
|
|
BLAKE2b-256 checksum How to use checksums |
876b323bc7c56f2eeba6f721e859c11ec2d2b4be417f153388137d3af652d130
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 8, 2025.
Transparency log