jax_radio_tools : A JAXified version of radiotools (in progress!)
Utility functions for radio emission of cosmic rays in the JAX framework. Based on radiotools.
Installation
The tool can easily be installed via pip:
pip install -U jax_radio_tools
which will also install the necessary packages for installation.
Dependencies
jaxjaxlibnumpy >=1.20typing_extensionspython>=3.11(May be possible with older python versions, but not yet tested)
Current implementations
Currently, the following tools are implemented:
Trace Utilities
These can be accessed via jax_radio_tools.trace_utils.
- zero padding
- bandpass filter
- hilbert envelope
- resampler
- trace centering
- relative trace centering
- signal window truncation
Shower Utilities
These can be accessed via jax_radio_tools.shower_utils.
- calculating arrival times
- calculating gaisser hillas functions (coreas formalism, LR formalism)
- change: updated the functions to make it more numerically stable
- calculating fluences
- calculating cross correlations
Atmosphere model
Following radiotools, an importable module to define the atmosphere.
These can be accessed via jax_radio_tools.atmosphere.Atmosphere.
Current features implemented are:
- calculation of distance from grammages
- calculation of cherenkov angle
- calculation of vertical heights
- calculation of density
- calculation of refractive index
- all atmospheric models from radiotools are supported
- additionally, GDAS atmospheric files are also now supported
Coordinate system
Following radiotools, we define a cstrafo object that takes care of coordinate systems. This is defined by a zenith angle, azimuthal angle, and magnetic field vector.
These can be accessed via jax_radio_tools.cstrafo.
Further calculations that are in the coordinate_transformations:
- transformation from GEO/CE <-> vxB / vxvxB axis in the shower plane
- function to get the normalised angle (for accurate angles when porting from e.g. CoREAS)
More implementations to come!
TODOS
- include documentation
- include CI/CD pipeline
- implement other useful radiotools functions
- make the cstrafo object jax-compatible with zenith & azimuth angles
LICENSE
This code is under the BSD-3 License. See LICENSE for more details.
Release files for jax-radio-tools 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jax_radio_tools-0.1.3.tar.gz | 23.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jax_radio_tools-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.9 kB
Release files / jax_radio_tools-0.1.3.tar.gz
| Download URL | jax_radio_tools-0.1.3.tar.gz |
|---|---|
| Size | 23.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7943c844ddc5d0cf9368a66546334018184fb364120e1056b5d60e8491be4e49
|
|
BLAKE2b-256 checksum How to use checksums |
aaa71f7f46d57061fdf30c0eb5018d316c6c2b1fc6d425214564474386096b27
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.11.9
|
Release files / jax_radio_tools-0.1.3-py3-none-any.whl
| Download URL | jax_radio_tools-0.1.3-py3-none-any.whl |
|---|---|
| Size | 24.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
af1406aea43752dbe93e7a4c8ead8c61c7e0311503a0896d95910bfd94a5ce61
|
|
BLAKE2b-256 checksum How to use checksums |
fc71e90c6ed28767d6839fef7b28ee4edf9efb737246ba4f5fdded905b2149cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.11.9
|