Instrument

class poppy.instrument.Instrument(name='', *args, **kwargs)[source]

Bases: object

A generic astronomical instrument, composed of
  1. an optical system implemented using POPPY, optionally with several configurations such as selectable image plane or pupil plane stops, and

  2. some defined spectral bandpass(es) such as selectable filters, implemented using pysynphot.

This provides the capability to model both the optical and spectral responses of a given system. PSFs may be calculated for given source spectral energy distributions and output as FITS files, with substantial flexibility.

It also provides capabilities for modeling some PSF effects not due to wavefront aberrations, for instance blurring caused by pointing jitter.

This is a base class for Instrument functionality - you cannot easily use this directly, but rather should subclass it for your particular instrument of interest. Some of the complexity of this class is due to splitting up functionality into many separate routines to allow users to subclass just the relevant portions for a given task. There’s a fair amount of functionality here but the learning curve is steeper than elsewhere in POPPY.

You will at a minimum want to override the following class methods:

  • _get_optical_system

  • _get_filter_list

  • _get_default_nlambda

  • _get_default_fov

  • _get_fits_header

For more complicated systems you may also want to override:

  • _validate_config

  • _get_synphot_bandpass

  • _apply_jitter

Attributes Summary

filter

Currently selected filter name (e.g.

Methods Summary

Instrument.calcPSF

display()

Display the currently configured optical system on screen

Attributes Documentation

filter

Currently selected filter name (e.g. F200W)

Methods Documentation

display()[source]

Display the currently configured optical system on screen