Options

Output PSF Normalization

Output PSFs can be normalized in different ways, based on the normalization keyword to calc_psf. The options are:

  • normalize="first": The wavefront is normalized to total intensity 1 over the entrance pupil. If there are obstructions downstream of the entrance pupil (e.g. coronagraph masks) then the output PSF intensity will be < 1.

  • normalize="last": The output PSF’s integrated total intensity is normalized to 1.0, over whatever FOV that PSF has. (Note that this

  • normalize="exit_pupil": The wavefront is normalized to total intensity 1 at the exit pupil, i.e. the last pupil in the optical system. This means that the output PSF will have total intensity 1.0 if integrated over an arbitrarily large aperture. The total intensity over any finite aperture will be some number less than one. In other words, this option is equivalent to saying “Normalize the PSF to have integrated intensity 1 over an infinite aperture.”

Logging

As noted on the Example Code and Getting Started page, Poppy uses the Python logging mechanism for log message display. The default “info” level provides a modest amount of insight into the major steps of a calculation; the “debug” level provides an exhaustive and lengthy description of everything you could possibly want to know. You can switch between these like so:

import logging
logging.basicConfig(level=logging.INFO)
logging.basicConfig(level=logging.DEBUG)

See the python logging docs for more information and extensive options for directing log output to screen or file.

Configuration

Poppy makes use of the Astropy configuration system to store settings persistently between sessions. These settings are stored in a file in the user’s home directory, for instance ~/.astropy/config/poppy.cfg. Edit this text file to adjust settings.

Setting

Description

Default

use_multiprocessing

Should PSF calculations run in parallel using multiple processors?

False

n_processes

Maximum number of additional worker processes to spawn.

4

use_fftw

Should the pyFFTW library be used (if it is present)?

True

autosave_fftw_wisdom

Should POPPY automatically save and reload FFTW ‘wisdom’ (i.e. timing measurements of different FFT variants)

True

default_image_display_fov

Default display field of view for PSFs, in arcsec

5

default_logging_level

Default verbosity of logging to Python’s logging framework

INFO

enable_speed_tests

Enable additional verbose logging of execution timing

False

enable_flux_tests

Enable additional verbose logging of flux conservation tests

False