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