Point Spatial Model

This model is a delta function centered in lon_0 and lat_0 parameters provided:

\[\phi(lon, lat) = \delta{(lon - lon_0, lat - lat_0)}\]

The model is defined on the celestial sphere in the coordinate frame provided by the user.

If the point source is not centered on a pixel, the flux is re-distributed across 4 neighbouring pixels. This ensured that the center of mass position is conserved.

Example plot

Here is an example plot of the model:

from astropy.coordinates import SkyCoord
from gammapy.maps import WcsGeom
from gammapy.modeling.models import (
    Models,
    PointSpatialModel,
    PowerLawSpectralModel,
    SkyModel,
)

model = PointSpatialModel(lon_0="0.01 deg", lat_0="0.01 deg", frame="galactic",)

geom = WcsGeom.create(
    skydir=SkyCoord("0d 0d", frame="galactic"), width=(1, 1), binsz=0.1
)
model.plot(geom=geom, add_cbar=True)
../../../_images/sphx_glr_plot_point_001.png

YAML representation

Here is an example YAML file using the model:

pwl = PowerLawSpectralModel()
point = PointSpatialModel()

model = SkyModel(spectral_model=pwl, spatial_model=point, name="pwl-point-model")
models = Models([model])

print(models.to_yaml())

Out:

components:
-   name: pwl-point-model
    type: SkyModel
    spectral:
        type: PowerLawSpectralModel
        parameters:
        - {name: index, value: 2.0, unit: '', min: .nan, max: .nan, frozen: false,
            error: 0}
        - {name: amplitude, value: 1.0e-12, unit: cm-2 s-1 TeV-1, min: .nan, max: .nan,
            frozen: false, error: 0}
        - {name: reference, value: 1.0, unit: TeV, min: .nan, max: .nan, frozen: true,
            error: 0}
    spatial:
        type: PointSpatialModel
        frame: icrs
        parameters:
        - {name: lon_0, value: 0.0, unit: deg, min: .nan, max: .nan, frozen: false,
            error: 0}
        - {name: lat_0, value: 0.0, unit: deg, min: -90.0, max: 90.0, frozen: false,
            error: 0}

Gallery generated by Sphinx-Gallery