IRF#

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

Bases: object

IRF base class for DL3 instrument response functions.

Parameters
axeslist of MapAxis or MapAxes

Axes.

datandarray or Quantity, optional

Data. Default is 0.

unitstr or Unit, optional

Unit, ignored if data is a Quantity. Default is “”.

is_pointlikebool, optional

Whether the IRF is point-like. True for point-like IRFs, False for full-enclosure. Default is False.

fov_alignmentFoVAlignment, optional

The orientation of the field of view coordinate system. Default is FoVAlignment.RADEC.

metadict, optional

Metadata dictionary. Default is None.

Attributes Summary

axes

MapAxes.

data

default_interp_kwargs

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 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_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.

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}#
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 as a Quantity object.

required_axes#
tag#
unit#

Map unit as a Unit object.

Methods Documentation

cumsum(axis_name)[source]#

Compute cumsum along a given axis.

Parameters
axis_namestr

Along which axis to integrate.

Returns
irfIRF

Cumsum IRF.

evaluate(method=None, **kwargs)[source]#

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')[source]#

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_table(table, format='gadf-dl3')[source]#

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)[source]#

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)[source]#

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)[source]#

Interpolate missing data along a given axis.

is_allclose(other, rtol_axes=0.001, atol_axes=1e-06, **kwargs)[source]#

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)[source]#

Normalise data in place along a given axis.

Parameters
axis_namestr

Along which axis to normalize.

pad(pad_width, axis_name, **kwargs)[source]#

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.

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

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)[source]#

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')[source]#

Write the HDU list.

Parameters
format{“gadf-dl3”}, optional

Format specification. Default is “gadf-dl3”.

to_table(format='gadf-dl3')[source]#

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')[source]#

Convert to BinTableHDU.

Parameters
format{“gadf-dl3”}, optional

Format specification. Default is “gadf-dl3”.

Returns
hduBinTableHDU

IRF data table HDU.

to_unit(unit)[source]#

Convert IRF to different unit.

Parameters
unitUnit or str

New unit.

Returns
irfIRF

IRF with new unit and converted data.

write(filename, *args, **kwargs)[source]#

Write IRF to fits.

Calls writeto, forwarding all arguments.