PSF3D#
- class gammapy.irf.PSF3D(axes, data=0, unit='', is_pointlike=False, fov_alignment=FoVAlignment.RADEC, meta=None, interp_kwargs=None)[source]#
Bases:
gammapy.irf.psf.core.PSFPSF with axes: energy, offset, rad.
Data format specification: PSF_TABLE
- Parameters
- energy_axis_true
MapAxis True energy axis.
- offset_axis
MapAxis Offset axis
- rad_axis
MapAxis Rad axis
- data
Quantity PSF (3-dim with axes: psf[rad_index, offset_index, energy_index]
- metadict
Meta dict
- energy_axis_true
Attributes Summary
MapAxesAlignment of the field of view coordinate axes, see
FoVAlignmentWhether the IRF explicitly depends on offset
Whether the IRF is pointlike of full containment.
Map unit (
Unit)Methods Summary
containment(rad, **kwargs)Containment tof the PSF at given axes coordinates
containment_radius(fraction[, factor])Containment radius at given axes coordinates
cumsum(axis_name)Compute cumsum along a given axis
evaluate([method])Evaluate IRF
from_hdulist(hdulist[, hdu, format])Create from
HDUList.from_table(table[, format])Read from
Table.info([fraction, energy_true, offset])Print PSF summary info.
integral(axis_name, **kwargs)Compute integral along a given axis
integrate_log_log(axis_name, **kwargs)Integrate along a given axis.
interp_missing_data(axis_name)Interpolate missing data along a given axis
is_allclose(other[, rtol_axes, atol_axes])Compare two data IRFs for equivalency
Normalise psf
pad(pad_width, axis_name, **kwargs)Pad irf along a given axis.
peek([figsize])Quick-look summary plots.
plot_containment_radius([ax, fraction, add_cbar])Plot containment image with energy and theta axes.
plot_containment_radius_vs_energy([ax, ...])Plot containment fraction as a function of energy.
plot_psf_vs_rad([ax, offset, energy_true])Plot PSF vs rad.
read(filename[, hdu, format])Read from file.
to_hdulist([format])to_table([format])Convert to table
to_table_hdu([format])Convert to
BinTableHDU.to_unit(unit)Convert irf to different unit
write(filename, *args, **kwargs)Write IRF to fits.
Attributes Documentation
- axes#
MapAxes
- data#
- default_interp_kwargs = {'bounds_error': False, 'fill_value': 0.0}#
- default_unit = Unit("1 / sr")#
- fov_alignment#
Alignment of the field of view coordinate axes, see
FoVAlignment
- has_offset_axis#
Whether the IRF explicitly depends on offset
- is_pointlike#
Whether the IRF is pointlike of full containment.
- required_axes = ['energy_true', 'offset', 'rad']#
- tag = 'psf_table'#
Methods Documentation
- containment(rad, **kwargs)#
Containment tof the PSF at given axes coordinates
- containment_radius(fraction, factor=20, **kwargs)#
Containment radius at given axes coordinates
- cumsum(axis_name)#
Compute cumsum along a given axis
- Parameters
- axis_namestr
Along which axis to integrate.
- Returns
- irf
IRF Cumsum IRF
- irf
- evaluate(method=None, **kwargs)#
Evaluate IRF
- Parameters
- **kwargsdict
Coordinates at which to evaluate the IRF
- methodstr {‘linear’, ‘nearest’}, optional
Interpolation method
- Returns
- array
Quantity Interpolated values
- array
- classmethod from_hdulist(hdulist, hdu=None, format='gadf-dl3')#
Create from
HDUList.- Parameters
- hdulist
HDUList HDU list
- hdustr
HDU name
- format{“gadf-dl3”}
Format specification
- hdulist
- Returns
- irf
IRF IRF class
- irf
- classmethod from_table(table, format='gadf-dl3')#
Read from
Table.- Parameters
- table
Table Table with irf data
- format{“gadf-dl3”}
Format specification
- table
- Returns
- irf
IRF IRF class.
- irf
- info(fraction=(0.68, 0.95), energy_true=<Quantity [[ 1.], [10.]] TeV>, offset=<Quantity 0. deg>)#
Print PSF summary info.
The containment radius for given fraction, energies and thetas is computed and printed on the command line.
- Parameters
- fractionlist
Containment fraction to compute containment radius for.
- energy_true
Quantity Energies to compute containment radius for.
- offset
Quantity Offset to compute containment radius for.
- Returns
- ssstring
Formatted string containing the summary info.
- integral(axis_name, **kwargs)#
Compute integral along a given axis
This method uses interpolation of the cumulative sum.
- Parameters
- axis_namestr
Along which axis to integrate.
- **kwargsdict
Coordinates at which to evaluate the IRF
- Returns
- array
Quantity Returns 2D array with axes offset
- array
- integrate_log_log(axis_name, **kwargs)#
Integrate along a given axis.
This method uses log-log trapezoidal integration.
- Parameters
- axis_namestr
Along which axis to integrate.
- **kwargsdict
Coordinates at which to evaluate the IRF
- Returns
- array
Quantity Returns 2D array with axes offset
- array
- interp_missing_data(axis_name)#
Interpolate missing data along a given axis
- is_allclose(other, rtol_axes=0.001, atol_axes=1e-06, **kwargs)#
Compare two data IRFs for equivalency
- Parameters
- other
gammapy.irfs.IRF The irf to compare against
- rtol_axesfloat
Relative tolerance for the axes comparison.
- atol_axesfloat
Relative tolerance for the axes comparison.
- **kwargsdict
keywords passed to
numpy.allclose
- other
- Returns
- is_allclosebool
Whether the IRF is all close.
- normalize()#
Normalise psf
- pad(pad_width, axis_name, **kwargs)#
Pad irf along a given axis.
- Parameters
- pad_width{sequence, array_like, int}
Number of pixels padded to the edges of each axis.
- axis_namestr
Which axis to downsample. By default spatial axes are padded.
- **kwargsdict
Keyword argument forwarded to
pad
- Returns
- irf
IRF Padded irf
- irf
- peek(figsize=(15, 5))#
Quick-look summary plots.
- Parameters
- figsizetuple
Size of the figure.
- plot_containment_radius(ax=None, fraction=0.68, add_cbar=True, **kwargs)#
Plot containment image with energy and theta axes.
- Parameters
- ax
Axes Axes to plot on.
- fractionfloat
Containment fraction between 0 and 1.
- add_cbarbool
Add a colorbar
- **kwargsdict
Keyword arguments passed to
pcolormesh
- ax
- Returns
- ax
Axes Axes to plot on.
- ax
- plot_containment_radius_vs_energy(ax=None, fraction=(0.68, 0.95), offset=<Quantity [0., 1.] deg>, **kwargs)#
Plot containment fraction as a function of energy.
- plot_psf_vs_rad(ax=None, offset=<Quantity [0.] deg>, energy_true=<Quantity [ 0.1, 1., 10. ] TeV>, **kwargs)#
Plot PSF vs rad.
- classmethod read(filename, hdu=None, format='gadf-dl3')#
Read from file.
- Parameters
- filenamestr or
Path Filename
- hdustr
HDU name
- format{“gadf-dl3”}
Format specification
- filenamestr or
- Returns
- irf
IRF IRF class
- irf
- to_hdulist(format='gadf-dl3')#
- to_table(format='gadf-dl3')#
Convert to table
- Parameters
- format{“gadf-dl3”}
Format specification
- Returns
- table
Table IRF data table
- table
- to_table_hdu(format='gadf-dl3')#
Convert to
BinTableHDU.- Parameters
- format{“gadf-dl3”}
Format specification
- Returns
- hdu
BinTableHDU IRF data table hdu
- hdu
- to_unit(unit)#
Convert irf to different unit
- Parameters
- unit
Unitor str New unit
- unit
- Returns
- irf
IRF IRF with new unit and converted data
- irf