GeneralizedGaussianSpatialModel#

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

Bases: gammapy.modeling.models.spatial.SpatialModel

Two-dimensional Generealized Gaussian model.

For more information see Generalized gaussian spatial model.

Parameters
lon_0, lat_0Angle

Center position

r_0Angle

Length of the major semiaxis, in angular units.

etafloat

Shape parameter whitin (0, 1]. Special cases for disk: ->0, Gaussian: 0.5, Laplace:1

efloat

Eccentricity (\(0< e< 1\)).

phiAngle

Rotation angle \(\phi\): of the major semiaxis. Increases counter-clockwise from the North direction.

frame{“icrs”, “galactic”}

Center position coordinate frame

Attributes Summary

covariance

default_parameters

e

A model parameter.

eta

A model parameter.

evaluation_bin_size_min

Minimal evaluation bin size (Angle).

evaluation_radius

Evaluation radius (Angle).

evaluation_region

Evaluation region consistent with evaluation radius

frozen

Frozen status of a model, True if all parameters are frozen

is_energy_dependent

lat_0

A model parameter.

lon_0

A model parameter.

parameters

Parameters (Parameters)

phi

A model parameter.

phi_0

position

Spatial model center position (SkyCoord)

position_error

Get 95% containment position error as (EllipseSkyRegion)

position_lonlat

Spatial model center position (lon, lat) in rad and frame of the model

r_0

A model parameter.

tag

type

Methods Summary

__call__(lon, lat[, energy])

Call evaluate method

copy(**kwargs)

evaluate(lon, lat, lon_0, lat_0, r_0, eta, ...)

evaluate_geom(geom)

Evaluate model on Geom

freeze()

Freeze all parameters

from_dict(data)

from_parameters(parameters, **kwargs)

Create model from parameter list

from_position(position, **kwargs)

Define the position of the model using a sky coord

integrate_geom(geom[, oversampling_factor])

Integrate model on Geom or RegionGeom.

plot([ax, geom])

Plot spatial model.

plot_error([ax])

Plot position error

plot_grid([geom])

Plot spatial model energy slices in a grid.

plot_interative([ax, geom])

Plot spatial model.

reassign(datasets_names, new_datasets_names)

Reassign a model from one dataset to another

to_dict([full_output])

Create dict for YAML serilisation

to_region([x_r_0])

Model outline at a given number of r_0.

unfreeze()

Restore parameters frozen status to default

Attributes Documentation

covariance#
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 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

valuefloat or Quantity

Value

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)

errorfloat

Parameter error

scan_minfloat

Minimum value for the parameter scan. Overwrites scan_n_sigma.

scan_maxfloat

Minimum value for the parameter scan. Overwrites scan_n_sigma.

scan_n_values: int

Number of values to be used for the parameter scan.

scan_n_sigmaint

Number of sigmas to scan.

scan_values: `numpy.array`

Scan values. Overwrites all of the scan keywords before.

scale_method{‘scale10’, ‘factor1’, None}

Method used to set factor and scale

interp{“lin”, “sqrt”, “log”}

Parameter scaling to use for the scan.

is_normbool

Whether the parameter represents the flux norm of the model.

eta#

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

valuefloat or Quantity

Value

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)

errorfloat

Parameter error

scan_minfloat

Minimum value for the parameter scan. Overwrites scan_n_sigma.

scan_maxfloat

Minimum value for the parameter scan. Overwrites scan_n_sigma.

scan_n_values: int

Number of values to be used for the parameter scan.

scan_n_sigmaint

Number of sigmas to scan.

scan_values: `numpy.array`

Scan values. Overwrites all of the scan keywords before.

scale_method{‘scale10’, ‘factor1’, None}

Method used to set factor and scale

interp{“lin”, “sqrt”, “log”}

Parameter scaling to use for the scan.

is_normbool

Whether the parameter represents the flux norm of the model.

evaluation_bin_size_min#

Minimal evaluation bin size (Angle).

The bin min size is defined as r_0/(3+8*eta)/(e+1).

evaluation_radius#

Evaluation radius (Angle). The evaluation radius is defined as r_eval = r_0*(1+8*eta) so it verifies: r_eval -> r_0 if eta -> 0 r_eval = 5*r_0 > 5*sigma_gauss = 5*r_0/sqrt(2) ~ 3.5*r_0 if eta=0.5 r_eval = 9*r_0 > 5*sigma_laplace = 5*sqrt(2)*r_0 ~ 7*r_0 if eta = 1 r_eval -> inf if eta -> inf

evaluation_region#

Evaluation region consistent with evaluation radius

frozen#

Frozen status of a model, True if all parameters are frozen

is_energy_dependent#
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

valuefloat or Quantity

Value

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)

errorfloat

Parameter error

scan_minfloat

Minimum value for the parameter scan. Overwrites scan_n_sigma.

scan_maxfloat

Minimum value for the parameter scan. Overwrites scan_n_sigma.

scan_n_values: int

Number of values to be used for the parameter scan.

scan_n_sigmaint

Number of sigmas to scan.

scan_values: `numpy.array`

Scan values. Overwrites all of the scan keywords before.

scale_method{‘scale10’, ‘factor1’, None}

Method used to set factor and scale

interp{“lin”, “sqrt”, “log”}

Parameter scaling to use for the scan.

is_normbool

Whether the parameter represents the flux norm of the model.

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

valuefloat or Quantity

Value

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)

errorfloat

Parameter error

scan_minfloat

