TemplateSpatialModel#

class gammapy.modeling.models.TemplateSpatialModel[source]#

Bases: SpatialModel

Spatial sky map template model.

For more information see Template spatial model. By default, the position of the model is fixed at the center of the map. The position can be fitted by unfreezing the lon_0 and lat_0 parameters. In that case, the coordinate of every pixel is shifted in lon and lat in the frame of the map. NOTE: planar distances are calculated, so the results are correct only when the fitted position is close to the map center.

Parameters:
mapMap

Map template.

metadict, optional

Meta information, meta[‘filename’] will be used for serialisation.

normalizebool

Normalize the input map so that it integrates to unity.

interp_kwargsdict

Interpolation keyword arguments passed to gammapy.maps.Map.interp_by_coord. Default arguments are {‘method’: ‘linear’, ‘fill_value’: 0, “values_scale”: “log”}.

filenamestr

Name of the map file.

copy_databool

Create a deepcopy of the map data or directly use the original. Default is True. Use False to save memory in case of large maps.

**kwargsdict

Keyword arguments forwarded to SpatialModel.__init__.

Attributes Summary

default_parameters

evaluation_radius

Evaluation radius as an Angle.

is_energy_dependent

lat_0

A model parameter.

lon_0

A model parameter.

map

Template map as a Map object.

map_center

position_lonlat

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

tag

Methods Summary

copy([copy_data])

Copy model.

evaluate(lon, lat[, energy, lon_0, lat_0])

Evaluate the model at given coordinates.

from_dict(data)

Create a spatial model from a dictionary.

plot([ax, geom])

Plot spatial model.

plot_interactive([ax, geom])

Plot spatial model.

read(filename[, normalize])

Read spatial template model from FITS image.

to_dict([full_output])

Create dictionary for YAML serialisation.

to_region(**kwargs)

Model outline from template map boundary as a RectangleSkyRegion.

write([overwrite, filename])

Write the map.

Attributes Documentation

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

Evaluation radius as an Angle.

Set to half of the maximal dimension of the map.

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. Default is “”.

minfloat, str or quantity, optional

Minimum (sometimes used in fitting). If None, set to numpy.nan. Default is None.

maxfloat, str or quantity, optional

Maximum (sometimes used in fitting). Default is numpy.nan.

frozenbool, optional

Frozen (used in fitting). Default is False.

errorfloat, optional

Parameter error. Default is 0.

scan_minfloat, optional

Minimum value for the parameter scan. Overwrites scan_n_sigma. Default is None.

scan_maxfloat, optional

Maximum value for the parameter scan. Overwrites scan_n_sigma. Default is None.

scan_n_values: int, optional

Number of values to be used for the parameter scan. Default is 11.

scan_n_sigmaint, optional

Number of sigmas to scan. Default is 2.

scan_values: `numpy.array`, optional

Scan values. Overwrites all the scan keywords before. Default is None.

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

Method used to set factor and scale. Default is “scale10”.

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

Parameter scaling to use for the scan. Default is “lin”.

priorPrior, optional

Prior set on the parameter. Default is None.

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. Default is “”.

minfloat, str or quantity, optional

Minimum (sometimes used in fitting). If None, set to numpy.nan. Default is None.

maxfloat, str or quantity, optional

Maximum (sometimes used in fitting). Default is numpy.nan.

frozenbool, optional

Frozen (used in fitting). Default is False.

errorfloat, optional

Parameter error. Default is 0.

scan_minfloat, optional

Minimum value for the parameter scan. Overwrites scan_n_sigma. Default is None.

scan_maxfloat, optional

Maximum value for the parameter scan. Overwrites scan_n_sigma. Default is None.

scan_n_values: int, optional

Number of values to be used for the parameter scan. Default is 11.

scan_n_sigmaint, optional

Number of sigmas to scan. Default is 2.

scan_values: `numpy.array`, optional

Scan values. Overwrites all the scan keywords before. Default is None.

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

Method used to set factor and scale. Default is “scale10”.

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

Parameter scaling to use for the scan. Default is “lin”.

priorPrior, optional

Prior set on the parameter. Default is None.

map#

Template map as a Map object.

map_center#
position_lonlat#

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

tag = ['TemplateSpatialModel', 'template']#

Methods Documentation

copy(copy_data=False, **kwargs)[source]#

Copy model.

Parameters:
copy_databool

Whether to copy the data. Default is False.

**kwargsdict

Keyword arguments forwarded to TemplateSpatialModel.

Returns:
modelTemplateSpatialModel

Copied template spatial model.

evaluate(lon, lat, energy=None, lon_0=None, lat_0=None)[source]#

Evaluate the model at given coordinates.

Note that, if the map data assume negative values, these are clipped to zero.

classmethod from_dict(data)[source]#

Create a spatial model from a dictionary.

Parameters:
datadict

Dictionary containing model parameters.

kwargsdict

Keyword arguments passed to from_parameters.

plot(ax=None, geom=None, **kwargs)[source]#

Plot spatial model.

Parameters:
axAxes, optional

Matplotlib axes. Default is None.

geomWcsGeom, optional

Geometry to use for plotting. Default is None.

**kwargsdict

Keyword arguments passed to plot().

Returns:
axAxes, optional

Matplotlib axes.

plot_interactive(ax=None, geom=None, **kwargs)[source]#

Plot spatial model.

Parameters:
axAxes, optional

Matplotlib axes. Default is None.

geomWcsGeom, optional

Geom to use for plotting. Default is None.

**kwargsdict

Keyword arguments passed to plot().

Returns:
axAxes, optional

Matplotlib axes.

classmethod read(filename, normalize=True, **kwargs)[source]#

Read spatial template model from FITS image.

If unit is not given in the FITS header the default is sr-1.

Parameters:
filenamestr

FITS image filename.

normalizebool

Normalize the input map so that it integrates to unity.

kwargsdict

Keyword arguments passed to Map.read().

to_dict(full_output=False)[source]#

Create dictionary for YAML serialisation.

to_region(**kwargs)[source]#

Model outline from template map boundary as a RectangleSkyRegion.

write(overwrite=False, filename=None)[source]#

Write the map.

Parameters:
overwritebool, optional

Overwrite existing file. Default is False, which will raise a warning if the template file exists already.

filenamestr, optional

Filename of the template model. By default, the template model will be saved with the TemplateSpatialModel.filename attribute, if filename is provided this attribute will be updated.

__init__(map, meta=None, normalize=True, interp_kwargs=None, filename=None, copy_data=True, **kwargs)[source]#
classmethod __new__(*args, **kwargs)#