IViS 🌱¢

IViS β€” Interferometric Visibility-domain Inversion Software

IViS is a fast, GPU-accelerated non-linear deconvolution tool for radio interferometry, scalable to large mosaics and hyperspectral cubes. IViS seeks to lower the energy footprint of large imaging tasks and to support "real-time" imaging (\(T_\text{imaging} \leq T_\text{obs}\)). Because of its intrinsic framework based on a regularized criterion, IViS β€” like MEM β€” is better suited for diffuse emission rather than point sources, whose flux tends to be spread by the regularizer. IViS was developed in the context of imaging Hβ€―I spectral line data from the ASKAP and MeerKAT instruments.

Note

IViS is designed as a modular framework upon which new deconvolution methods can be built. In its current implementation, IViS is a generic MEM-like mosaicking framework (with w-stacking available), but it aims to incorporate arbitrary spectral models in the near future to fully exploit the spectral dimension of the data. IViS is very new, and this documentation is in its early stages β€” it will continue to evolve as the project develops.

Useful resources: - Github repository

Note

Parts of this code were inspired by the MPol package, which implements a Regularized Maximum Likelihood (RML) framework for radio interferometric imaging. In contrast to MPol, IViS includes native support for image-plane mosaicking with DDEs of the Primary Beam.

InstallationΒΆ

To get started, we recommend using uv to manage packages and mamba to create a clean environment with casacore:

# Install mamba (if not already available)
conda install mamba -n base -c conda-forge

# Create the IViS environment
mamba create -n ivis -y -c conda-forge \
python=3.10 casacore python-casacore gsl \
numpy scipy astropy matplotlib \
reproject radio-beam psutil tqdm joblib \
pip

conda activate ivis

# Torch CUDA wheel
python -m pip install --upgrade pip
python -m pip install --index-url https://download.pytorch.org/whl/cu124 torch

# Install uv (if not already available)
curl -LsSf https://astral.sh/uv/install.sh | sh
export PATH="$HOME/.cargo/bin:$PATH"  # if needed

# Install IViS and dependencies using uv
uv pip install "ivis[gpu] @ git+https://github.com/antoinemarchal/ivis.git"

Note

To delete an environment:

mamba env remove -n ivis

DocumentationΒΆ

Note

If you use IViS, please cite our work and reference the IViS GitHub repository. When IViS matures enough, it will be published in JOSS and/or an astrophysical journal.