Minimum value for the parameter scan. Overwrites scan_n_sigma.

scan_maxfloat

Minimum value for the parameter scan. Overwrites scan_n_sigma.

scan_n_values: int

Number of values to be used for the parameter scan.

scan_n_sigmaint

Number of sigmas to scan.

scan_values: `numpy.array`

Scan values. Overwrites all of the scan keywords before.

scale_method{‘scale10’, ‘factor1’, None}

Method used to set factor and scale

interp{“lin”, “sqrt”, “log”}

Parameter scaling to use for the scan.

is_normbool

Whether the parameter represents the flux norm of the model.

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 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

valuefloat or Quantity

Value

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)

errorfloat

Parameter error

scan_minfloat

Minimum value for the parameter scan. Overwrites scan_n_sigma.

scan_maxfloat

Minimum value for the parameter scan. Overwrites scan_n_sigma.

scan_n_values: int

Number of values to be used for the parameter scan.

scan_n_sigmaint

Number of sigmas to scan.

scan_values: `numpy.array`

Scan values. Overwrites all of the scan keywords before.

scale_method{‘scale10’, ‘factor1’, None}

Method used to set factor and scale

interp{“lin”, “sqrt”, “log”}

Parameter scaling to use for the scan.

is_normbool

Whether the parameter represents the flux norm of the model.

phi_0#
position#

Spatial model center position (SkyCoord)

position_error#

Get 95% containment position error as (EllipseSkyRegion)

position_lonlat#

Spatial model center position (lon, lat) in rad and frame of the model

r_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

valuefloat or Quantity

Value

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)

errorfloat

Parameter error

scan_minfloat

Minimum value for the parameter scan. Overwrites scan_n_sigma.

scan_maxfloat

Minimum value for the parameter scan. Overwrites scan_n_sigma.

scan_n_values: int

Number of values to be used for the parameter scan.

scan_n_sigmaint

Number of sigmas to scan.

scan_values: `numpy.array`

Scan values. Overwrites all of the scan keywords before.

scale_method{‘scale10’, ‘factor1’, None}

Method used to set factor and scale

interp{“lin”, “sqrt”, “log”}

Parameter scaling to use for the scan.

is_normbool

Whether the parameter represents the flux norm of the model.

tag = ['GeneralizedGaussianSpatialModel', 'gauss-general']#
type#

Methods Documentation

__call__(lon, lat, energy=None)#

Call evaluate method

copy(**kwargs)#
static evaluate(lon, lat, lon_0, lat_0, r_0, eta, e, phi)[source]#
evaluate_geom(geom)#

Evaluate model on Geom

Parameters
geomWcsGeom
Returns
Map
freeze()#

Freeze all parameters

classmethod from_dict(data)#
classmethod from_parameters(parameters, **kwargs)#

Create model from parameter list

Parameters
parametersParameters

Parameters for init

Returns
modelModel

Model instance

classmethod from_position(position, **kwargs)#

Define the position of the model using a sky coord

Parameters
positionSkyCoord

Position

Returns
modelSpatialModel

Spatial model

integrate_geom(geom, oversampling_factor=None)#

Integrate model on Geom or RegionGeom.

Integration is performed by simple rectangle approximation, the pixel center model value is multiplied by the pixel solid angle. An oversampling factor can be used for precision. By default, this parameter is set to None and an oversampling factor is automatically estimated based on the model estimation maximal bin width.

For a RegionGeom, the model is integrated on a tangent WCS projection in the region.

Parameters
geomWcsGeom or RegionGeom

The geom on which the integration is performed

oversampling_factorint or None

The oversampling factor to use for integration. Default is None: the factor is estimated from the model minimimal bin size

Returns
Map or gammapy.maps.RegionNDMap, containing

the integral value in each spatial bin.

plot(ax=None, geom=None, **kwargs)#

Plot spatial model.

Parameters
axAxes, optional

Axis

geomWcsGeom, optional

Geom to use for plotting.

**kwargsdict

Keyword arguments passed to plot()

Returns
axAxes, optional

Axis

plot_error(ax=None, **kwargs)#

Plot position error

Parameters
axAxes, optional

Axis

**kwargsdict

Keyword arguments passed to plot()

Returns
axAxes, optional

Axis

plot_grid(geom=None, **kwargs)#

Plot spatial model energy slices in a grid.

Parameters
geomWcsGeom, optional

Geom to use for plotting.

**kwargsdict

Keyword arguments passed to plot()

Returns
axAxes, optional

Axis

plot_interative(ax=None, geom=None, **kwargs)#

Plot spatial model.

Parameters
axAxes, optional

Axis

geomWcsGeom, optional

Geom to use for plotting.

**kwargsdict

Keyword arguments passed to plot()

Returns
axAxes, optional

Axis

reassign(datasets_names, new_datasets_names)#

Reassign a model from one dataset to another

Parameters
datasets_namesstr or list

Name of the datasets where the model is currently defined

new_datasets_namesstr or list

Name of the datasets where the model should be defined instead. If multiple names are given the two list must have the save length, as the reassignment is element-wise.

Returns
modelModel

Reassigned model.

to_dict(full_output=False)#

Create dict for YAML serilisation

to_region(x_r_0=1, **kwargs)[source]#

Model outline at a given number of r_0.

Parameters
x_r_0float

Number of r_0 (Default is 1).

Returns
regionEllipseSkyRegion

Model outline.

unfreeze()#

Restore parameters frozen status to default