Wavefront-Propagator
Methodology for the propagation of a wavefront phase defined in a square-shaped matrix in free space, assuming coherent illumination. At this moment only works for circular pupils.
Developed by Sergio Bonaque-González, PhD.
sergiob@wooptix.com
www.linkedin.com/in/sergiobonaque
July,2019 - Wooptix S.L.
Basically, you define an incoming phase, a propagation distance, and a detector (defined by its pixels number and its length) and you will obtain the intensity image in such a detector. The software will decide the most appropiate method according to the configuration of the system.
Its an adaptation of the methods described in:
Joseph W Goodman - Introduction to Fourier Optics-McGraw-Hill (1996)
Jason D. Schmidt - Numerical Simulation of Optical Wave Propagation With Examples in MATLAB (2010)
David Voelz - Computational Fourier Optics (2011)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
It is called in the form of a function of the form: [x2,Intensity,Uout]=Propagator_ultimate(lambda,z,phase,pupil,L1,L2,N2)
INPUTS:
lambda=wavelength in meters
z=propagation distance in meters
phase=matrix containing the incoming phase defined at the exit pupil
pupil=matrix containing the exit pupil where the phase is defined
L1=Length of the object space in meters (i.e. length of the matrix containing the wavefront)
L2=Length of the image space in meters (i.e. length of the CCD)
N2=pixels in the detector
OUTPUTS:
x2 = axis values of the Intensity and complex phase results
Intensity = Intensity pattern at the requested z distance
Uout = Complex phase at the requested z distance
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ISSUES:
A comparison with the simpler Fourier transfor method described in Voelz 2011 is also provided beside the final result.
The first advise "method = xxx" indicates the function used for calculations.
Next advise indicates the performed interpolation of the incoming phase (bicubic by defect). By definition, twice the resolution is needed as the maximum frequency to be represented. As normally it is not taken into account, it does it automatically. If it has been taken into account when the phase is described, the software should be changed.
The last advise indicates the specific method he has used to perform the calculation. This beside the first advise identify the part of the software used for calculations.
When the direct fourier transform propagation method is used, a geometrical propagation could also be used (not implemented).
The boundary conditions to have a good sampling when using the angular method are very complex to implement. So what I have done is to make sure that the sampling is good enough in the object plane and a warning is displaying saying that if the result is made of several copies or has artifacts, the resolution of the detector must to be increased (normally to the following power of 2).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
There is a file called "Example.m" that you can use for testing purposes.
Cite As
SergioB (2024). Wavefront-Propagator (https://github.com/SergioBonaqueGonzalez/Wavefront-Propagator), GitHub. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- Image Processing and Computer Vision > Image Processing Toolbox > Get Started with Image Processing Toolbox >
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Propagator_ultimate
Versions that use the GitHub default branch cannot be downloaded
Version | Published | Release Notes | |
---|---|---|---|
1.0.0 |
|