RadMax2D#

class gammapy.irf.RadMax2D(axes, data=0, unit='', is_pointlike=False, fov_alignment=FoVAlignment.RADEC, meta=None, interp_kwargs=None)[source]#

Bases: gammapy.irf.core.IRF

2D Rad Max table.

This is not directly a IRF component but is needed as additional information for point-like IRF components when an energy or field of view dependent directional cut has been applied.

Data format specification: RAD_MAX_2D.

Parameters
energy_axisMapAxis

Reconstructed energy axis.

offset_axisMapAxis

Field of view offset axis.

dataQuantity

Applied directional cut.

metadict

Metadata dictionary.

Attributes Summary

axes

MapAxes.

data

default_interp_kwargs

default_unit

fov_alignment

Alignment of the field of view coordinate axes, see FoVAlignment.

has_offset_axis

Whether the IRF explicitly depends on offset.

is_fixed_rad_max

Return True if rad_max axes are flat.

is_pointlike

Whether the IRF is pointlike of full containment.

quantity

Quantity as a Quantity object.

required_axes

tag

unit

Map unit as a Unit object.

Methods Summary

cumsum(axis_name)

Compute cumsum along a given axis.

evaluate([method])

Evaluate IRF.

from_hdulist(hdulist[, hdu, format])

Create from HDUList.

from_irf(irf)

Create a RadMax2D instance from another IRF component.

from_table(table[, format])

Read from Table.

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(axis_name)

Normalise data in place along a given axis.

pad(pad_width, axis_name, **kwargs)

Pad IRF along a given axis.

plot_rad_max_vs_energy([ax])

Plot rad max value against energy.

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_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("deg")#
fov_alignment#

Alignment of the field of view coordinate axes, see FoVAlignment.

has_offset_axis#

Whether the IRF explicitly depends on offset.

is_fixed_rad_max#

Return True if rad_max axes are flat.

is_pointlike#

Whether the IRF is pointlike of full containment.

quantity#

Quantity as a Quantity object.

required_axes = ['energy', 'offset']#
tag = 'rad_max_2d'#
unit#

Map unit as a Unit object.

Methods Documentation

cumsum(axis_name)#

Compute cumsum along a given axis.

Parameters
axis_namestr

Along which axis to integrate.

Returns
irfIRF

Cumsum IRF.

evaluate(method=None, **kwargs)#

Evaluate IRF.

Parameters
**kwargsdict

Coordinates at which to evaluate the IRF.

methodstr {‘linear’, ‘nearest’}, optional

Interpolation method.

Returns
arrayQuantity

Interpolated values.

classmethod from_hdulist(hdulist, hdu=None, format='gadf-dl3')#

Create from HDUList.

Parameters
hdulistHDUList

HDU list.

hdustr

HDU name.

format{“gadf-dl3”}

Format specification. Default is “gadf-dl3”.

Returns
irfIRF

IRF class.

classmethod from_irf(irf)[source]#

Create a RadMax2D instance from another IRF component.

This reads the RAD_MAX metadata keyword from the IRF and creates a RadMax2D with a single bin in energy and offset using the ranges from the input IRF.

Parameters
irfEffectiveAreaTable2D or EnergyDispersion2D

IRF instance from which to read the RAD_MAX and limit information.

Returns
rad_maxRadMax2D

RadMax2D object with a single bin corresponding to the fixed RAD_MAX cut.

Notes

This assumes the true energy axis limits are also valid for the reconstructed energy limits.

classmethod from_table(table, format='gadf-dl3')#

Read from Table.

Parameters
tableTable

Table with IRF data.

format{“gadf-dl3”}, optional

Format specification. Default is “gadf-dl3”.

Returns
irfIRF

IRF class.

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
arrayQuantity

Returns 2D array with axes offset.

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
arrayQuantity

Returns 2D array with axes offset.

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
otherIRF

The IRF to compare against.

rtol_axesfloat, optional

Relative tolerance for the axis comparison. Default is 1e-3.

atol_axesfloat, optional

Absolute tolerance for the axis comparison. Default is 1e-6.

**kwargsdict

Keywords passed to numpy.allclose.

Returns
is_allclosebool

Whether the IRF is all close.

normalize(axis_name)#

Normalise data in place along a given axis.

Parameters
axis_namestr

Along which axis to normalize.

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

Axis to downsample. By default, spatial axes are padded.

**kwargsdict

Keyword argument forwarded to pad.

Returns
irfIRF

Padded IRF.

plot_rad_max_vs_energy(ax=None, **kwargs)[source]#

Plot rad max value against energy.

Parameters
axAxes, optional

Matplotlib axes. Default is None.

**kwargsdict

Keyword arguments passed to pcolormesh.

Returns
axAxes

Matplotlib axes.

classmethod read(filename, hdu=None, format='gadf-dl3')#

Read from file.

Parameters
filenamestr or Path

Filename.

hdustr

HDU name.

format{“gadf-dl3”}, optional

Format specification. Default is “gadf-dl3”.

Returns
irfIRF

IRF class.

slice_by_idx(slices)#

Slice sub IRF from IRF object.

Parameters
slicesdict

Dictionary of axes names and slice object pairs. Contains one element for each non-spatial dimension. Axes not specified in the dictionary are kept unchanged.

Returns
slicedIRF

Sliced IRF object.

to_hdulist(format='gadf-dl3')#

Write the HDU list.

Parameters
format{“gadf-dl3”}, optional

Format specification. Default is “gadf-dl3”.

to_table(format='gadf-dl3')#

Convert to table.

Parameters
format{“gadf-dl3”}, optional

Format specification. Default is “gadf-dl3”.

Returns
tableTable

IRF data table.

to_table_hdu(format='gadf-dl3')#

Convert to BinTableHDU.

Parameters
format{“gadf-dl3”}, optional

Format specification. Default is “gadf-dl3”.

Returns
hduBinTableHDU

IRF data table HDU.

to_unit(unit)#

Convert IRF to different unit.

Parameters
unitUnit or str

New unit.

Returns
irfIRF

IRF with new unit and converted data.

write(filename, *args, **kwargs)#

Write IRF to fits.

Calls writeto, forwarding all arguments.