Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/magis-slac/gradoptics
https://github.com/magis-slac/gradoptics
differentiable machine-learning optics-simulation pytorch ray-tracing simulator tomography
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/magis-slac/gradoptics
- Owner: magis-slac
- License: mit
- Created: 2021-08-06T13:53:16.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-23T23:32:51.000Z (4 months ago)
- Last Synced: 2024-11-16T21:06:42.954Z (2 months ago)
- Topics: differentiable, machine-learning, optics-simulation, pytorch, ray-tracing, simulator, tomography
- Language: Python
- Homepage: https://magis-slac.github.io/gradoptics
- Size: 21.4 MB
- Stars: 10
- Watchers: 6
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
[![Tests](https://github.com/magis-slac/gradoptics/actions/workflows/main.yml/badge.svg)](https://github.com/magis-slac/gradoptics/actions)
[![Build Status](https://travis-ci.com/magis-slac/gradoptics.svg?token=LBAvFbnCy9PEgexzsTUS&branch=main)](https://travis-ci.com/magis-slac/gradoptics)
[![Documentation Status](https://readthedocs.org/projects/gradoptics/badge/?version=latest)](https://gradoptics.readthedocs.io/en/latest/?badge=latest)
[![Contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/magis-slac/gradoptics/blob/master/README.md)
![version](https://img.shields.io/badge/version-0.0.4-blue)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)# Differentiable Optics via Ray Tracing
[*gradoptics*](https://github.com/magis-slac/gradoptics) is a ray tracing based optical simulator built using PyTorch [[1]](#1) to enable automatic differentiation.The API is designed similar to rendering softwares, and has been heavily inspired by *Physically Based Rendering* (Pharr, Jakob, Humphreys) [[2]](#2).
## Getting Started
[Getting Started](https://github.com/magis-slac/gradoptics/blob/main/docs/tutorials/Quick-Start.ipynb)## Installation
```commandline
pip install gradoptics
```Then, you should be ready to go!
```python
import gradoptics as optics
```## Work in progress
- Currently, some optical element normals are aligned with the optical axis -> more general orientations in progress
- Currently, monochromatic -> no chromatic aberrations## Project History
This project was started in 2020 by Michael Kagan and Maxime Vandegar at SLAC National Accelerator Laboratory.
## Feedback and Contributions
Please use issues on GitHub for reporting bugs and suggesting features (including better documentation).
We appreciate all contributions. In general, we recommend using pull requests to make changes to [*gradoptics*](https://github.com/magis-slac/gradoptics).
#### Testing
If you modify [*gradoptics*](https://github.com/magis-slac/gradoptics), please use pytest for checking your code.
```commandline
pytest tests/tests.py
```## Support
[*gradoptics*](https://github.com/magis-slac/gradoptics) was developed in the context of the MAGIS-100 experiment
## References
[1]
A. Paszke, S. Gross, F. Massa, A. Lerer, J. Bradbury, G. Chanan, T. Killeen, Z. Lin, N. Gimelshein, L. Antiga, et al. PyTorch: An imperative style, high-performance deep learning library. In NeurIPS, 2019.[2]
Matt Pharr, Wenzel Jakob, and Greg Humphreys. 2016. Physically Based Rendering: From Theory to Implementation (3rd ed.). Morgan Kaufmann Publishers Inc.