smiet


Namesmiet JSON
Version 0.6.0 PyPI version JSON
download
home_pageNone
SummaryImplementation of the template synthesis framework for cosmic-ray air showers
upload_time2025-07-12 13:58:47
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords cosmic ray template synthesis
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Welcome to the SMIET software

The **SMIET** (**S**ynthesis **M**odelling **I**n-air **E**mission using **T**emplates) - pronounced as [smi:t],
with a long "i" sound in the middle - implements the template synthesis algorithm.  This framework is used to
synthesise the radio emission from cosmic ray air showers using semi-analytical relations extracted from a set
of Monte-Carlo showers. It is described in more detail in [this publication](https://arxiv.org/abs/2505.10459).

This repository implements the operations necessary to perform the synthesis.
We have two versions, one in plain Numpy and another one wrapped in JAX with higher performance.
The latter is mostly meant to be used in the context of Information Field Theory.

## Citing

If you use this software in a publication, please cite this [publication](https://arxiv.org/abs/2505.10459) and refer to this [Zenodo entry](https://doi.org/10.5281/zenodo.15194465) for the code repository.

### References

- Paper describing the generalised template synthesis algorith on [arXiv](https://arxiv.org/abs/2505.10459) (submitted to Astroparticle physics)
- Proof of concept publication in [Astroparticle physics](https://doi.org/10.1016/j.astropartphys.2023.102923)
- Proceedings of [ARENA22](https://pos.sissa.it/424/052/)
- Proceedings of [ICRC23](https://pos.sissa.it/444/216/)

## Documentation

The online documentation can be found [here](https://web.iap.kit.edu/huege/smiet/).

### Installation

The package is written in Python, so to use it, we recommended having a virtual environment to install it in.
Since v0.5.0 the package is available on PyPI, so you can install simply by

```bash
pip install smiet
```

This will install the Numpy version of the package together with its dependencies.
To get the JAX version, you can use the following command:

```bash
pip install smiet[jax]
```

This will install the necessary `jax` dependencies.
To get more up-to-date versions of the project, you can clone the `develop` branch of this repository.
From within the root of the local version of the repository, where the `pyproject.toml` file is located,
you can install the package using pip as

```bash
pip install -e .
```

The "editable" flag is recommended, such that after pulling the repository again, you do not have to
reinstall the package.
To install the JAX version, you can use the optional `jax` keyword,

```bash
pip install -e .[jax]  # zsh users need to wrap argument in quotes: -e ".[jax]"
```

There is also the optional `tests` keyword, which will install `matplotlib`, and `dev`, which installs
the Sphinx packages necessary to build the documentation.

### Dependencies

The lowest Python version with which we tested the package is Python 3.8. It might also work with Python 3.7, there are no big show stoppers in terms of packages.

These are the packages on which the Numpy version relies:

- `radiotools`
- `Numpy`
- `Scipy`
- `h5py`
- `typing-extensions`

For the JAX version, the following packages will also be installed:

- `jax`
- `jaxlib`
- `jax-radio-tools`

### Usage

After installing the library, you can start by running the scripts in the demo folder to get acquainted with the template synthesis syntax.
You will need a couple of example showers to run the scripts, which can be downloaded using the 
`download_origin_showers.sh` script in the `demo` folder.
You can also refer to the [documentation](https://web.iap.kit.edu/huege/smiet/).

## Support and development

In case of issues, please open an issue in this repository.
You are also welcome to open merge requests in order to introduce changes.
Any contributions are greatly appreciated!

For other inquiries, please contact <mitja.desmet@vub.be> or <keito.watanabe@kit.edu>.

### Roadmap

Currently, the code contains all the classes necessary to load in sliced shower simulations and perform the template synthesis operations.
These include normalisation of the amplitude spectra with respect to the geometry, as well as the arrival time shifts applied to the phase spectra.
The next steps are now to:

1. Add rigorous unit tests
2. Improve the way in which showers and template information are stored
3. Achieve parity between the Numpy and JAX versions

## Authors and acknowledgment

We appreciate all who have contributed to the project.

- Mitja Desmet, for the development of the template synthesis algorithm and the Numpy implementation
- Keito Watanabe, for implementing the JAX version
- Ruben Bekaert, for suggesting changes to the Numpy interface

## License

This repository is licensed under the GPLv3.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "smiet",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "cosmic, ray, template, synthesis",
    "author": null,
    "author_email": "Mitja Desmet <mitja.desmet@vub.be>, Keito Watanabe <keito.watanabe@kit.edu>",
    "download_url": "https://files.pythonhosted.org/packages/5c/7a/cb2cb6bfa8abfad2f29d485c25f1ab66b037b26a1001d3e5502076f6811d/smiet-0.6.0.tar.gz",
    "platform": null,
    "description": "# Welcome to the SMIET software\n\nThe **SMIET** (**S**ynthesis **M**odelling **I**n-air **E**mission using **T**emplates) - pronounced as [smi:t],\nwith a long \"i\" sound in the middle - implements the template synthesis algorithm.  This framework is used to\nsynthesise the radio emission from cosmic ray air showers using semi-analytical relations extracted from a set\nof Monte-Carlo showers. It is described in more detail in [this publication](https://arxiv.org/abs/2505.10459).\n\nThis repository implements the operations necessary to perform the synthesis.\nWe have two versions, one in plain Numpy and another one wrapped in JAX with higher performance.\nThe latter is mostly meant to be used in the context of Information Field Theory.\n\n## Citing\n\nIf you use this software in a publication, please cite this [publication](https://arxiv.org/abs/2505.10459) and refer to this [Zenodo entry](https://doi.org/10.5281/zenodo.15194465) for the code repository.\n\n### References\n\n- Paper describing the generalised template synthesis algorith on [arXiv](https://arxiv.org/abs/2505.10459) (submitted to Astroparticle physics)\n- Proof of concept publication in [Astroparticle physics](https://doi.org/10.1016/j.astropartphys.2023.102923)\n- Proceedings of [ARENA22](https://pos.sissa.it/424/052/)\n- Proceedings of [ICRC23](https://pos.sissa.it/444/216/)\n\n## Documentation\n\nThe online documentation can be found [here](https://web.iap.kit.edu/huege/smiet/).\n\n### Installation\n\nThe package is written in Python, so to use it, we recommended having a virtual environment to install it in.\nSince v0.5.0 the package is available on PyPI, so you can install simply by\n\n```bash\npip install smiet\n```\n\nThis will install the Numpy version of the package together with its dependencies.\nTo get the JAX version, you can use the following command:\n\n```bash\npip install smiet[jax]\n```\n\nThis will install the necessary `jax` dependencies.\nTo get more up-to-date versions of the project, you can clone the `develop` branch of this repository.\nFrom within the root of the local version of the repository, where the `pyproject.toml` file is located,\nyou can install the package using pip as\n\n```bash\npip install -e .\n```\n\nThe \"editable\" flag is recommended, such that after pulling the repository again, you do not have to\nreinstall the package.\nTo install the JAX version, you can use the optional `jax` keyword,\n\n```bash\npip install -e .[jax]  # zsh users need to wrap argument in quotes: -e \".[jax]\"\n```\n\nThere is also the optional `tests` keyword, which will install `matplotlib`, and `dev`, which installs\nthe Sphinx packages necessary to build the documentation.\n\n### Dependencies\n\nThe lowest Python version with which we tested the package is Python 3.8. It might also work with Python 3.7, there are no big show stoppers in terms of packages.\n\nThese are the packages on which the Numpy version relies:\n\n- `radiotools`\n- `Numpy`\n- `Scipy`\n- `h5py`\n- `typing-extensions`\n\nFor the JAX version, the following packages will also be installed:\n\n- `jax`\n- `jaxlib`\n- `jax-radio-tools`\n\n### Usage\n\nAfter installing the library, you can start by running the scripts in the demo folder to get acquainted with the template synthesis syntax.\nYou will need a couple of example showers to run the scripts, which can be downloaded using the \n`download_origin_showers.sh` script in the `demo` folder.\nYou can also refer to the [documentation](https://web.iap.kit.edu/huege/smiet/).\n\n## Support and development\n\nIn case of issues, please open an issue in this repository.\nYou are also welcome to open merge requests in order to introduce changes.\nAny contributions are greatly appreciated!\n\nFor other inquiries, please contact <mitja.desmet@vub.be> or <keito.watanabe@kit.edu>.\n\n### Roadmap\n\nCurrently, the code contains all the classes necessary to load in sliced shower simulations and perform the template synthesis operations.\nThese include normalisation of the amplitude spectra with respect to the geometry, as well as the arrival time shifts applied to the phase spectra.\nThe next steps are now to:\n\n1. Add rigorous unit tests\n2. Improve the way in which showers and template information are stored\n3. Achieve parity between the Numpy and JAX versions\n\n## Authors and acknowledgment\n\nWe appreciate all who have contributed to the project.\n\n- Mitja Desmet, for the development of the template synthesis algorithm and the Numpy implementation\n- Keito Watanabe, for implementing the JAX version\n- Ruben Bekaert, for suggesting changes to the Numpy interface\n\n## License\n\nThis repository is licensed under the GPLv3.\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Implementation of the template synthesis framework for cosmic-ray air showers",
    "version": "0.6.0",
    "project_urls": {
        "Documentation": "https://web.iap.kit.edu/huege/smiet/",
        "Issues": "https://gitlab.iap.kit.edu/AirShowerPhysics/smiet-cr-synthesis/-/issues",
        "Repository": "https://gitlab.iap.kit.edu/AirShowerPhysics/smiet-cr-synthesis/"
    },
    "split_keywords": [
        "cosmic",
        " ray",
        " template",
        " synthesis"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c95419c61416c3a8d1656fc35a81213de91220742a2ca3ad40b5d0e94b3e8aef",
                "md5": "139cd16a7145ffd8756eeb0badfb5946",
                "sha256": "202e4b93abbeb7b26784b0cad33f18f4c879bc0c425e4ca0979faa91b96c3859"
            },
            "downloads": -1,
            "filename": "smiet-0.6.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "139cd16a7145ffd8756eeb0badfb5946",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 96736,
            "upload_time": "2025-07-12T13:58:45",
            "upload_time_iso_8601": "2025-07-12T13:58:45.604820Z",
            "url": "https://files.pythonhosted.org/packages/c9/54/19c61416c3a8d1656fc35a81213de91220742a2ca3ad40b5d0e94b3e8aef/smiet-0.6.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5c7acb2cb6bfa8abfad2f29d485c25f1ab66b037b26a1001d3e5502076f6811d",
                "md5": "e3cd90f00f2fbb529ac2c3a8e2db1f5f",
                "sha256": "cc93c24de4909a5aa218b47d6e2556121804f6613fc7164b379810b24994efe4"
            },
            "downloads": -1,
            "filename": "smiet-0.6.0.tar.gz",
            "has_sig": false,
            "md5_digest": "e3cd90f00f2fbb529ac2c3a8e2db1f5f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 119234,
            "upload_time": "2025-07-12T13:58:47",
            "upload_time_iso_8601": "2025-07-12T13:58:47.164020Z",
            "url": "https://files.pythonhosted.org/packages/5c/7a/cb2cb6bfa8abfad2f29d485c25f1ab66b037b26a1001d3e5502076f6811d/smiet-0.6.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-12 13:58:47",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "smiet"
}
        
Elapsed time: 0.61765s