GaussianSpatialModel¶
-
class
gammapy.modeling.models.
GaussianSpatialModel
(**kwargs)[source]¶ Bases:
gammapy.modeling.models.SpatialModel
Two-dimensional Gaussian model.
By default, the Gaussian is symmetric:
\[\phi(\text{lon}, \text{lat}) = N \times \exp\left\{-\frac{1}{2} \frac{1-\cos \theta}{1-\cos \sigma}\right\}\,,\]where \(\theta\) is the sky separation to the model center. In this case, the Gaussian is normalized to 1 on the sphere:
\[N = \frac{1}{4\pi a\left[1-\exp(-1/a)\right]}\,,\,\,\,\, a = 1-\cos \sigma\,.\]In the limit of small \(\theta\) and \(\sigma\), this definition reduces to the usual form:
\[\phi(\text{lon}, \text{lat}) = \frac{1}{2\pi\sigma^2} \exp{\left(-\frac{1}{2} \frac{\theta^2}{\sigma^2}\right)}\,.\]In case an eccentricity (\(e\)) and rotation angle (\(\phi\)) are passed, then the model is an elongated Gaussian, whose evaluation is performed as in the symmetric case but using the effective radius of the Gaussian:
\[\sigma_{eff}(\text{lon}, \text{lat}) = \sqrt{ (\sigma_M \sin(\Delta \phi))^2 + (\sigma_m \cos(\Delta \phi))^2 }.\]Here, \(\sigma_M\) (\(\sigma_m\)) is the major (minor) semiaxis of the Gaussian, and \(\Delta \phi\) is the difference between
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: \(N = 1/(2 \pi \sigma_M \sigma_m)\). This means that for huge elongated Gaussians on the sky this model is not correctly normalized. However, this approximation is perfectly acceptable for the more common case of models with modest dimensions: indeed, the error introduced by normalizing on the plane rather than on the sphere is below 0.1% for Gaussians with radii smaller than ~ 5 deg.
- Parameters
- lon_0, lat_0
Angle
Center position
- sigma
Angle
Length of the major semiaxis of the Gaussian, in angular units.
- e
float
Eccentricity of the Gaussian (\(0< e< 1\)).
- phi
Angle
Rotation angle \(\phi\): of the major semiaxis. Increases counter-clockwise from the North direction.
- frame{“icrs”, “galactic”}
Center position coordinate frame
- lon_0, lat_0
Attributes Summary
A model parameter.
Evaluation radius (
Angle
).A model parameter.
A model parameter.
Parameters (
Parameters
)A model parameter.
Spatial model center position
Get 95% containment position error as (
EllipseSkyRegion
)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, sigma, e, phi)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 (
EllipseSkyRegion
).Attributes Documentation
-
default_parameters
= <gammapy.modeling.parameter.Parameters object>¶
-
e
¶ 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
ormin
andmax
properties and consider the fact that there is afactor`
andscale
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
andfactor_max
properties, i.e. the optimiser “sees” the well-scaled problem.
-
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
ormin
andmax
properties and consider the fact that there is afactor`
andscale
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
andfactor_max
properties, i.e. the optimiser “sees” the well-scaled problem.
-
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
ormin
andmax
properties and consider the fact that there is afactor`
andscale
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
andfactor_max
properties, i.e. the optimiser “sees” the well-scaled problem.
-
parameters
¶ Parameters (
Parameters
)
-
phi
¶ 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
ormin
andmax
properties and consider the fact that there is afactor`
andscale
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
andfactor_max
properties, i.e. the optimiser “sees” the well-scaled problem.
-
phi_0
¶
-
position
¶ Spatial model center position
-
position_error
¶ Get 95% containment position error as (
EllipseSkyRegion
)
-
sigma
¶ 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
ormin
andmax
properties and consider the fact that there is afactor`
andscale
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
andfactor_max
properties, i.e. the optimiser “sees” the well-scaled problem.
-
tag
= 'GaussianSpatialModel'¶
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
-
classmethod
from_dict
(data)¶
-
to_dict
(self)¶ Create dict for YAML serilisation
-
to_region
(self, **kwargs)[source]¶ Model outline (
EllipseSkyRegion
).