https://github.com/avikhagol/avica
AVICA (Automated VLBI pipeline in CASA) is a batch processing pipeline designed for the blind calibration of multi-frequency VLBI data using rPICARD.
https://github.com/avikhagol/avica
astronomy automation avica big-data calibration casa interferometry radio-astronomy vlbi vlbi-analysis
Last synced: 30 days ago
JSON representation
AVICA (Automated VLBI pipeline in CASA) is a batch processing pipeline designed for the blind calibration of multi-frequency VLBI data using rPICARD.
- Host: GitHub
- URL: https://github.com/avikhagol/avica
- Owner: avikhagol
- Created: 2026-03-12T11:30:12.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-05-01T17:28:51.000Z (30 days ago)
- Last Synced: 2026-05-01T18:05:54.600Z (30 days ago)
- Topics: astronomy, automation, avica, big-data, calibration, casa, interferometry, radio-astronomy, vlbi, vlbi-analysis
- Language: Python
- Homepage: https://avica.readthedocs.io/en/latest/
- Size: 14.9 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
- Contributing: CONTRIBUTING
Awesome Lists containing this project
README
VLBI and SMILE-based CASA Optimization (VASCO) pipeline has been renamed to AVICA.
# avica
AVICA: Automated VLBI pipeline in CASA
Documentation : https://avica.readthedocs.io/en/latest/
> submitted to A&A
[](https://asciinema.org/a/945113)
> Demo of the AVICA pipeline running end-to-end.
# Installation
> Needs Ubuntu 18.04+, Debian 10+, RHEL/CentOS 8+ \
> Python >=3.9
Since the monolithic version of casa includes its own internal Python 3 installation,
it is best to install `avica` within a Python environment that matches the casa version.
```bash
$ path/to/python3 -m venv MY_ENV_DIR
$ source MY_ENV_DIR/bin/activate
```
```bash
$ pip install avica
```
Alternatively, you can use the following installation method,
which automatically includes the necessary casa dependency for avica's internal operations.
```bash
$ pip install avica[all]
```
Note that you must still provide the path to your casadir.
This ensures that the pipeline uses the same monolithic casa version, ideally the one downloaded for
rPicard to execute specific tasks like mstransform and importfitsidi within an isolated environment.
## Manual
1. Clone the repository to the desired destination.
```
git clone https://github.com/avikhagol/avica.git
```
2. Install using `pip`
```bash
cd avica/
pip install .
```
# Usage
## Pipeline
```
Usage: avica pipe run [OPTIONS] [STPS]...
_______________________
pipeline steps:
- preprocess_fitsidi
- fits_to_ms
- phaseshift
- avica_avg
- avicameta_ms
- avica_snr
- avica_fill_input
- avica_split_ms
- rpicard
________________________
╭─ Arguments ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ stps [STPS]... steps for execution [default: preprocess_fitsidi, fits_to_ms, avica_avg, avicameta_ms, avica_snr, avica_fill_input, avica_split_ms, rpicard] │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --f,--fitsfilenames TEXT fitsfile names comma separated │
│ --t,--target TEXT Selected field / sourc name │
│ --configfile TEXT config file containing key=value [default: avica.inp] │
│ --help Show this message and exit. │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
```
## Manipulating FITS-IDI
To check known FITS-IDI issues run the following:
```
Usage: avica fitsidi_check [OPTIONS] [FITSFILENAMES]... COMMAND [ARGS]...
validate and fix, known FITS-IDI problems
╭─ Arguments ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ fitsfilenames [FITSFILENAMES]... │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --fix --no-fix [default: no-fix] │
│ --desc --no-desc [default: no-desc] │
│ --help Show this message and exit. │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
```
#### Example
```
avica fitsidi_check VLBA_VSN005412_file3.uvfits
+--------------------+---------+-------+-------+----------------+----------+
| hdu | fixable | total | fixed | problem_code | affected |
+==========================================================================+
| ARRAY_GEOMETRY | 0 | 8 | 0 | [] | [] |
| ANTENNA | 0 | 16 | 0 | [] | [] |
| FREQUENCY | 0 | 8 | 0 | [] | [] |
| PHASE-CAL | 0 | 12 | 0 | [] | [] |
| PRIMARY | 1 | 10 | 0 | ["extra_byte"] | [""] |
| SOURCE | 0 | 8 | 0 | [] | [] |
| FLAG | 0 | 12 | 0 | [] | [] |
| UV_DATA | 0 | 8 | 0 | [] | [] |
| GAIN_CURVE | 0 | 8 | 0 | [] | [] |
| SYSTEM_TEMPERATURE | 0 | 8 | 0 | [] | [] |
+--------------------+---------+-------+-------+----------------+----------+
```
To get the information on the observation run the following:
```
avica listobs [FITSFILENAMES]...
```
# Development
After you clone the repo
```bash
$ cd avica
$ pip install -e .[dev]
```
# Attribution
When using AVICA, please add a link to this repository in a footnote.
# Acknowledgement
"AVICA was developed within the "Search for Milli-Lenses" (SMILE) project. SMILE has received funding from the European Research Council (ERC) under the HORIZON ERC Grants 2021 programme (grant agreement No. 101040021).