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 baseline vectors, 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.0.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.0-py3-none-any.whl (46.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: uvrules-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 4976ca7968a9f4793dda33988abdaf332be8027177a0e5733a72029f37c1e327
MD5 ea1a3b1cec1022db748a1a18c54da68a
BLAKE2b-256 187c51bb1e42973fd794ff63a0ea1dc917ff4d2a9c383f014841298e4d4d7387

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uvrules-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 591d7587f94f61d230b9b9252ac280bbdc4a2719cd75ea3e562166eb02d819db
MD5 a26ddf88b2d46fe9ef750183b015118a
BLAKE2b-256 a843bfc773c5c7c129e7df6a31ffd97a4e9a7edfc661c3429fac2637f20d8826

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