Skip to main content

Generate uv-complete radio telescope arrays with the RULES algorithm

Project description

uvrules: Generating uv-Complete Arrays

uvrules implements the Regular uv Layout Engineering Strategy (RULES) algorithm for generating radio interferometer arrays with complete and efficient uv-plane coverage.

This tool generates antenna layouts that fulfill a specified set of baselines, and is optimized for sets of uv-complete baselines, as defined in MacKay et al. 2025 (ApJ, accepted), with applications to 21 cm cosmology and radio interferometry more broadly.

Features

  • Generate sets of uv points that are uv complete
  • Generate uv-complete layouts from commanded set of uv points
  • Enforce physical layout constraints (dish diameter, max array size, etc.)
  • Optimize placements for coverage, compactness, or spacing
  • Parallel and sequential modes available
  • Visualization of array layout, uv coverage, synthesized beam, and algorithmic statistics

Installation

You can install uvrules via pip:

pip install uvrules

Documentation

See examples/RULES_tutorial.ipynb for a hands-on demonstration of building a uv-complete layout with AntArray and add_ant_rules.

In the meantime, see:

  • uvrules/antarray.py for the core AntArray class
  • uvrules/algo/rules.py for the RULES algorithm
  • uvrules/plotting.py for basic visualizations of arrays and their associated PSFs

Version used in the accompanying paper

The v0.1.0 release of uvrules corresponds to the implementation used in the analysis for:

MacKay et al., Complete Sampling of the Plane with Realistic Radio Arrays: Introducing the RULES Algorithm, with Application to 21 cm Foreground Wedge Removal, 2025, ApJ (accepted, in review).

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

uvrules-0.1.1.tar.gz (41.3 kB view details)

Uploaded Source

Built Distribution

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

uvrules-0.1.1-py3-none-any.whl (46.8 kB view details)

Uploaded Python 3

File details

Details for the file uvrules-0.1.1.tar.gz.

File metadata

  • Download URL: uvrules-0.1.1.tar.gz
  • Upload date:
  • Size: 41.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for uvrules-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e0b15017dcd020787f76e4f636632a863fc44cda95869f7ecb11e9bc7d23b02f
MD5 be86ed4163cd603aefc11ee5d54db392
BLAKE2b-256 c58fc4896c1c448d79a353e7746c5398a3591cfe76b5b4783d9f729fe6fda385

See more details on using hashes here.

File details

Details for the file uvrules-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: uvrules-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 46.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for uvrules-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5da5d2766a31175f5410f0b67ed149a8b22b78a65484071e537e3b5d0e28a183
MD5 230e5648827a79b08187b631a24b450a
BLAKE2b-256 272ab6da18e00a03a4dff39e9463083c47e8c14e34bc46a1b647c67b7cf73fd5

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