Open longzw001116 opened 1 year ago
Welcome to Fourier Optics! This function implements the Angular Spectrum Method (ASM). It is one of many different wave propagation simulation methods. This function specifically generates the ASM transfer function which is used later in the code to simulate the optical response of the metasurface.
For more information on different types of propagation functions please refer to our other works. Specifically, refer to Section 3 of Learned Hardware-in-the-loop Phase Retrieval for Holographic Near-Eye Displays and our SIGGRAPH course notes.
Let us know if you have any further questions!
Thank you for answering my question.
I have new questions as follows:
In this make_propagator
function:
propagator_arg = 1j * (k_z * params['f'] + k_x * x0 + k_y * y0)
while x0 = np.tan(phi) * params['f']
and y0 = np.tan(theta) * params['f']
.
k_z * params['f']
represents the ASM, so what does k_x * x0 + k_y * y0
mean? Does it account for the shift of image in the focal plane due to the oblique incident light?x0
and y0
.x0 = np.tan(theta) * params['f']
and y0 = np.tan(phi) * params['f']
Welcome to Fourier Optics! This function implements the Angular Spectrum Method (ASM). It is one of many different wave propagation simulation methods. This function specifically generates the ASM transfer function which is used later in the code to simulate the optical response of the metasurface.
For more information on different types of propagation functions please refer to our other works. Specifically, refer to Section 3 of Learned Hardware-in-the-loop Phase Retrieval for Holographic Near-Eye Displays and our SIGGRAPH course notes.
Let us know if you have any further questions!
Thank you for answering my question.
I have new questions as follows:
In this
make_propagator
function:propagator_arg = 1j * (k_z * params['f'] + k_x * x0 + k_y * y0)
whilex0 = np.tan(phi) * params['f']
andy0 = np.tan(theta) * params['f']
.
k_z * params['f']
represents the ASM, so what doesk_x * x0 + k_y * y0
mean? Does it account for the shift of image in the focal plane due to the oblique incident light?- Since θ and φ are field angles alone x- and y-axis, I think there is a mistake in
x0
andy0
. In other words:x0 = np.tan(theta) * params['f']
andy0 = np.tan(phi) * params['f']
theta
and hence this mistake did not affect the final results.
I'm new to the field of Fourier Optics. I couldn't understand this function since I can't match it to any kind of diffraction. Can anyone have some formulas here to explain it ?