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)
plot template

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

Gallery generated by Sphinx-Gallery