MapDataset

class gammapy.cube.MapDataset(model=None, counts=None, exposure=None, mask_fit=None, psf=None, edisp=None, background_model=None, name='', likelihood='cash', evaluation_mode='local', mask_safe=None, gti=None)[source]

Bases: gammapy.modeling.Dataset

Perform sky model likelihood fit on maps.

Parameters:
model : SkyModel or SkyModels

Source sky models.

counts : WcsNDMap

Counts cube

exposure : WcsNDMap

Exposure cube

mask_fit : ndarray

Mask to apply to the likelihood for fitting.

psf : PSFKernel

PSF kernel

edisp : EnergyDispersion

Energy dispersion

background_model : BackgroundModel

Background model to use for the fit.

likelihood : {“cash”, “cstat”}

Likelihood function to use for the fit.

evaluation_mode : {“local”, “global”}

Model evaluation mode.

The “local” mode evaluates the model components on smaller grids to save computation time. This mode is recommended for local optimization algorithms. The “global” evaluation mode evaluates the model components on the full map. This mode is recommended for global optimization algorithms.

mask_safe : ndarray

Mask defining the safe data range.

gti : ‘~gammapy.data.GTI’

GTI of the observation or union of GTI if it is a stacked observation

Attributes Summary

data_shape Shape of the counts data (tuple)
mask Combined fit and safe mask
model Sky model to fit (SkyModel or SkyModels)
parameters List of parameters (Parameters)

Methods Summary

copy(self) A deep copy.
create(geom[, geom_irf, migra_axis, …]) Creates a MapDataset object with zero filled maps
fake(self[, random_state]) Simulate fake counts for the current model and reduced IRFs.
from_hdulist(hdulist[, name]) Create map dataset from list of HDUs.
likelihood(self) Total likelihood given the current model parameters.
likelihood_per_bin(self) Likelihood per bin given the current model parameters
npred(self) Predicted source and background counts (Map).
plot_residuals(self[, method, …]) Plot spatial and spectral residuals.
read(filename[, name]) Read map dataset from file.
residuals(self[, method]) Compute residuals map.
stack(self, other) Stack another dataset in place.
to_dict(self[, filename]) Convert to dict for YAML serialization.
to_hdulist(self) Convert map dataset to list of HDUs.
to_spectrum_dataset(self, on_region[, …]) Return a ~gammapy.spectrum.SpectrumDataset from on_region.
write(self, filename[, overwrite]) Write map dataset to file.

Attributes Documentation

data_shape

Shape of the counts data (tuple)

mask

Combined fit and safe mask

model

Sky model to fit (SkyModel or SkyModels)

parameters

List of parameters (Parameters)

Methods Documentation

copy(self)

A deep copy.

classmethod create(geom, geom_irf=None, migra_axis=None, rad_axis=None, reference_time='2000-01-01', name='')[source]

Creates a MapDataset object with zero filled maps

Parameters:
geom: `~gammapy.maps.WcsGeom`

Reference target geometry in reco energy, used for counts and background maps

geom_irf: `~gammapy.maps.WcsGeom`

Reference image geometry in true energy, used for IRF maps.

migra_axis: `~gammapy.maps.MapAxis`

Migration axis for the energy dispersion map

rad_axis: `~gammapy.maps.MapAxis`

Rad axis for the psf map

name : str

Name of the dataset.

fake(self, random_state='random-seed')[source]

Simulate fake counts for the current model and reduced IRFs.

This method overwrites the counts defined on the dataset object.

Parameters:
random_state : {int, ‘random-seed’, ‘global-rng’, RandomState}

Defines random number generator initialisation. Passed to get_random_state.

classmethod from_hdulist(hdulist, name='')[source]

Create map dataset from list of HDUs.

Parameters:
hdulist : HDUList

List of HDUs.

Returns:
dataset : MapDataset

Map dataset.

likelihood(self)[source]

Total likelihood given the current model parameters.

likelihood_per_bin(self)[source]

Likelihood per bin given the current model parameters

npred(self)[source]

Predicted source and background counts (Map).

plot_residuals(self, method='diff', smooth_kernel='gauss', smooth_radius='0.1 deg', region=None, figsize=(12, 4), **kwargs)[source]

Plot spatial and spectral residuals.

The spectral residuals are extracted from the provided region, and the normalization used for the residuals computation can be controlled using the norm parameter. If no region is passed, only the spatial residuals are shown.

Parameters:
method : {“diff”, “diff/model”, “diff/sqrt(model)”}

Method used to compute the residuals, see MapDataset.residuals()

smooth_kernel : {‘gauss’, ‘box’}

Kernel shape.

smooth_radius: `~astropy.units.Quantity`, str or float

Smoothing width given as quantity or float. If a float is given it is interpreted as smoothing width in pixels.

region: `~regions.Region`

Region (pixel or sky regions accepted)

figsize : tuple

Figure size used for the plotting.

**kwargs : dict

Keyword arguments passed to imshow.

Returns:
ax_image, ax_spec : Axes,

Image and spectrum axes.

classmethod read(filename, name='')[source]

Read map dataset from file.

Parameters:
filename : str

Filename to read from.

Returns:
dataset : MapDataset

Map dataset.

residuals(self, method='diff')[source]

Compute residuals map.

Parameters:
method: {“diff”, “diff/model”, “diff/sqrt(model)”}
Method used to compute the residuals. Available options are:
  • diff (default): data - model
  • diff/model: (data - model) / model
  • diff/sqrt(model): (data - model) / sqrt(model)
Returns:
residuals : gammapy.maps.WcsNDMap

Residual map.

stack(self, other)[source]

Stack another dataset in place.

Parameters:
other: `~gammapy.cube.MapDataset`

Map dataset to be stacked with this one.

to_dict(self, filename='')[source]

Convert to dict for YAML serialization.

to_hdulist(self)[source]

Convert map dataset to list of HDUs.

Returns:
hdulist : HDUList

Map dataset list of HDUs.

to_spectrum_dataset(self, on_region, containment_correction=False)[source]

Return a ~gammapy.spectrum.SpectrumDataset from on_region.

Counts and background are summed in the on_region.

Effective area is taken from the average exposure divided by the livetime. Here we assume it is the sum of the GTIs.

EnergyDispersion is obtained at the on_region center. Only regions with centers are supported.

Parameters:
on_region : SkyRegion

the input ON region on which to extract the spectrum

containment_correction : bool

Apply containment correction for point sources and circular on regions

Returns:
dataset : SpectrumDataset

the resulting reduced dataset

write(self, filename, overwrite=False)[source]

Write map dataset to file.

Parameters:
filename : str

Filename to write to.

overwrite : bool

Overwrite file if it exists.