Note
Click here to download the full example code
Template spatial model#
This is a spatial model based on a 2D sky map provided as a template.
Example plot#
Here is an example plot of the model:
from gammapy.maps import Map
from gammapy.modeling.models import (
Models,
PowerLawSpectralModel,
SkyModel,
TemplateSpatialModel,
)
filename = "$GAMMAPY_DATA/catalogs/fermi/Extended_archive_v18/Templates/RXJ1713_2016_250GeV.fits"
m = Map.read(filename)
m = m.copy(unit="sr^-1")
model = TemplateSpatialModel(m, filename=filename)
model.plot(add_cbar=True)
Out:
/Users/terrier/Code/anaconda3/envs/gammapy-dev/lib/python3.8/site-packages/astropy/wcs/wcs.py:489: FITSFixedWarning: RADECSYS= 'FK5'
the RADECSYS keyword is deprecated, use RADESYSa.
wcsprm = _wcs.Wcsprm(header=header_bytes, key=key,
/Users/terrier/Code/anaconda3/envs/gammapy-dev/lib/python3.8/site-packages/astropy/wcs/wcs.py:713: FITSFixedWarning: 'celfix' made the change 'Success'.
warnings.warn(
YAML representation#
Here is an example YAML file using the model:
pwl = PowerLawSpectralModel()
template = TemplateSpatialModel(m, filename=filename)
model = SkyModel(spectral_model=pwl, spatial_model=template, name="pwl-template-model")
models = Models([model])
print(models.to_yaml())
Out:
Template file already exits, and overwrite is False
components:
- name: pwl-template-model
type: SkyModel
spectral:
type: PowerLawSpectralModel
parameters:
- name: index
value: 2.0
- name: amplitude
value: 1.0e-12
unit: cm-2 s-1 TeV-1
- name: reference
value: 1.0
unit: TeV
frozen: true
spatial:
type: TemplateSpatialModel
frame: fk5
parameters: []
filename: /Users/terrier/Code/gammapy-dev/gammapy-data/catalogs/fermi/Extended_archive_v18/Templates/RXJ1713_2016_250GeV.fits
normalize: true
unit: 1 / sr