PSFMap¶
-
class
gammapy.cube.
PSFMap
(psf_map, exposure_map=None)[source]¶ Bases:
object
Class containing the Map of PSFs and allowing to interact with it.
Parameters: Examples
import numpy as np from astropy import units as u from astropy.coordinates import SkyCoord from gammapy.maps import Map, WcsGeom, MapAxis from gammapy.irf import EnergyDependentMultiGaussPSF, EffectiveAreaTable2D from gammapy.cube import make_psf_map, PSFMap, make_map_exposure_true_energy # Define energy axis. Note that the name is fixed. energy_axis = MapAxis.from_edges(np.logspace(-1., 1., 4), unit='TeV', name='energy') # Define rad axis. Again note the axis name rads = np.linspace(0., 0.5, 100) * u.deg rad_axis = MapAxis.from_edges(rads, unit='deg', name='theta') # Define parameters pointing = SkyCoord(0., 0., unit='deg') max_offset = 4 * u.deg # Create WcsGeom geom = WcsGeom.create(binsz=0.25*u.deg, width=10*u.deg, skydir=pointing, axes=[rad_axis, energy_axis]) # Extract EnergyDependentTablePSF from CTA 1DC IRF filename = '$GAMMAPY_DATA/cta-1dc/caldb/data/cta/1dc/bcf/South_z20_50h/irf_file.fits' psf = EnergyDependentMultiGaussPSF.read(filename, hdu='POINT SPREAD FUNCTION') psf3d = psf.to_psf3d(rads) aeff2d = EffectiveAreaTable2D.read(filename, hdu='EFFECTIVE AREA') # Create the exposure map exposure_geom = geom.to_image().to_cube([energy_axis]) exposure_map = make_map_exposure_true_energy(pointing, "1 h", aeff2d, exposure_geom) # create the PSFMap for the specified pointing psf_map = make_psf_map(psf3d, pointing, geom, max_offset, exposure_map) # Get an EnergyDependentTablePSF at any position in the image psf_table = psf_map.get_energy_dependent_table_psf(SkyCoord(2., 2.5, unit='deg')) # Write map to disk psf_map.write('psf_map.fits')
Methods Summary
containment_radius_map
(energy[, fraction])Containment radius map. from_hdulist
(hdulist[, psf_hdu, …])Convert to HDUList
.get_energy_dependent_table_psf
(position)Get energy-dependent PSF at a given position. get_psf_kernel
(position, geom[, max_radius, …])Returns a PSF kernel at the given position. read
(filename, **kwargs)Read a psf_map from file and create a PSFMap object stack
(other)Stack PSFMap with another one. to_hdulist
([psf_hdu, psf_hdubands, …])Convert to HDUList
.write
(filename[, overwrite])Write to fits Methods Documentation
-
containment_radius_map
(energy, fraction=0.68)[source]¶ Containment radius map.
Parameters: - energy :
Quantity
Scalar energy at which to compute the containment radius
- fraction : float
the containment fraction (range: 0 to 1)
Returns: - containment_radius_map :
Map
Containment radius map
- energy :
-
classmethod
from_hdulist
(hdulist, psf_hdu='PSFMAP', psf_hdubands='BANDSPSF', exposure_hdu='EXPMAP', exposure_hdubands='BANDSEXP')[source]¶ Convert to
HDUList
.Parameters: - psf_hdu : str
Name or index of the HDU with the psf_map data.
- psf_hdubands : str
Name or index of the HDU with the psf_map BANDS table.
- exposure_hdu : str
Name or index of the HDU with the exposure_map data.
- exposure_hdubands : str
Name or index of the HDU with the exposure_map BANDS table.
-
get_energy_dependent_table_psf
(position)[source]¶ Get energy-dependent PSF at a given position.
Parameters: - position :
SkyCoord
the target position. Should be a single coordinates
Returns: - psf_table :
EnergyDependentTablePSF
the table PSF
- position :
-
get_psf_kernel
(position, geom, max_radius=None, factor=4)[source]¶ Returns a PSF kernel at the given position.
The PSF is returned in the form a WcsNDMap defined by the input MapGeom.
Parameters: Returns: - kernel :
PSFKernel
the resulting kernel
- kernel :
-
stack
(other)[source]¶ Stack PSFMap with another one.
The other PSFMap is projected on the current PSFMap geometry.
Parameters: - other :
PSFMap
the psfmap to be stacked with this one.
Returns: - new :
PSFMap
the stacked psfmap
- other :
-
to_hdulist
(psf_hdu='PSFMAP', psf_hdubands='BANDSPSF', exposure_hdu='EXPMAP', exposure_hdubands='BANDSEXP')[source]¶ Convert to
HDUList
.Parameters: - psf_hdu : str
Name or index of the HDU with the psf_map data.
- psf_hdubands : str
Name or index of the HDU with the psf_map BANDS table.
- exposure_hdu : str
Name or index of the HDU with the exposure_map data.
- exposure_hdubands : str
Name or index of the HDU with the exposure_map BANDS table.
Returns: - hdu_list :
HDUList
-