This is code for applying baseline-dependent averaging to a radio astronomy interferometric dataset. It applies the principles and formulas presented in Wijnholds et al. (2018) to average high-cadence data to a lower cadence while introducing a maximum amount of decorrelation specified by the user. In brief, short baselines of an interferometer do not decorrelate as rapidly as long baselines, and so data from shorter baselines can be averaged together without losing as much coherent sky information. The code and routines in this repo are designed to work on already-recorded data (which is typically written at a common cadence for all baselines) and averages together consecutive time samples until a specific threshold. A forthcoming memo will describe the operation in more detail.
The code can be installed by invoking
pip install .
from the top level of the repo. This will install a module called bda
which
can be imported. The main user-facing function is bda.apply_bda
, which is
designed to work on a pyuvdata UVData
object. It also provides a script, apply_bda.py
, which can be called from the
command line for applying BDA to an existing dataset on disk.
The following packages are required:
- astropy
- setuptools_scm
- pyuvdata
pyuvdata
can be installed from conda
(preferred), or from pip
. It is
available on the conda-forge
channel. To install:
conda install -c conda-forge pyuvdata
The testing requirements can be installed by invoking
pip install .[testing]
from the top level of the repo. This will install the package and all
dependencies for running tests. The test suite can be run by running pytest
after installation.
In addition to the main package dependencies above, the following packages are required for running tests:
- pytest >= 6.0