SingleObsImageMaker¶
-
class
gammapy.scripts.
SingleObsImageMaker
(obs, empty_image, energy_band, offset_band, exclusion_mask=None, ncounts_min=0, save_bkg_scale=True)[source]¶ Bases:
object
Compute images for one observation.
The computed images are stored in a
images
attribute of typeSkyImageList
with the following keys:counts
: Countsbkg
: Background modelexposure
: Exposureexcess
: Excesssignificance
: Significance
Parameters: obs :
DataStoreObservation
Observation data
empty_image :
SkyImage
Reference image
energy_band :
Energy
Energy band selection
offset_band :
astropy.coordinates.Angle
Offset band selection
exclusion_mask :
SkyImage
Exclusion mask
ncounts_min : int
Minimum counts required for the observation (TODO: used how?)
save_bkg_scale: bool
True if you want to save the normalisation of the bkg computed outside the exlusion region in a Table
Methods Summary
background_norm_factor
(counts, bkg)Determine the scaling factor to apply to the background image. bkg_image
([bkg_norm])Make the background image for one observation from a bkg model. counts_image
()Fill the counts image for the events of one observation. excess_image
()Compute excess between counts and bkg image. exposure_image
([spectral_index, ...])Compute the exposure image for one observation. make_1d_expected_counts
([spectral_index, ...])Compute the 1D exposure table for one observation for an offset table. significance_image
(radius)Make the significance image from the counts and bkg images. Methods Documentation
-
background_norm_factor
(counts, bkg)[source]¶ Determine the scaling factor to apply to the background image.
Compares the events in the counts images and the bkg image outside the exclusion images.
Parameters: counts :
SkyImage
counts image
bkg :
SkyImage
bkg image
Returns: scale : float
scaling factor between the counts and the bkg images outside the exclusion region.
-
bkg_image
(bkg_norm=True)[source]¶ Make the background image for one observation from a bkg model.
Parameters: bkg_norm : bool
If true, apply the scaling factor from the number of counts outside the exclusion region to the bkg image
-
exposure_image
(spectral_index=2.3, for_integral_flux=False)[source]¶ Compute the exposure image for one observation.
Excess/exposure will give the differential flux at the energy Eref at the middle of the
self.energy_band
If
for_integral_flux
is true, it will give the integrated flux over theself.energy_band
Exposure is define as follow:
\[EXPOSURE = \int_{E_1}^{E_2} A(E) \phi(E) * T \, dE\]with
T
the observation livetime,A(E)
the effective area, the energy integration range \([E_1,E_2]\) given byself.energy_range
and assuming a power law for the flux \(\phi(E) = \phi_{Eref} \times \frac{E}{E_{ref}}^{\gamma}\) with \(\gamma\) the spectral index of the assumed power law.If
for_integral_flux
is true, \(EXPOSURE = \int_{E_1}^{E_2} A(E) \phi_{E} * T \, dE / \int \phi_{E} \, dE\)Parameters: spectral_index : float
Assumed power-law spectral index
for_integral_flux : bool
True if you want that the total excess / exposure gives the integrated flux
-
make_1d_expected_counts
(spectral_index=2.3, for_integral_flux=False)[source]¶ Compute the 1D exposure table for one observation for an offset table.
Parameters: spectral_index : float
Assumed power-law spectral index
for_integral_flux : bool
True if you want that the total excess / exposure gives the integrated flux
Returns: table :
astropy.table.QTable
Two columns: offset in the FOV “theta” and expected counts “npred”