Note
Go to the end to download the full example code or to run this example in your browser via Binder
Gaussian spatial model#
This is a spatial model parametrising a Gaussian function.
By default, the Gaussian is symmetric:
where
In the limit of small
In case an eccentricity (
Here, phi
, the position angle of the Gaussian, and the
position angle of the evaluation point.
Caveat: For the asymmetric Gaussian, the model is normalized to 1 on the plane, i.e. in small angle
approximation:
Example plot#
Here is an example plot of the model:
import numpy as np
from astropy.coordinates import Angle
from gammapy.maps import WcsGeom
from gammapy.modeling.models import (
GaussianSpatialModel,
Models,
PowerLawSpectralModel,
SkyModel,
)
phi = Angle("30 deg")
model = GaussianSpatialModel(
lon_0="2 deg",
lat_0="2 deg",
sigma="1 deg",
e=0.7,
phi=phi,
frame="galactic",
)
geom = WcsGeom.create(
skydir=model.position, frame=model.frame, width=(4, 4), binsz=0.02
)
ax = model.plot(geom=geom, add_cbar=True)
# illustrate size parameter
region = model.to_region().to_pixel(ax.wcs)
artist = region.as_artist(facecolor="none", edgecolor="red")
ax.add_artist(artist)
transform = ax.get_transform("galactic")
ax.scatter(2, 2, transform=transform, s=20, edgecolor="red", facecolor="red")
ax.text(1.5, 1.85, r"$(l_0, b_0)$", transform=transform, ha="center")
ax.plot([2, 2 + np.sin(phi)], [2, 2 + np.cos(phi)], color="r", transform=transform)
ax.vlines(x=2, color="r", linestyle="--", transform=transform, ymin=-5, ymax=5)
ax.text(2.25, 2.45, r"$\phi$", transform=transform)

Text(2.25, 2.45, '$\\phi$')
YAML representation#
Here is an example YAML file using the model:
pwl = PowerLawSpectralModel()
gauss = GaussianSpatialModel()
model = SkyModel(spectral_model=pwl, spatial_model=gauss, name="pwl-gauss-model")
models = Models([model])
print(models.to_yaml())
components:
- name: pwl-gauss-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
spatial:
type: GaussianSpatialModel
frame: icrs
parameters:
- name: lon_0
value: 0.0
unit: deg
- name: lat_0
value: 0.0
unit: deg
- name: sigma
value: 1.0
unit: deg
- name: e
value: 0.0
- name: phi
value: 0.0
unit: deg
metadata:
creator: Gammapy 1.2
date: '2024-02-29T10:21:48.309624'
origin: null