PROPER is a library of routines for the propagation of wavefronts through an optical system using Fourier-based methods. It was developed at the Jet Propulsion Laboratory for modeling stellar coronagraphs, but it can be applied to other optical systems were diffraction propagation is of concern. It is currently available for IDL (Interactive Data Language), Matlab and Python (3.x). It includes routines for generating complex apertures and obscurations and aberrations (Zernike & PSD-defined). It includes a model of a deformable mirror for wavefront control. The routines perform near and far field propagation with automatic selection of propagators.
...