# Optical Propagation¶

A library of useful optical propagation methods.

Many extracted from the book by Schmidt, 2010: Numerical Methods of optical proagation

`aotools.opticalpropagation.``angularSpectrum`(inputComplexAmp, wvl, inputSpacing, outputSpacing, z)[source]

Propogates light complex amplitude using an angular spectrum algorithm

Parameters: inputComplexAmp (ndarray) – Complex array of input complex amplitude wvl (float) – Wavelength of light to propagate inputSpacing (float) – The spacing between points on the input array in metres outputSpacing (float) – The desired spacing between points on the output array in metres z (float) – Distance to propagate in metres propagated complex amplitude ndarray
`aotools.opticalpropagation.``lensAgainst`(Uin, wvl, d1, f)[source]

Propagates from the pupil plane to the focal plane for an object placed against (and just before) a lens.

Parameters: Uin (ndarray) – Input complex amplitude wvl (float) – Wavelength of light in metres d1 (float) – spacing of input plane f (float) – Focal length of lens Output complex amplitude ndarray
`aotools.opticalpropagation.``oneStepFresnel`(Uin, wvl, d1, z)[source]

Fresnel propagation using a one step Fresnel propagation method.

Parameters: Uin (ndarray) – A 2-d, complex, input array of complex amplitude wvl (float) – Wavelength of propagated light in metres d1 (float) – spacing of input plane z (float) – metres to propagate along optical axis Complex ampltitude after propagation ndarray
`aotools.opticalpropagation.``twoStepFresnel`(Uin, wvl, d1, d2, z)[source]

Fresnel propagation using a two step Fresnel propagation method.

Parameters: Uin (ndarray) – A 2-d, complex, input array of complex amplitude wvl (float) – Wavelength of propagated light in metres d1 (float) – spacing of input plane d2 (float) – desired output array spacing z (float) – metres to propagate along optical axis Complex ampltitude after propagation ndarray