kaanaksit / odak

Scientific computing library for optics, computer graphics and visual perception.
https://kaanaksit.com/odak
Mozilla Public License 2.0
177 stars 52 forks source link

Fraunhofer beam propagation #15

Closed kaanaksit closed 3 years ago

kaanaksit commented 3 years ago

Fraunhofer beam propagation simulations are essential when working with far field. Odak needs a verified Fraunhofer beam propagation code, the current one exists in here:

https://github.com/kunguz/odak/blob/59a1c71978d677edd2bf611c30bb497833348fba/odak/wave/classical.py#L47-L80

@praneethc stated that he can help with providing a verified Fraunhofer beam propagation code. His future code can replace the one provided above.

There is also a test routine that can be used for testing Fraunhofer beam propagation code. Once implemented the below line can be changed in this script to Fraunhofer from IR Fresnel and the code can be tested this way. https://github.com/kunguz/odak/blob/59a1c71978d677edd2bf611c30bb497833348fba/test/test_beam_propagation.py#L12

To visualize the outcome these following lines can be uncommented within the same test script: https://github.com/kunguz/odak/blob/59a1c71978d677edd2bf611c30bb497833348fba/test/test_beam_propagation.py#L36-L43

kaanaksit commented 3 years ago

@praneethc 's pull request resolved this issue with odak.wave.fraunhofer_inverse.