You can find some of my code in my GitHub page.

  • pollib; MATLAB library for modelling polarisation effects in optics.
  • slmtools; Python code to use a spatial light modulator (SLM). You can display multiple pupils and add gratings and Zernike aberrations.
  • dmlib; Deformable mirror calibration and control library. You can use this to calibrate your DM with an interferometer.
  • devwraps; A collection of device wrappers for Python 3 in Windows. It supports a number of devices such as cameras (Thorlabs, IDS, Ximea) and deformable mirrors (BMC, ALPAO).
  • zernike; Python code for Zernike polynomials. Supports fitting and evaluating Zernike polynomials.
  • enzpy; Extended Nijboer-Zernike (ENZ) theory toolbox for Python. You can generate PSFs with phase and amplitude aberrations.
  • mshwfs; Modal Shack-Hartmann wavefront sensor toolbox for MATLAB. Estimates wavefronts from Shack-Hartmann images. Includes general support for Zernike polynomials.