Skip to content

Latest commit

 

History

164 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tabascal

Tests Documentation Status Coverage License: GPL v3 Python MNRAS 2023 A&A 2025

Trajectory-based RFI subtraction for radio interferometric data.

This is the official TABASCAL repository and the only maintained home of the project. It supersedes the earlier repository at chrisfinlay/tabascal, which is archived and no longer maintained. Documentation is published at tabascal.readthedocs.io.

Starlink subtraction in a real observation

A result on real data from a low-frequency aperture array (EDA2): a 151 MHz observation (XX) crossed by several Starlink satellites. The satellite trails dominating the field (a) are gone after subtraction (b), leaving the inferred sky (c). Reversing the split shows what was removed — subtracting the sky instead (e) isolates the trails, which the model reconstructs as the satellite signal (f). The final residual (d) is noise-like apart from the marked features. Note the two rows use different flux scales: the satellite signal is a few hundred Jy/beam against a sky spanning roughly -400 to 1000 Jy/beam.

Installation

TABASCAL is pure Python — no compiler or CUDA toolkit is needed to install it. It requires Python 3.10–3.13.

TABASCAL reads and writes Measurement Sets and therefore needs python-casacore, which is not a pip dependency. Install it with conda first, then pip-install TABASCAL into the same environment:

conda create -n tab-env -c conda-forge "python>=3.10,<3.14" python-casacore
conda activate tab-env

TABASCAL is not on PyPI yet, so install it from the repository:

pip install git+https://github.com/epfl-radio-astro/tabascal.git

For NVIDIA GPU support (Linux only), use the cuda12 extra (or cuda13):

pip install "tabascal[cuda12] @ git+https://github.com/epfl-radio-astro/tabascal.git"

python-casacore is pip-installable on linux-x86_64, so the conda step can be skipped there. On macOS and linux-aarch64 the conda route is strongly recommended, as python-casacore is difficult to build from source on those platforms.

See the installation guide for the full details.

Basic usage

TABASCAL runs are defined by a YAML configuration file. To run it on a Measurement Set:

tabascal run -c path/to/config.yaml -ms path/to/file.ms

Products go to plots/ and results/ beside the Measurement Set. Pass -od path/to/output_dir, or set data.out_dir, to write them elsewhere.

The results are written to a .zarr file and then transferred into the Measurement Set as the TAB_AST_DATA, TAB_RFI_DATA, TAB_AST_RES, TAB_RFI_RES and TAB_RES_DATA columns.

Every option is listed by the help context:

tabascal -h                # top-level: lists the subcommands
tabascal run -h            # every option of the run subcommand
tabascal light-curve -h    # every option of the light-curve subcommand
tabascal search -h         # every option of the search subcommand

The satellite orbital elements TABASCAL needs are fetched automatically from the IAU CPS SatChecker service, via the satchecker-client package — no account or credentials are required.

For a complete worked example, from simulating a dataset with sim-vis through to subtracting the satellite RFI, see the usage guide.

Documentation

Full documentation is at tabascal.readthedocs.io, including:

Citing tabascal

  • Finlay, Bassett & Kunz (2023), Trajectory-based RFI subtraction and calibration for radio interferometry, MNRAS — 10.1093/mnras/stad1979
  • Finlay, Bassett & Kunz (2025), TABASCAL: Removing multi-satellite interference from radio interferometry observations, A&A — 10.1051/0004-6361/202554596

About

TrAjectory BAsed RFI Subtraction and CALibration (TABASCAL) of radio interferometry data. A source to visibility model for astronomical and RFI sources including near-field effects. Visibility data is jointly calibrated with excision of specific RFI contamination.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages