Source code for specter.psf

"""
specter.psf
===========
"""
from __future__ import absolute_import, division, print_function, unicode_literals

from .psf import PSF
from .spotgrid import SpotGridPSF
from .pixpsf import PixPSF
from .monospot import MonoSpotPSF
from .monospot import MonoSpotPSF
from .gausshermite import GaussHermitePSF
from .gausshermite2 import GaussHermite2PSF

[docs]def load_psf(filename, psftype=None): """ Load a PSF fits file, using the "PSFTYPE" header keyword to determine which specific subclass to use. psftype : override fits header keyword PSFTYPE """ from astropy.io import fits hdr = fits.getheader(filename) if psftype is not None: hdr['PSFTYPE'] = psftype if hdr['PSFTYPE'] == 'SPOTGRID': return SpotGridPSF(filename) if hdr['PSFTYPE'] == 'MONOSPOT': return MonoSpotPSF(filename) elif hdr['PSFTYPE'].strip() == 'PCA-PIX': return PixPSF(filename) elif hdr['PSFTYPE'].strip() == 'GAUSS-HERMITE': return GaussHermitePSF(filename) elif hdr['PSFTYPE'].strip() == 'GAUSS-HERMITE2': return GaussHermite2PSF(filename) else: print("Unknown PSFTYPE {}".format(hdr['PSFTYPE'])) return PSF(filename)