Ray Tracing and Optical Design in Python
TracePy is a sequential ray tracing package written in Python 3 for designing optical systems in the geometric optics regime. It features lens optimization from Scipy.
To use TracePy you can either clone the repository and use the command "pip3 install ." in the download directory, or you can download TracePy directly through pypi with the command below.
pip3 install tracepy
To get started using the software, you can look at the examples provided in the 'examples' folder. The UI for TracePy is most similar to BEAM4, and TracePy's ray tracing algorithm was recreated from Spencer and Murty's iconic paper, "General Ray-Tracing Procedure".
I suggest reading Spencer and Murty's paper, "General Ray-Tracing Procedure" for an overview of TracePy's algorithm. There are also several open issues that we welcome collaborators on.