Skip to main content

Imaging radio interferometric data with Neural Networks.

Project description

radionets Actions Status codecov

Imaging Radio Interferometric Data with Neural Networks

Executables to simulate and analyze 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 a reproducible processing and evaluation of data recorded by radio interferometers:

  • Simulation of datasets (will be shifted to vipy repository)
  • Training of deep learning models
  • Reconstruction of radio interferometric data

Installation (must be reworked after shifting simulation part to vipy repository)

This repository is build up as a python package. It is recommended to create an own conda environment to handle the dependencies of the packages. You can create one by running the following command in this repository:

$ conda 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 of them 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 datasets 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. Additionally, the examples directory contains jupyter notebooks, which show an example analysis pipeline and the corresponding commands.

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.

simulations (further developed in vipy 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 vipy. In the future, the simulations will be created using the vipy 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 including 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. Image includes a comparison with wsclean.
  • Histogram of ratio between predicted and true source areas. Image includes a comparison with wsclean.
  • Histogram of flux difference in core component. 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

Versions used and tested

  • Python >= 3.6
  • pyTorch >= 1.2.0
  • torchvision >= 0.4.0
  • cudatoolkit >= 9.2

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

radionets-0.1.16.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

radionets-0.1.16-py3-none-any.whl (66.3 kB view details)

Uploaded Python 3

File details

Details for the file radionets-0.1.16.tar.gz.

File metadata

  • Download URL: radionets-0.1.16.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.7

File hashes

Hashes for radionets-0.1.16.tar.gz
Algorithm Hash digest
SHA256 0be9c46d8cf926ea35e94ff7af049aa01205520ce34df809dc27c755d3f118d3
MD5 784dd80b64413b6bdbbf16e9ca10b14e
BLAKE2b-256 e546b3c022cabc1c101e100789dd9568b4b84346bb65335be4496c4c329d7d3a

See more details on using hashes here.

File details

Details for the file radionets-0.1.16-py3-none-any.whl.

File metadata

  • Download URL: radionets-0.1.16-py3-none-any.whl
  • Upload date:
  • Size: 66.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.7

File hashes

Hashes for radionets-0.1.16-py3-none-any.whl
Algorithm Hash digest
SHA256 07c3970f9f0573a21783d9891b7b6c3cd3a86873ac3eacfc223e57a21b8ac29b
MD5 4a89223674ff7dbb2f4b8b3f57b37307
BLAKE2b-256 aeb6da397b704641f4cee29332b2536c690a918808d4d97b032ccb4d7da14153

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page