cr-pulse-interpolator
Full electric-field waveform interpolation for air shower simulations
For elaborate information on the methods and their performance, see
Corstanje et al. (2023), JINST 18 P09005, arXiv 2306.13514
Please cite this when using code and/or method in your analysis, publication etc.
Contents
The package contains two interpolation submodules:
- interpolation_fourier: interpolates a 2D scalar function f(x, y) defined on a radial (polar) grid. This includes for instance air shower radio energy fluence or amplitude along a radio footprint in the shower plane.
- signal_interpolation_fourier: interpolates full time traces (waveforms) of electric-field signals simulated by air shower simulation codes such as CoREAS, in antennas placed on a radial grid.
Installation and Dependencies
This package can be installed with the following command:
pip install git+https://github.com/nu-radio/cr-pulse-interpolator
To automatically install the requirements for the demo scripts, one can instead use
pip install "cr_pulse_interpolator[demo] @ git+https://github.com/nu-radio/cr-pulse-interpolator"
Usage
The interpolation modules have an interface very similar to e.g. Scipy's interp1d class.
Runnable demo scripts are:
- demo_interpolation_fourier.py: a demo of the interpolation_fourier method, plotting a radio energy footprint heatmap.
- demo_signal_interpolation.py: demonstrates full signal interpolation, doing cross-correlations with true simulated signals on "random" test positions.
- minimal_usage_demo.py: a smaller demo of full signal interpolation, aimed at getting the user started quickly.
The full signal interpolation demos require example data files to be downloaded:
run download_demo_data.sh before using the demo scripts.
The h5py package is required to read the demo data.
The example data files contain E-field traces from a CoREAS shower, converted to two "on-sky" polarizations.
They can be given as input in any order when creating the interpolator object.
This is the recommended usage in the interpolator.
NB. in the full pulse interpolator, the two polarizations should not be aligned to vxB and vx(vxB), as the near-zero amplitudes along circles in the footprint lead to poor accuracy. In the interpolation for amplitude or fluence only, this is not an issue.
It is recommended to rotate the polarizations by 45 degrees when this happens (e.g. zenith showers, or close to north-south axis in general), and rotate back after interpolating.
Another recommendation is to test the accuracy of interpolation by simulating some 10 or 20 additional antennas placed at strategic positions 'in between' the radial-grid positions.
Release files for cr-pulse-interpolator 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cr_pulse_interpolator-1.1.1.tar.gz | 26.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cr_pulse_interpolator-1.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.4 kB
Release files / cr_pulse_interpolator-1.1.1.tar.gz
| Download URL | cr_pulse_interpolator-1.1.1.tar.gz |
|---|---|
| Size | 26.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e23c9fdc927fe85a3f7c41ff86b917d816a9ff06cfa773abe3080e5e6cf0f7c7
|
|
BLAKE2b-256 checksum How to use checksums |
f80775e1d92d745cbe35f1cebcc5ddae5dcd7689987dc9756faa4a8b3d0d59e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 29, 2025.
Transparency logRelease files / cr_pulse_interpolator-1.1.1-py3-none-any.whl
| Download URL | cr_pulse_interpolator-1.1.1-py3-none-any.whl |
|---|---|
| Size | 26.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d090f1fb69dfb8f3be6100c432fb25f69bd25ba3228c14ea2e76b905032f7375
|
|
BLAKE2b-256 checksum How to use checksums |
9a42de2f4c453a54b5585944d6aab3beca4ed11e666941ed4fad6ba30a44252a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 29, 2025.
Transparency log