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
Returns:

propagated complex amplitude

Return type:

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
Returns:

Output complex amplitude

Return type:

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
Returns:

Complex ampltitude after propagation

Return type:

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
Returns:

Complex ampltitude after propagation

Return type:

ndarray