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:
_getOpticalSystem _getFilterList _getDefaultNLambda _getDefaultFOV _getFITSHeader
|filter||Currently selected filter name (e.g.|
|calcPSF([outfile, source, nlambda, ...])||Compute a PSF.|
|display()||Display the currently configured optical system on screen|
Currently selected filter name (e.g. “F200W”)
Compute a PSF. The result can either be written to disk (set outfile=”filename”) or else will be returned as a FITS HDUlist object.
Output sampling may be specified in one of two ways:
By default, both oversampling factors are set equal to 2.
source : pysynphot.SourceSpectrum or dict
nlambda : int
monochromatic : float, optional
fov_arcsec : float
fov_pixels : int
outfile : string
oversample, detector_oversample, fft_oversample : int
rebin : bool, optional
clobber : bool
display : bool
save_intermediates, return_intermediates : bool
outfits : fits.HDUList
More advanced PSF computation options (pupil shifts, source positions, jitter, ...) may be set by configuring the options dictionary attribute of this class.
Display the currently configured optical system on screen