Simple Delay Spectrum (SimpleDS)¶
SimpleDS is currently in a working BETA state. All code will execute and tests pass, however there are still a number of bugs to fix and enhancements to make.
simpleDS is a python package used to calculate the Delay Power
Spectrum of interferometric radio data. It performs the Fourier
Transform of visibility data along the Frequency dimension and
cross-multiplies redundant baseline information (if available).
simpleDS attempts to calculate the Delay Spectrum in the simplest
manner using only Fast Fourier Transforms (FFTs) and calculating the
beam_squared_area directly from a UVBeam compatible beam map. This
for data handling and beam area calculation.
The main goals are:
Provide a simple, user-friendly interface for computing a delay Fourier transform on interferometric radio data.
Perform the delay power spectrum estimation on radio interferometric data using only Fast Fourier Transforms (FFTs) to provide a mathematically simple framework for analysis.
Perform explicit unit conversions on data with as few approximations as possible.
simpleDS has one major user class:
DelaySpectrum: supports Fourier transformation of UVData compatible radio visibility data. Also can perform power spectrum estimation and redundant baseline cross multiplication. Creates noise realization of the input data product to track analysis steps and verify normalization. Attempts to produce a theoretical thermal noise limit for the input data power spectrum.
and one minor cosmological conversion module:
cosmo: Uses astropy.cosmology to compute relevant cosmological factors for 21cm radio data to convert between interferometric (f, u,v,w) to (k∥, k⊥) units.
First install dependencies.
numpy >= 1.18
astropy >= 4.0
h5py (for uvh5 compatibility with pyuvdata, optional)
astropy-healpix used for UVBeam interpolations through pyuvdata (optional, only used with
pyuvdata >=1.4.2 (conda install -c conda-forge pyuvdata,
pip install pyuvdata, or use the development version)
For anaconda users, we suggest using conda to install astropy, numpy and scipy.
Clone the repo using
git clone https://github.com/rasg-affiliates/simpleDS.git
Navigate into the directory and run
pip install . To also install
pip install .[healpix]. For all
packages necessary for the testing suite use
pip install .[all]
pytest to execute the tests for this pacakge. From the source
simpleDS directory run:
python -m pytest or
We use a
generation.major.minor version number format.
generationnumber for very significant improvements, major rewrites, and API breaking changes.
majornumber to indicate substantial package changes.
minornumber to release smaller incremental updates which usually do not include breaking API changes.
We do our best to provide a significant period of deprecation warnings for all breaking changes to the API. We track all changes in our changelog.
A tutorial with example usage is hosted on ReadTheDocs.