Modeling and Fitting (DL4 to DL5)#

gammapy.modeling contains all the functionality related to modeling and fitting data. This includes spectral, spatial and temporal model classes, as well as the fit and parameter API.

Assuming you have prepared your gamma-ray data as a set of Dataset objects, and stored one or more datasets in a Datasets container, you are all set for modeling and fitting. Either via a YAML config file, or via Python code, define the Models to use, which is a list of SkyModel objects representing additive emission components, usually sources or diffuse emission, although a single source can also be modeled by multiple components if you want. The SkyModel is a factorised model with a SpectralModel component and a SpatialModel component. Most commonly used models in gamma-ray astronomy are built-in, see the Model gallery. It is easy to create user-defined models and datasets, Gammapy is very flexible.

The Fit class provides methods to fit, i.e. optimise parameters and estimate parameter errors and correlations. It interfaces with a Datasets object, which in turn is connected to a Models object, which has a Parameters object, which contains the model parameters. Currently iminuit is used as modeling and fitting backend, in the future we plan to support other optimiser and error estimation methods, e.g. from scipy. Models can be unique for a given dataset, or contribute to multiple datasets and thus provide links, allowing e.g. to do a joint fit to multiple IACT datasets, or to a joint IACT and Fermi-LAT dataset. Many examples are given in the tutorials.

Built-in models#

Gammapy provides a large choice of spatial, spectral and temporal models. You may check out the whole list of built-in models in the Model gallery.

Custom models#

Gammapy provides an easy interface to create your own custom models

Using gammapy.modeling#

Gammapy tutorial notebooks that show examples using gammapy.modeling: