Skip to content
/ pado Public

Pado: differentiable simulation of light waves

License

Notifications You must be signed in to change notification settings

shwbaek/pado

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pado logo

Pado: Differentiable Light-wave Simulation

Pado is a differentiable wave-optics library written in PyTorch. Thus, objects and operations defined in Pado are differentiable via PyTorch's automatic differentiation. Pado allows us to differentiate light-wave simulation and it can be integrated into any PyTorch-based network system. This makes Pado particularly useful for research in learning-based computational imaging and display.

Pado provides high-level abstractions of light-wave simulation, which is useful for users lacking knowledge in wave optics. Pado achieves this with three main objects: light, optical element, and propagator. Constructing your own light-wave simulator with the three objects could improve your working efficiency by focusing on the core problem you want to tackle instead of studying and implementing wave optics from scratch.

Pado is a Korean word for wave.

How to use Pado

We provide a jupyter notebook (./example/tutorial.ipynb). More examples will be added later.

Prerequisites

  • Python
  • Pytorch
  • Numpy
  • Matplotlib
  • Scipy

About

Pado is maintained and developed by POSTECH Computer Graphics Lab. If you use Pado in your research, please cite Pado using the following BibText template:

@misc{Pado,
   Author = {Seung-Hwan Baek, Yujin Jeon},
   Year = {2023},
   Note = {https://github.com/shwbaek/pado},
   Title = {Pado: Differentiable Light-wave Simulation}
}

About

Pado: differentiable simulation of light waves

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published