Skip to main content

2D Toolbox for Differentiable Ray Tracing

Project description

DiffeRT2d

Latest Release Python version Documentation DOI JOSS Paper Codecov

DiffeRT2d Logo

Differentiable Ray Tracing Python Framework for Radio Propagation.

DiffeRT2d is built on top of the 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.

Installation

While installing DiffeRT2d and its dependencies on your global Python is fine, we recommend using a virtual environment (e.g., venv) for a local installation.

Dependencies

DiffeRT2d uses JAX for automatic differentation, which in turn may use (or not) CUDA for GPU acceleration.

If needed, please refer to JAX's installation guidelines for more details.

Pip Install

The recommended way to install the latest release is to use pip:

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 to know how.

Usage

For a quick introduction to DiffeRT2d, check you our Quickstart tutorial!

You may find a multitude of usage examples across the documentation or the examples folder, or directly in the examples gallery.

Contributing

Contributions are more than welcome! Please read through our contributing section.

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. If your problem is not covered by an already existing (closed or open) issue, then we suggest you create a new issue.

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:

Contact

Finally, if you do not have any GitHub account, or just wish to contact the author of DiffeRT2d, you can do so at: jeertmans@icloud.com.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

differt2d-0.4.0.tar.gz (30.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

differt2d-0.4.0-py3-none-any.whl (32.9 kB view details)

Uploaded Python 3

File details

Details for the file differt2d-0.4.0.tar.gz.

File metadata

  • Download URL: differt2d-0.4.0.tar.gz
  • Upload date:
  • Size: 30.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for differt2d-0.4.0.tar.gz
Algorithm Hash digest
SHA256 064387caa25fdfb6efdb490ccc9ee6a0321dee73aed33283720c3eb16b3e90a0
MD5 8e695bf9ddf9c23d96a58d3842c7f023
BLAKE2b-256 99bb3490234fdb7c1053432935cf51e807e0a36850dd7360b5c68ad155dbf965

See more details on using hashes here.

Provenance

The following attestation bundles were made for differt2d-0.4.0.tar.gz:

Publisher: publish.yml on jeertmans/DiffeRT2d

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file differt2d-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: differt2d-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 32.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for differt2d-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 20fbf80d8a2bbb86add3473a3d8b577953c38be31dc014795cc47f9406c95045
MD5 34bd1f74bcad14879c4cc4df4d18a232
BLAKE2b-256 71dbc852b4c325adc6e8e2dabd61e3aa4bc967a4f347b9b744c1113db6a6e752

See more details on using hashes here.

Provenance

The following attestation bundles were made for differt2d-0.4.0-py3-none-any.whl:

Publisher: publish.yml on jeertmans/DiffeRT2d

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page