Physical optics propagation (wavefront diffraction) for optical simulations, particularly of telescopes.
Physical Optics Propagation in PYthon (POPPY)
POPPY is a Python package that simulates physical optical propagation including diffraction. It implements a flexible framework for modeling Fraunhofer (far-field) diffraction and point spread function formation, particularly in the context of astronomical telescopes. POPPY was developed as part of a simulation package for JWST, but is more broadly applicable to many kinds of imaging simulations.
Developed by Marshall Perrin and colleagues at STScI, 2010-2017, for use simulating the James Webb Space Telescope.
Documentation can be found online at https://poppy-optics.readthedocs.io/