Skip to main content

A Simple Delay Spectrum calculator for radio interferometers.

Project description

Simple Delay Spectrum (SimpleDS)

Build Status CircleCI codecov

Code style: black

License

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 calculator requires pyuvdata for data handling and beam area calculation.

Motivation

The main goals are:

  1. Provide a simple, user-friendly interface for computing a delay Fourier transform on interferometric radio data.
  2. Perform the delay power spectrum estimation on radio interferometric data using only Fast Fourier Transforms (FFTs) to provide a mathematically simple framework for analysis.
  3. Perform explicit unit conversions on data with as few approximations as possible.

Package Details

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.

Installation

Dependencies

First install dependencies.

  • numpy >= 1.18
  • scipy
  • astropy >= 4.0
  • h5py (for uvh5 compatibility with pyuvdata, optional)
  • astropy-healpix used for UVBeam interpolations through pyuvdata (optional, only used with use_exact keyword for add_uvbeam)
  • 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.

Installing simpleDS

Clone the repo using git clone https://github.com/rasg-affiliates/simpleDS.git

Navigate into the directory and run pip install . To also install the optional astropy-healpix use pip install .[healpix]. For all packages necessary for the testing suite use pip install .[all]

Running Tests

We use pytest to execute the tests for this pacakge. From the source simpleDS directory run: python -m pytest or pytest.

Versioning

We use a generation.major.minor version number format.

  • The generation number for very significant improvements, major rewrites, and API breaking changes.
  • The major number to indicate substantial package changes.
  • The minor number 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.

Documentation

A tutorial with example usage is hosted on ReadTheDocs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simple_delay_spectrum-2.0.1.tar.gz (55.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simple_delay_spectrum-2.0.1-py3-none-any.whl (55.1 MB view details)

Uploaded Python 3

File details

Details for the file simple_delay_spectrum-2.0.1.tar.gz.

File metadata

  • Download URL: simple_delay_spectrum-2.0.1.tar.gz
  • Upload date:
  • Size: 55.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for simple_delay_spectrum-2.0.1.tar.gz
Algorithm Hash digest
SHA256 9a1e22b0710026846dc0c545e8afac320e7334c7cee66394af385cb5df727049
MD5 98db8e5ddac84dfaed2338767ecc441a
BLAKE2b-256 5d9508aa01f99d359ff9ad7532a92ba85a9c700ad791edd73375534dd109a279

See more details on using hashes here.

File details

Details for the file simple_delay_spectrum-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: simple_delay_spectrum-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 55.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for simple_delay_spectrum-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4b805b4bf4e3fe49cc70231c1b5b2a96661fd4b09d533ca0a0effa954aea29aa
MD5 8cb819dd7a33f2321a1eff1d13775336
BLAKE2b-256 bd329c8b79f3f537765a451b3dcf1d9e980a21836379df7a795660ce283f0044

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page