Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jeertmans/differt2d
2D Toolbox for Differentiable Ray Tracing
https://github.com/jeertmans/differt2d
2d differentiable raytracing telecommunications
Last synced: about 5 hours ago
JSON representation
2D Toolbox for Differentiable Ray Tracing
- Host: GitHub
- URL: https://github.com/jeertmans/differt2d
- Owner: jeertmans
- License: mit
- Created: 2023-05-10T15:21:24.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-01T20:17:54.000Z (5 months ago)
- Last Synced: 2024-05-02T03:42:07.687Z (5 months ago)
- Topics: 2d, differentiable, raytracing, telecommunications
- Language: Python
- Homepage: http://eertmans.be/DiffeRT2d/
- Size: 13.4 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
- Citation: CITATION.cff
Awesome Lists containing this project
README
# DiffeRT2d
[![Latest Release][pypi-version-badge]][pypi-version-url]
[![Python version][pypi-python-version-badge]][pypi-version-url]
[![Documentation][documentation-badge]][documentation-url]
[![DOI][doi-badge]][doi-url]
[![JOSS Paper][joss-badge]][joss-url]
[![Codecov][codecov-badge]][codecov-url]Differentiable Ray Tracing Python Framework for Radio Propagation.
DiffeRT2d is built on top of the
[JAX](https://github.com/google/jax)
library to provide a program that is *differentiable everywhere*.
With that, performing gradient-based optimization, or training
Machine Learning models with Ray Tracing (RT) becomes straightforward!
Moreover, the extensive use of the object-oriented paradigm
facilitates the simulation of complex objects, such as metasurfaces,
and the use of more advanced path tracing methods.The objective of this tool is to provide a **simple-to-use** and
**highly interpretable** RT framework **for researchers** engaged
in fundamental studies of RT applied to radio propagation,
or any researcher interested in the various paths radio waves
can take in a given environment.> [!IMPORTANT]
> For 3D scenarios at city-scales,
> checkout [DiffeRT](https://github.com/jeertmans/DiffeRT).- [Installation](#installation)
* [Dependencies](#dependencies)
* [Pip install](#pip-install)
* [Install From Repository](#install-from-repository)
- [Usage](#usage)
- [Contributing](#contributing)
* [Reporting an Issue](#reporting-an-issue)
* [Seeking for Help](#seeking-for-help)
* [Contact](#contact)## Installation
While installing DiffeRT2d and its dependencies on your global Python is fine,
we recommend using a virtual environment
(e.g., [venv](https://docs.python.org/3/tutorial/venv.html)) for a local installation.### Dependencies
DiffeRT2d uses [JAX](https://github.com/google/jax)
for automatic differentation,
which in turn may use (or not) CUDA for GPU acceleration.If needed, please refer to
[JAX's installation guidelines](https://github.com/google/jax#installation)
for more details.### Pip Install
The recommended way to install the latest release is to use pip:
```bash
pip install differt2d
```### Install From Repository
An alternative way to install DiffeRT2d is to clone the git repository,
and install from there:
read the
[contributing guide](https://eertmans.be/DiffeRT2d/latest/contributing/workflow.html)
to know how.## Usage
For a quick introduction to DiffeRT2d, check you our
[Quickstart](https://eertmans.be/DiffeRT2d/latest/quickstart.html) tutorial!You may find a multitude of usage examples across the documentation
or the [examples](https://github.com/jeertmans/DiffeRT2d/tree/main/examples)
folder, or directly in the
[examples gallery](https://eertmans.be/DiffeRT2d/latest/examples_gallery/index.html).## Contributing
Contributions are more than welcome!
Please read through
[our contributing section](https://eertmans.be/DiffeRT2d/latest/contributing/index.html).### Reporting an Issue
If you think you found a bug,
an error in the documentation,
or wish there was some feature that is currently missing,
we would love to hear from you!The best way to reach us is via the
[GitHub issues](https://github.com/jeertmans/DiffeRT2d/issues).
If your problem is not covered by an already existing (closed or open) issue,
then we suggest you create a
[new issue](https://github.com/jeertmans/DiffeRT2d/issues/new).The more precise you are in the description of your problem, the faster we will
be able to help you!### Seeking for help
Sometimes, you may have a question about ,
not necessarily an issue.There are two ways you can reach us for questions:
- via the
[GitHub issues](https://github.com/jeertmans/DiffeRT2d/issues);
- or via
[GitHub discussions](https://github.com/jeertmans/DiffeRT2d/discussions).### Contact
Finally, if you do not have any GitHub account,
or just wish to contact the author of DiffeRT2d,
you can do so at: [[email protected]](mailto:[email protected]).[pypi-version-badge]: https://img.shields.io/pypi/v/DiffeRT2d?label=DiffeRT2d
[pypi-version-url]: https://pypi.org/project/DiffeRT2d/
[pypi-python-version-badge]: https://img.shields.io/pypi/pyversions/DiffeRT2d
[documentation-badge]: https://img.shields.io/website?down_color=lightgrey&down_message=offline&label=documentation&up_color=green&up_message=online&url=https%3A%2F%2Feertmans.be%2FDiffeRT2d%2F
[documentation-url]: https://eertmans.be/DiffeRT2d/
[doi-badge]: https://zenodo.org/badge/DOI/10.5281/zenodo.12600658.svg
[doi-url]: https://doi.org/10.5281/zenodo.12600658
[joss-badge]: https://joss.theoj.org/papers/10.21105/joss.06915/status.svg
[joss-url]: https://doi.org/10.21105/joss.06915
[codecov-badge]: https://codecov.io/gh/jeertmans/DiffeRT2d/branch/main/graph/badge.svg?token=1dJ1AKWMR5
[codecov-url]: https://codecov.io/gh/jeertmans/DiffeRT2d