ShellSpatialModel

class gammapy.modeling.models.ShellSpatialModel(**kwargs)[source]

Bases: gammapy.modeling.models.SpatialModel

Shell model.

\[\begin{split}\phi(lon, lat) = \frac{3}{2 \pi (r_{out}^3 - r_{in}^3)} \cdot \begin{cases} \sqrt{r_{out}^2 - \theta^2} - \sqrt{r_{in}^2 - \theta^2} & \text{for } \theta \lt r_{in} \\ \sqrt{r_{out}^2 - \theta^2} & \text{for } r_{in} \leq \theta \lt r_{out} \\ 0 & \text{for } \theta > r_{out} \end{cases}\end{split}\]

where \(\theta\) is the sky separation and \(r_{\text{out}} = r_{\text{in}}\) + width

Note that the normalization is a small angle approximation, although that approximation is still very good even for 10 deg radius shells.

Parameters:
lon_0, lat_0Angle

Center position

radiusAngle

Inner radius, \(r_{in}\)

widthAngle

Shell width

frame{“icrs”, “galactic”}

Center position coordinate frame

Attributes Summary

default_parameters
evaluation_radius Evaluation radius (Angle).
lat_0 A model parameter.
lon_0 A model parameter.
parameters Parameters (Parameters)
phi_0
position Spatial model center position
position_error Get 95% containment position error as (EllipseSkyRegion)
radius A model parameter.
tag
width A model parameter.

Methods Summary

__call__(self, lon, lat) Call evaluate method
copy(self) A deep copy.
create(tag, \*args, \*\*kwargs) Create a model instance.
evaluate(lon, lat, lon_0, lat_0, radius, width) Evaluate model.
evaluate_geom(self, geom) Evaluate model on Geom.
from_dict(data)
to_dict(self) Create dict for YAML serilisation
to_region(self, \*\*kwargs) Model outline (CircleAnnulusSkyRegion).

Attributes Documentation

default_parameters = <gammapy.modeling.parameter.Parameters object>
evaluation_radius

Evaluation radius (Angle).

Set to \(r_\text{out}\).

lat_0

A model parameter.

Note that the parameter value has been split into a factor and scale like this:

value = factor x scale

Users should interact with the value, quantity or min and max properties and consider the fact that there is a factor` and scale an implementation detail.

That was introduced for numerical stability in parameter and error estimation methods, only in the Gammapy optimiser interface do we interact with the factor, factor_min and factor_max properties, i.e. the optimiser “sees” the well-scaled problem.

Parameters:
namestr

Name

factorfloat or Quantity

Factor

scalefloat, optional

Scale (sometimes used in fitting)

unitUnit or str, optional

Unit

minfloat, optional

Minimum (sometimes used in fitting)

maxfloat, optional

Maximum (sometimes used in fitting)

frozenbool, optional

Frozen? (used in fitting)

lon_0

A model parameter.

Note that the parameter value has been split into a factor and scale like this:

value = factor x scale

Users should interact with the value, quantity or min and max properties and consider the fact that there is a factor` and scale an implementation detail.

That was introduced for numerical stability in parameter and error estimation methods, only in the Gammapy optimiser interface do we interact with the factor, factor_min and factor_max properties, i.e. the optimiser “sees” the well-scaled problem.

Parameters:
namestr

Name

factorfloat or Quantity

Factor

scalefloat, optional

Scale (sometimes used in fitting)

unitUnit or str, optional

Unit

minfloat, optional

Minimum (sometimes used in fitting)

maxfloat, optional

Maximum (sometimes used in fitting)

frozenbool, optional

Frozen? (used in fitting)

parameters

Parameters (Parameters)

phi_0
position

Spatial model center position

position_error

Get 95% containment position error as (EllipseSkyRegion)

radius

A model parameter.

Note that the parameter value has been split into a factor and scale like this:

value = factor x scale

Users should interact with the value, quantity or min and max properties and consider the fact that there is a factor` and scale an implementation detail.

That was introduced for numerical stability in parameter and error estimation methods, only in the Gammapy optimiser interface do we interact with the factor, factor_min and factor_max properties, i.e. the optimiser “sees” the well-scaled problem.

Parameters:
namestr

Name

factorfloat or Quantity

Factor

scalefloat, optional

Scale (sometimes used in fitting)

unitUnit or str, optional

Unit

minfloat, optional

Minimum (sometimes used in fitting)

maxfloat, optional

Maximum (sometimes used in fitting)

frozenbool, optional

Frozen? (used in fitting)

tag = 'ShellSpatialModel'
width

A model parameter.

Note that the parameter value has been split into a factor and scale like this:

value = factor x scale

Users should interact with the value, quantity or min and max properties and consider the fact that there is a factor` and scale an implementation detail.

That was introduced for numerical stability in parameter and error estimation methods, only in the Gammapy optimiser interface do we interact with the factor, factor_min and factor_max properties, i.e. the optimiser “sees” the well-scaled problem.

Parameters:
namestr

Name

factorfloat or Quantity

Factor

scalefloat, optional

Scale (sometimes used in fitting)

unitUnit or str, optional

Unit

minfloat, optional

Minimum (sometimes used in fitting)

maxfloat, optional

Maximum (sometimes used in fitting)

frozenbool, optional

Frozen? (used in fitting)

Methods Documentation

__call__(self, lon, lat)

Call evaluate method

copy(self)

A deep copy.

static create(tag, *args, **kwargs)

Create a model instance.

Examples

>>> from gammapy.modeling import Model
>>> spectral_model = Model.create("PowerLaw2SpectralModel", amplitude="1e-10 cm-2 s-1", index=3)
>>> type(spectral_model)
gammapy.modeling.models.spectral.PowerLaw2SpectralModel
static evaluate(lon, lat, lon_0, lat_0, radius, width)[source]

Evaluate model.

evaluate_geom(self, geom)

Evaluate model on Geom.

classmethod from_dict(data)
to_dict(self)

Create dict for YAML serilisation

to_region(self, **kwargs)[source]

Model outline (CircleAnnulusSkyRegion).