Skip to main content

edges-cal

Build Status codecov Code style: black Documentation Status

Calculate calibration coefficients for EDGES Calibration Observations

Installation

Download/clone the repo and do

pip install .

in the top-level directory (optionally add an -e for develop-mode). Preferably, do this in an isolated python/conda environment.

Usage

CLI

There is a very basic CLI set up for running a full calibration pipeline over a set of data. To use it, do

$ edges-cal run --help

Multiple options exist, but the only ones required are CONFIG and PATH. The first should point to a YAML configuration for the run, and the second should point to a directory in which exists S11, Resistance and Spectra folders. Thus:

$ edges-cal run ~/config.yaml .

will work if you are in such a directory.

The config.yaml consists of a set of parameters passed to edges_cal.CalibrationObservation. See its docstring for more details.

In addition, you can run a "term sweep" over a given calibration, iterating over number of Cterms and Wterms until some threshold is met. This uses the same configuration as edges-cal run, but you can pass a maximum number of C and W-terms, along with a threshold at which to stop the sweep (this is a threshold in absolute RMS over degrees of freedom). This will write out a Calibration file for the "best" set of parameters.

You can also create full Jupyter notebook reports (and convert them to PDF!) using the CLI. To get this to work, you must install edges-cal with pip install edges-cal[report]. Then you must do the following:

  1. Activate the environment you wish to use to generate the reports (usually conda activate edges)
  2. Run python -m ipykernel install --user --name edges --display-name "edges"

Note that in the second command, calling it "edges" is necessary (regardless of the name of your environment!).

Now you can run

$ edges-cal report PATH --config ~/config.yaml

(obviously there are other parameters -- use edges-cal report --help for help). The PATH should again be a calibration observation directory. The config can be the same file as in edges-cal run, and is optional. By default, both a notebook and a PDF will be produced, in the outputs/ directory of the observation. You can turn off the PDF production with a -R flag.

Similarly, you can compare two observations as a report notebook with

$ edges-cal compare PATH COMPARE --config ~/config.yaml --config-cmp ~/config.yaml

This is intended to more easily show up what might be wrong in an observation, when compared to a "golden" observation, for example.

Using the Library

To import:

import edges_cal as ec

Most of the functionality is highly object-oriented, and objects exist for each kind of data/measurement. However, there is a container object for all of these, which manages them. Thus you will typically use

>>> calobs = ec.CalibrationObservation(path="path/to/top/level")

Several other options exist, and they have documentation that you can access interactively by using

>>> help(ec.CalibrationObservation)

The most relevant attributes are the (lazily-evaluated) calibration coefficient models:

>>> plt.plot(calobs.freq.freq, calobs.C1())

the various plotting routines, eg.

>>> calobs.plot_coefficients()

and the calibrate/decalibrate methods:

>>> calibrated_temp = calobs.calibrate("ambient")

Note that this final method can be applied to any LoadSpectrum --i.e. you can pass in field observations, or an antenna simulator.

Metadata

Release files for edges-cal 7.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for edges-cal 7.1.1
File Size Uploaded
edges_cal-7.1.1.tar.gz 39.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for edges-cal 7.1.1
File Interpreter ABI Platform
edges_cal-7.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 40.8 MB

Release files / edges_cal-7.1.1.tar.gz

Download URL edges_cal-7.1.1.tar.gz
Size 39.3 MB
Tags Source
SHA-256 checksum
How to use checksums
1543c4b543eff30059c98e6cf69d356dbf833168a400fd4ba2169a974bfcd683
BLAKE2b-256 checksum
How to use checksums
7807bf05347e67bafbfd7ca29d6a89d2fa8c1d7667899a44194a6bb1bc07db39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.21

Release files / edges_cal-7.1.1-py3-none-any.whl

Download URL edges_cal-7.1.1-py3-none-any.whl
Size 1.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
6db3c17b14f92d2a2d9edc772a4b133738cdde8e7ee57b459f333938d57a8ce6
BLAKE2b-256 checksum
How to use checksums
d2b04bc9e0f30ab3c7194ad18bbea38519b85e9d65449a38991f8c86bec791e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.21

Release history Release notifications | RSS feed

This release

7.1.1 This release

2 release files

7.1.0

2 release files

7.0.0

2 release files

6.2.5

2 release files

6.2.4

2 release files

6.2.3

2 release files

6.2.2

2 release files

6.2.1

2 release files

6.2.0

2 release files

6.1.0

2 release files

6.0.2

2 release files

6.0.1

2 release files

6.0.0

2 release files

5.2.0

2 release files

5.1.1

2 release files

5.1.0

2 release files

5.0.0

2 release files

4.1.1

2 release files

4.1.0

2 release files

4.0.0

2 release files

3.4.1

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.2

2 release files

3.2.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page