SkyModel#

class gammapy.modeling.models.SkyModel(spectral_model, spatial_model=None, temporal_model=None, name=None, apply_irf=None, datasets_names=None)[source]#

Bases: gammapy.modeling.models.core.ModelBase

Sky model component.

This model represents a factorised sky model. It has Parameters combining the spatial and spectral parameters.

Parameters
spectral_modelSpectralModel

Spectral model

spatial_modelSpatialModel

Spatial model (must be normalised to integrate to 1)

temporal_modeltemporalModel

Temporal model

namestr

Model identifier

apply_irfdict

Dictionary declaring which IRFs should be applied to this model. Options are {“exposure”: True, “psf”: True, “edisp”: True}

datasets_nameslist of str

Which datasets this model is applied to.

Attributes Summary

covariance

default_parameters

evaluation_bin_size_min

Minimal spatial bin size for spatial model evaluation.

evaluation_radius

Angle

evaluation_region

Angle

frame

frozen

Frozen status of a model, True if all parameters are frozen

name

parameters

Parameters (Parameters)

position

SkyCoord

position_lonlat

Spatial model center position (lon, lat) in rad and frame of the model

spatial_model

SpatialModel

spectral_model

SpectralModel

tag

temporal_model

TemporalModel

type

Methods Summary

__call__(lon, lat, energy[, time])

Call self as a function.

contributes(mask[, margin])

Check if a skymodel contributes within a mask map.

copy(**kwargs)

create(spectral_model[, spatial_model, ...])

Create a model instance.

evaluate(lon, lat, energy[, time])

Evaluate the model at given points.

evaluate_geom(geom[, gti])

Evaluate model on Geom.

freeze([model_type])

Freeze parameters depending on model type

from_dict(data)

Create SkyModel from dict

from_parameters(parameters, **kwargs)

Create model from parameter list

integrate_geom(geom[, gti, oversampling_factor])

Integrate model on Geom.

reassign(datasets_names, new_datasets_names)

Reassign a model from one dataset to another

to_dict([full_output])

Create dict for YAML serilisation

unfreeze([model_type])

Restore parameters frozen status to default depending on model type

Attributes Documentation

covariance#
default_parameters = <gammapy.modeling.parameter.Parameters object>#
evaluation_bin_size_min#

Minimal spatial bin size for spatial model evaluation.

evaluation_radius#

Angle

evaluation_region#

Angle

frame#
frozen#

Frozen status of a model, True if all parameters are frozen

name#
parameters#
position#

SkyCoord

position_lonlat#

Spatial model center position (lon, lat) in rad and frame of the model

spatial_model#

SpatialModel

spectral_model#

SpectralModel

tag = ['SkyModel', 'sky-model']#
temporal_model#

TemporalModel

type#

Methods Documentation

__call__(lon, lat, energy, time=None)[source]#

Call self as a function.

contributes(mask, margin='0 deg')[source]#

Check if a skymodel contributes within a mask map.

Parameters
maskWcsNDMap of boolean type

Map containing a boolean mask

marginQuantity

Add a margin in degree to the source evaluation radius. Used to take into account PSF width.

Returns
modelsDatasetModels

Selected models contributing inside the region where mask==True

copy(**kwargs)#
classmethod create(spectral_model, spatial_model=None, temporal_model=None, **kwargs)[source]#

Create a model instance.

Parameters
spectral_modelstr

Tag to create spectral model

spatial_modelstr

Tag to create spatial model

temporal_modelstr

Tag to create temporal model

**kwargsdict

Keyword arguments passed to SkyModel

Returns
modelSkyModel

Sky model

evaluate(lon, lat, energy, time=None)[source]#

Evaluate the model at given points.

The model evaluation follows numpy broadcasting rules.

Return differential surface brightness cube. At the moment in units: cm-2 s-1 TeV-1 deg-2

Parameters
lon, latQuantity

Spatial coordinates

energyQuantity

Energy coordinate

time: `~astropy.time.Time`

Time coordinate

Returns
valueQuantity

Model value at the given point.

evaluate_geom(geom, gti=None)[source]#

Evaluate model on Geom.

freeze(model_type=None)[source]#

Freeze parameters depending on model type

Parameters
model_type{None, “spatial”, “spectral”, “temporal”}

freeze all parameters or only or only spatial/spectral/temporal. Default is None so all parameters are frozen.

classmethod from_dict(data)[source]#

Create SkyModel from dict

classmethod from_parameters(parameters, **kwargs)#

Create model from parameter list

Parameters
parametersParameters

Parameters for init

Returns
modelModel

Model instance

integrate_geom(geom, gti=None, oversampling_factor=None)[source]#

Integrate model on Geom.

See integrate_geom and integral.

Parameters
geomGeom or RegionGeom

Map geometry

gtiGTI

GIT table

oversampling_factorint or None

The oversampling factor to use for spatial integration. Default is None: the factor is estimated from the model minimal bin size

Returns
fluxMap

Predicted flux map

reassign(datasets_names, new_datasets_names)#

Reassign a model from one dataset to another

Parameters
datasets_namesstr or list

Name of the datasets where the model is currently defined

new_datasets_namesstr or list

Name of the datasets where the model should be defined instead. If multiple names are given the two list must have the save length, as the reassignment is element-wise.

Returns
modelModel

Reassigned model.

to_dict(full_output=False)[source]#

Create dict for YAML serilisation

unfreeze(model_type=None)[source]#

Restore parameters frozen status to default depending on model type

Parameters
model_type{None, “spatial”, “spectral”, “temporal”}

restore frozen status to default for all parameters or only spatial/spectral/temporal Default is None so all parameters are restore to default frozen status.