To provide essential information regarding author contributions omitted from the published letter:
H.W. and X.L. conceived the project and wrote the paper; X.L. constructed the storyline and led the formulation and methodology development with H.W.'s discussion and derivation.
H.W. and X.L. built the code;
X.L. and H.W. co-authored the manuscript with valuable feedback from Y.P., E.Y.L., and X.H.;
H.W. created all figures with input from X.L.;
Y.P. provided project supervision.
For more insights beyond this work, you may correspond with Dr. Xin Liu and refer to On computational optics.
This repository provides the official open-source code of the following paper:
Modeling off-axis diffraction with least-sampling angular spectrum method
Haoyu Wei*, Xin Liu*, Xiang Hao, Edmund Y. Lam, Yifan Peng
Paper, Project page
Correspondence: Dr. Peng and Prof. Lam. For implementation and experiment details please contact Haoyu (haoyu.wei97@gmail.com).
This repository contains implementations of LS-ASM and Rayleigh-Sommerfeld algorithms, with spherical wave input and thin lens and diffuser modulations.
Create a conda environment from yml file:
conda env create -f environment.yml
If you are running on a GPU, please install a PyTorch version that matches the Cuda version on your machine.
Configurations are in main.py
.
Run and find results in the results
folder.
python main.py
We display LS-ASM speedup along 0 - 20 degrees of incident angles.
Diffuser results closely resemble RS.
If you use this code and find our work valuable, please cite our paper.
@article{Wei:23,
title = {Modeling Off-Axis Diffraction with the Least-Sampling Angular Spectrum Method},
author = {Haoyu Wei and Xin Liu and Xiang Hao and Edmund Y. Lam and Yifan Peng},
journal = {Optica},
volume = {10}, number = {7}, pages = {959--962},
publisher = {Optica Publishing Group},
year = {2023},
month = {Jul},
doi = {10.1364/OPTICA.490223}
}
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.