POPPY (Physical Optics Propagation in PYthon) simulates physical optical propagation including diffraction. It implements a flexible framework for modeling Fraunhofer and Fresnel diffraction and point spread function formation, particularly in the context of astronomical telescopes. POPPY provides the optical modeling framework for WebbPSF (ascl:1504.007) and was developed as part of a simulation package for JWST, but is available separately and is broadly applicable to many kinds of imaging simulations.
This research made use of POPPY, an open-source optical propagation Python package originally developed for the James Webb Space Telescope project (https://ui.adsabs.harvard.edu/abs/2012SPIE.8442E..3), https://ui.adsabs.harvard.edu/abs/2016ascl.soft02018P