TemplateSpatialModel#
- class gammapy.modeling.models.TemplateSpatialModel(map, meta=None, normalize=True, interp_kwargs=None, filename=None, copy_data=True, **kwargs)[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
andlat_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:
- map
Map
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__
.
- map
Attributes Summary
Evaluation radius as an
Angle
.Evaluation region.
Frozen status of a model, True if all parameters are frozen.
A model parameter.
A model parameter.
Template map as a
Map
object.Parameters as a
Parameters
object.Spatial model center position as a
SkyCoord
.Get 95% containment position error as
EllipseSkyRegion
.Spatial model center position
(lon, lat)
in radians and frame of the model.Methods Summary
__call__
(lon, lat[, energy])Call evaluate method.
copy
([copy_data])Copy model.
evaluate
(lon, lat[, energy, lon_0, lat_0])Evaluate the model at given coordinates.
evaluate_geom
(geom)Evaluate model on
Geom
.freeze
()Freeze all parameters.
from_dict
(data)Create a spatial model from a dictionary.
from_parameters
(parameters, **kwargs)Create model from parameter list.
from_position
(position, **kwargs)Define the position of the model using a
SkyCoord
.integrate_geom
(geom[, oversampling_factor])Integrate model on
Geom
orRegionGeom
.plot
([ax, geom])Plot spatial model.
plot_error
([ax, which, kwargs_position, ...])Plot the errors of the spatial model.
plot_grid
([geom])Plot spatial model energy slices in a grid.
plot_interactive
([ax, geom])Plot spatial model.
plot_position_error
([ax])Plot position error.
read
(filename[, normalize])Read spatial template model from FITS image.
reassign
(datasets_names, new_datasets_names)Reassign a model from one dataset to another.
to_dict
([full_output])Create dictionary for YAML serilisation.
to_region
(**kwargs)Model outline from template map boundary as a
RectangleSkyRegion
.unfreeze
()Restore parameters frozen status to default.
write
([overwrite, filename])Write the map.
Attributes Documentation
- covariance#
- default_parameters = <gammapy.modeling.parameter.Parameters object>#
- evaluation_bin_size_min#
- evaluation_region#
Evaluation region.
- 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
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:
- namestr
Name.
- valuefloat or
Quantity
Value.
- scalefloat, optional
Scale (sometimes used in fitting).
- unit
Unit
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 the scan keywords before.
- scale_method{‘scale10’, ‘factor1’, None}
Method used to set
factor
andscale
.- interp{“lin”, “sqrt”, “log”}
Parameter scaling to use for the scan.
- prior
Prior
Prior set on the parameter.
- 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:
- namestr
Name.
- valuefloat or
Quantity
Value.
- scalefloat, optional
Scale (sometimes used in fitting).
- unit
Unit
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 the scan keywords before.
- scale_method{‘scale10’, ‘factor1’, None}
Method used to set
factor
andscale
.- interp{“lin”, “sqrt”, “log”}
Parameter scaling to use for the scan.
- prior
Prior
Prior set on the parameter.
- map_center#
- parameters#
Parameters as a
Parameters
object.
- parameters_unique_names#
- phi_0#
- position_error#
Get 95% containment position error as
EllipseSkyRegion
.
- position_lonlat#
Spatial model center position
(lon, lat)
in radians and frame of the model.
- tag = ['TemplateSpatialModel', 'template']#
- type#
Methods Documentation
- __call__(lon, lat, energy=None)#
Call evaluate method.
- 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:
- model
TemplateSpatialModel
Copied template spatial model.
- 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.
- freeze()#
Freeze all parameters.
- 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
.
- classmethod from_parameters(parameters, **kwargs)#
Create model from parameter list.
- Parameters:
- parameters
Parameters
Parameters for init.
- parameters
- Returns:
- model
Model
Model instance.
- model
- classmethod from_position(position, **kwargs)#
Define the position of the model using a
SkyCoord
.The model will be created in the frame of the
SkyCoord
.- Parameters:
- position
SkyCoord
Position.
- position
- Returns:
- model
SpatialModel
Spatial model.
- model
- integrate_geom(geom, oversampling_factor=None)#
Integrate model on
Geom
orRegionGeom
.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:
- geom
WcsGeom
orRegionGeom
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 minimal bin size.
- geom
- Returns:
- map
Map
orgammapy.maps.RegionNDMap
Map containing the integral value in each spatial bin.
- map
- plot_error(ax=None, which='position', kwargs_position=None, kwargs_extension=None)#
Plot the errors of the spatial model.
- Parameters:
- ax
Axes
, optional Matplotlib axes to plot the errors on. Default is None.
- which: list of str
Which errors to plot. Available options are:
“all”: all the optional steps are plotted
“position”: plot the position error of the spatial model
“extension”: plot the extension error of the spatial model
- kwargs_positiondict, optional
Keyword arguments passed to
plot_position_error
. Default is None.- kwargs_extensiondict, optional
Keyword arguments passed to
plot_extension_error
. Default is None.
- ax
- Returns:
- ax
Axes
, optional Matplotlib axes.
- ax
- plot_grid(geom=None, **kwargs)#
Plot spatial model energy slices in a grid.
- plot_position_error(ax=None, **kwargs)#
Plot position error.
- 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()
.
- 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:
- model
Model
Reassigned model.
- model
- to_region(**kwargs)[source]#
Model outline from template map boundary as a
RectangleSkyRegion
.
- unfreeze()#
Restore parameters frozen status to default.
- write(overwrite=False, filename=None)[source]#
Write the map.
- Parameters:
- overwrite: bool, optional
Overwrite existing file. Default is False, which will raise a warning if the template file exists already.
- filename: str, optional
Filename of the template model. By default, the template model will be saved with the
TemplateSpatialModel.filename
attribute, iffilename
is provided this attribute will be updated.