Skip to content

Latest commit

 

History

History
68 lines (50 loc) · 2.91 KB

README.md

File metadata and controls

68 lines (50 loc) · 2.91 KB

Author Contributions

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.

LS-ASM

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).

principle

Quick start

This repository contains implementations of LS-ASM and Rayleigh-Sommerfeld algorithms, with spherical wave input and thin lens and diffuser modulations.

Prerequisites

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.

Config and Run

Configurations are in main.py.
Run and find results in the results folder.

python main.py

Performance

We display LS-ASM speedup along 0 - 20 degrees of incident angles.
results

Diffuser results closely resemble RS.
diffuser

Citation

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}
}

License

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.