Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Calculate calibration coefficients for EDGES Calibration Observations
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.
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:
conda activate edges
)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.
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.
FAQs
Calibration routines for EDGES data
We found that edges-cal demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.