PROPER is a library of IDL (Interactive Data Language) routines for simulating optical propagation in the near and far
fields using Fourier-based Fresnel and angular spectrum methods. The goal of PROPER is to provide a free, easy-to-use,
and versatile means for simulating systems that require diffraction-based rather than geometrical analyses, such as
spatial filtering systems with intermediate optics (e.g. a stellar coronagraph for extrasolar planet imaging). It has
routines for creating complex apertures and obscurations, wavefront errors (defined by Zernikes, power spectra, or user-supplied
maps), amplitude modulators (e.g. coronagraphic occulters), simple lenses, and deformable mirrors. The
routines automatically select which propagator (near or far-field) is best at each surface based on analytically
propagating a Gaussian pilot beam. The library includes a comprehensive manual and is distributed as IDL source code.