EnergyDependentMultiGaussPSF#
- class gammapy.irf.EnergyDependentMultiGaussPSF(axes, data=0, unit='', is_pointlike=False, fov_alignment=FoVAlignment.RADEC, meta=None, interp_kwargs=None)[source]#
Bases:
ParametricPSF
Triple Gauss analytical PSF depending on true energy and offset.
- Parameters:
- axeslist of
MapAxis
Required axes are [“energy_true”, “offset”].
- data
recarray
Data array.
- metadict
Metadata dictionary.
- axeslist of
Examples
Plot R68 of the PSF vs. offset and true energy:
import matplotlib.pyplot as plt from gammapy.irf import EnergyDependentMultiGaussPSF filename = '$GAMMAPY_DATA/cta-1dc/caldb/data/cta/1dc/bcf/South_z20_50h/irf_file.fits' psf = EnergyDependentMultiGaussPSF.read(filename, hdu='POINT SPREAD FUNCTION') psf.plot_containment_radius(fraction=0.68) plt.show()
Attributes Summary
MapAxes
.Alignment of the field of view coordinate axes, see
FoVAlignment
.Whether the IRF explicitly depends on offset.
Whether the IRF is pointlike of full containment.
Quantity.
Map unit as a
Unit
.Methods Summary
containment
(rad, **kwargs)Containment of 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
(rad, **kwargs)Evaluate the PSF model.
evaluate_containment
(rad, **kwargs)Containment of the PSF at given axes coordinates.
evaluate_direct
(rad, **kwargs)Evaluate PSF model.
evaluate_parameters
(energy_true, offset)Evaluate analytic PSF parameters at a given energy and offset.
from_hdulist
(hdulist[, hdu, format])Create from
HDUList
.from_table
(table[, format])Create parametric PSF from
Table
.info
([fraction, energy_true, offset])Print PSF summary information.
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.
Normalize parametric PSF.
pad
(pad_width, axis_name, **kwargs)Pad IRF along a given axis.
peek
([figsize])Quick-look summary plots.
plot_containment_radius
([ax, fraction, ...])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.
slice_by_idx
(slices)Slice sub IRF from IRF object.
to_hdulist
([format])Write the HDU list.
to_psf3d
([rad])Create a PSF3D from a parametric PSF.
to_table
([format])Convert PSF table data to table.
to_table_hdu
([format])Convert to
BinTableHDU
.to_unit
(unit)Convert IRF to unit.
write
(filename, *args, **kwargs)Write IRF to fits.
Attributes Documentation
- axes#
MapAxes
.
- data#
- default_interp_kwargs = {'bounds_error': False, 'fill_value': 0.0}#
- 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.
- quantity#
Quantity.
- required_axes = ['energy_true', 'offset']#
- required_parameters = ['sigma_1', 'sigma_2', 'sigma_3', 'scale', 'ampl_2', 'ampl_3']#
- tag = 'psf_3gauss'#
Methods Documentation
- containment(rad, **kwargs)#
Containment of 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(rad, **kwargs)#
Evaluate the PSF model.
- static evaluate_containment(rad, **kwargs)[source]#
Containment of the PSF at given axes coordinates.
- Parameters:
- rad
Quantity
Rad value.
- **kwargsdict
Parameters, see
required_parameters
.
- rad
- Returns:
- containment
ndarray
Containment.
- containment
- static evaluate_direct(rad, **kwargs)[source]#
Evaluate PSF model.
- Parameters:
- rad
Quantity
Rad value.
- **kwargsdict
Parameters, see
required_parameters
.
- rad
- Returns:
- value
ndarray
PSF value.
- value
- evaluate_parameters(energy_true, offset)#
Evaluate analytic PSF parameters at a given energy and offset.
Uses nearest-neighbor interpolation.
- 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. Default is “gadf-dl3”.
- hdulist
- Returns:
- irf
IRF
IRF class.
- irf
- classmethod from_table(table, format='gadf-dl3')#
Create parametric PSF from
Table
.- Parameters:
- table
Table
Table information.
- format{“gadf-dl3”}, optional
Format specification. Default is “gadf-dl3”.
- table
- Returns:
- psf
ParametricPSF
PSF class.
- psf
- info(fraction=(0.68, 0.95), energy_true=<Quantity [[ 1.], [10.]] TeV>, offset=<Quantity 0. deg>)#
Print PSF summary information.
The containment radius for given fraction, energies and thetas is computed and printed on the command line.
- Parameters:
- fractionlist, optional
Containment fraction to compute containment radius for, between 0 and 1. Default is (0.68, 0.95).
- energy_true
Quantity
, optional Energies to compute containment radius for. Default is ([1.0], [10.0]) TeV.
- offset
Quantity
, optional Offset to compute containment radius for. Default is 0 deg.
- Returns:
- infostring
Formatted string containing the summary information.
- 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.ParametricPSF
The PSF to compare against.
- rtol_axesfloat, optional
Relative tolerance for the axis comparison. Default is 1e-3.
- atol_axesfloat, optional
Relative tolerance for the axis comparison. Default is 1e-6.
- **kwargsdict
Keywords passed to
numpy.allclose
.
- other
- Returns:
- is_allclosebool
Whether the IRF is all close.
- normalize()#
Normalize parametric PSF.
- pad(pad_width, axis_name, **kwargs)#
Pad IRF along a given axis.
- peek(figsize=(15, 5))#
Quick-look summary plots.
- Parameters:
- figsizetuple, optional
Size of the figure. Default is (15, 5).
- plot_containment_radius(ax=None, fraction=0.68, add_cbar=True, axes_loc=None, kwargs_colorbar=None, **kwargs)#
Plot containment image with energy and theta axes.
- Parameters:
- ax
Axes
, optional Matplotlib axes. Default is None.
- fractionfloat, optional
Containment fraction between 0 and 1. Default is 0.68.
- add_cbarbool, optional
Add a colorbar. Default is True.
- axes_locdict, optional
Keyword arguments passed to
append_axes
.- kwargs_colorbardict, optional
Keyword arguments passed to
colorbar
.- **kwargsdict
Keyword arguments passed to
pcolormesh
.
- ax
- Returns:
- ax
Axes
Matplotlib axes.
- 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.
- Parameters:
- Returns:
- ax
Axes
Matplotlib axes.
- ax
- 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.
- slice_by_idx(slices)#
Slice sub IRF from IRF object.
- to_hdulist(format='gadf-dl3')#
Write the HDU list.
- Parameters:
- format{“gadf-dl3”}, optional
Format specification. Default is “gadf-dl3”.
- to_psf3d(rad=None)#
Create a PSF3D from a parametric PSF.
It will be defined on the same energy and offset values than the input PSF.
- to_table(format='gadf-dl3')#
Convert PSF table data to table.
- Parameters:
- format{“gadf-dl3”}
Format specification. Default is “gadf-dl3”.
- Returns:
- hdu_list
HDUList
PSF in HDU list format.
- hdu_list
- to_table_hdu(format='gadf-dl3')#
Convert to
BinTableHDU
.- Parameters:
- format{“gadf-dl3”}, optional
Format specification. Default is “gadf-dl3”.
- Returns:
- hdu
BinTableHDU
IRF data table HDU.
- hdu
- to_unit(unit)#
Convert IRF to unit.