PROPER: An Optical Propagation Library
Supporting MATLAB,
Python, & IDL
NOTICE: PROPER will stop
being supported by the end of 2026. It will remain available on
Sourceforge after then, but will not be updated. Some
alternative packages are (all Python):
HCIPy
POPPY
prysm
PROPER
is a set of routines to simulate the propagation of light through
an optical system using Fourier transform algorithms (Fresnel,
angular spectrum methods). It is currently available for IDL
(Interactive Data Language), Matlab, and Python. It includes
routines to create complex apertures, aberrated wavefronts, and
deformable mirrors. It is especially useful for the simulation of
high contrast imaging telescopes with coronagraphs. It is
distributed as source code, is well documented with a detailed
manual, and is relatively easy to use.
The
current PROPER versions
are:
IDL
|
3.3.5
|
4 June 2026
|
Matlab
|
3.3.5
|
4 June 2026
|
Python
|
3.3.5
|
4 June 2026
|
Changes/fixes
in PROPER v3.3.x:
All versions:
(v3.3.5) Added PROP_SET_RAYLEIGHFACTOR to allow adjustment of
the Rayleigh distance, for cases where defocus causes the
selection of a propagator that causes numerical artifacts;
(v3.3.4, Python only) Modification to PROP_RUN to insert the
current working directory into the module search path,
necessary to support a specific use case; (v3.3.3, Python
only) Fixed bugs in PROP_ZERNIKES, PROP_FIT_ZERNIKES,
PROP_NOLL_ZERNIKES that caused crashes in Python 3.13 due to
changes in the exec() function; (v3.3.2, Python only) Fixed
Intel MKL FFT interface links to work with current library
locations; (v3.3.1) Fixed PROP_HEX_WAVEFRONT so that phase
errors at the edges of adjacent segments get averaged when
segments share a pixel; (v3.3) Fixed deprecation issues; added
flip options to PROP_DM; added PROP_VERSION to report version.
Manual:
The manual is included with the code distribution
and is also available here.
PROPER was developed by John Krist
at the NASA Jet Propulsion Laboratory managed by the California
Institute of Technology. The conversion to Matlab was done by Gary
Gutt (JPL). The Python conversion was done by Navtej Saini with
Nikta Amiri (JPL). Luis Marchen (JPL) performed function testing
and some Python conversion, with William Schulze (JPL).
Please note that support for this
software is provided on a time-available basis. Due to
US Government technology export control regulations,
assistance from the author to non-US foreign nationals without
export licenses is limited to clarifications and bug fixes.
Download PROPER, get
documentation, or submit support requests by hitting the Download
button:

Selected
references to PROPER and projects that
use PROPER
For citations
Krist,
J., "PROPER: an optical propagation library for IDL", Proc.
SPIE, 6675, 66700P (2007).
NOTE: When citing, please indicate that the new web
site for PROPER is at proper-library.sourceforge.net
Verification and validation of PROPER results
Krist, J., et
al., "Milestone 1 Results Report: Assessing the performance
limits of internal coronagraphs through end-to-end modeling :
A NASA TDEM study", exep.jpl.nasa.gov/technology (2012).
Sidick,
E., et al., "HCIT contrast performance sensitivity studies:
simulation versus experiment", Proc. SPIE, 8864 (2013).
End-to-end modeling of coronagraphic space telescopes
Krist,
J., "End-to-end numerical modeling of AFTA coronagraphs",
Proc. SPIE, 9143 (2014)
Krist,
J.,
et al., "Assessing the performance limits of internal
coronagraphs through end-to-end modeling", Proc. SPIE, 8864
(2013).
Krist,
J., et al. "End-to-end simulations of different coronagraphic
techniques", Proc. SPIE, 7440, 2009.
Uses of PROPER
Antichi,
J., "FFREE: a Fresnel-FRee Experiment for EPICS, the EELT
planets imager", Proc. SPIE, 7736 (2010).
Ingraham,
P.,
et al. "High-Contrast Imaging Performance of a Tunable Filter
for Space-Based Applications. II. Detection and
Characterization Capabilities", PASP, 124 (2012).
Marois,
C.,
et al., "A Fresnel propagation analysis of NFIRAOS/IRIS
high-contrast exoplanet imaging capabilities", Proc. SPIE,
8447 (2012).
Marois,
C., et al., "An end-to-end polychromatic Fresnel propagation
model of GPI", Proc. SPIE, 7015 (2008).
Mawet,
D.,
et al., "The Vector Vortex Coronagraph: sensitivity to central
obscuration, low-order aberrations, chromaticism, and
polarization", Proc. SPIE, 7739 (2010).
Mesa,
D., et al., "Simulation of planet detection with the SPHERE
integral field spectrograph", A&A, 529 (2011).
Pardini,
T.,
et al., "The adaptive x-ray optic project at the Lawrence
Livermore National Laboratory", J. Physics Conference Series,
493 (2014).
Thomas,
S., "Amplitude variations on the ExAO testbed: Part II", Proc.
SPIE, 6888 (2008).
Yaitskova,
N., et al., "FOROS: Fresnel optical propagation code for
SPHERE", Proc. SPIE, 7735 (2010).
Zimmerman,
N., "Aperture mask interferometry with an integral field
spectrograph", Proc. SPIE, 8445 (2012).
Updated 14 December 2025