Study notebook used in an undergraduate optics course taught at Université Laval. Written by D. C. Côté.
Raytracing Python Module
This code aims to provide a simple ray tracing module for calculating various properties of optical paths (object, image, aperture stops, field stops). It makes use of ABCD matrices and does not consider aberrations (spherical or chromatic). Since it uses the ABCD formalism (or Ray matrices, or Gauss matrices) it can perform tracing of rays and gaussian laser beams. The documentation is accessible here and on the GitHub page.
The code has been developed first for teaching purposes and is used in the “Optique” Study Notes (see above), but also for actual use in the DCClab research. As of January 21st, 2021, there is an extensive, freely accessible tutorial in Journal of Neurophotonics:
Tissue optics Python code
This is an extremely simple object-oriented code in Python that simulates the propagation of light in scattering tissue using Monte Carlo.