Skip to main content

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)

Source distribution for cr-pulse-interpolator 1.1.1
File Size Uploaded
cr_pulse_interpolator-1.1.1.tar.gz 26.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cr-pulse-interpolator 1.1.1
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 release files

1.1.0

2 release files

0.2

2 release files

0.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