DatasetModels#

class gammapy.modeling.models.DatasetModels(models=None, covariance_data=None)[source]#

Bases: collections.abc.Sequence

Immutable models container.

Parameters
modelsSkyModel, list of SkyModel or Models

Sky models.

covariance_datandarray

Covariance data.

Attributes Summary

covariance

Covariance as a Covariance object.

frozen

Boolean mask, True if all parameters of a given model are frozen.

names

List of model names.

parameters

Parameters as a Parameters object.

parameters_unique_names

List of unique parameter names.

positions

Positions of the models as a SkyCoord.

wcs_geom

Minimum WCS geom in which all the models are contained.

Methods Summary

copy([copy_data])

Deep copy.

count(value)

freeze([model_type])

Freeze parameters depending on model type.

from_dict(data[, path])

Create from dictionary.

from_yaml(yaml_str[, path, checksum])

Create from YAML string.

index(value, [start, [stop]])

Raises ValueError if the value is not present.

plot_positions([ax])

Plot the centers of the spatial models on a given WCS axis.

plot_regions([ax, kwargs_point, path_effect])

Plot extent of the spatial models on a given WCS axis.

read(filename[, checksum])

Read from YAML file.

read_covariance(path[, filename])

Read covariance data from file.

reassign(dataset_name, new_dataset_name)

Reassign a model from one dataset to another.

restore_status([restore_values])

Context manager to restore status.

select([name_substring, datasets_names, ...])

Select models that meet all specified conditions.

select_from_geom(geom, **kwargs)

Select models that fall inside a given geometry.

select_mask(mask[, margin, ...])

Check if sky models contribute within a mask map.

select_region(regions[, wcs])

Select sky models with center position contained within a given region.

selection_mask([name_substring, ...])

Create a mask of models, that meet all specified conditions.

set_parameters_bounds(tag, model_type[, ...])

Set bounds for the selected models types and parameters names.

to_dict([full_output, overwrite_templates])

Convert to dictionary.

to_parameters_table()

Convert model parameters to a Table.

to_regions()

Return a list of the regions for the spatial models.

to_template_sky_model(geom[, ...])

Merge a list of models into a single SkyModel.

to_template_spectral_model(geom[, mask])

Merge a list of models into a single TemplateSpectralModel.

to_yaml([full_output, overwrite_templates])

Convert to YAML string.

unfreeze([model_type])

Restore parameters frozen status to default depending on model type.

update_link_label()

Update linked parameters labels used for serialisation and print.

update_parameters_from_table(t)

Update models from a Table.

write(path[, overwrite, full_output, ...])

Write to YAML file.

write_covariance(filename, **kwargs)

Write covariance to file.

Attributes Documentation

covariance#

Covariance as a Covariance object.

frozen#

Boolean mask, True if all parameters of a given model are frozen.

names#

List of model names.

parameters#

Parameters as a Parameters object.

parameters_unique_names#

List of unique parameter names. Return formatted as model_name.par_type.par_name.

positions#

Positions of the models as a SkyCoord.

wcs_geom#

Minimum WCS geom in which all the models are contained.

Methods Documentation

copy(copy_data=False)[source]#

Deep copy.

Parameters
copy_databool

Whether to copy data attached to template models.

Returns
models: Models

Copied models.

count(value) integer -- return number of occurrences of value#
freeze(model_type=None)[source]#

Freeze parameters depending on model type.

Parameters
model_type{None, “spatial”, “spectral”}

Freeze all parameters or only spatial or only spectral. Default is None.

classmethod from_dict(data, path='')[source]#

Create from dictionary.

classmethod from_yaml(yaml_str, path='', checksum=False)[source]#

Create from YAML string.

index(value[, start[, stop]]) integer -- return first index of value.[source]#

Raises ValueError if the value is not present.

Supporting start and stop arguments is optional, but recommended.

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

Plot the centers of the spatial models on a given WCS axis.

Parameters
axWCSAxes, optional

Axes to plot on. If no axes are given, an all-sky WCS is chosen using a CAR projection. Default is None.

**kwargsdict

Keyword arguments passed to scatter.

Returns
axWcsAxes

WCS axes.

plot_regions(ax=None, kwargs_point=None, path_effect=None, **kwargs)[source]#

Plot extent of the spatial models on a given WCS axis.

Parameters
axWCSAxes, optional

Axes to plot on. If no axes are given, an all-sky WCS is chosen using a CAR projection. Default is None.

kwargs_pointdict, optional

Keyword arguments passed to Line2D for plotting of point sources. Default is None.

path_effectPathEffect, optional

Path effect applied to artists and lines. Default is None.

**kwargsdict

Keyword arguments passed to Artist.

Returns
axWcsAxes

WCS axes.

classmethod read(filename, checksum=False)[source]#

Read from YAML file.

Parameters
filenamestr

input filename

checksumbool

Whether to perform checksum verification. Default is False.

read_covariance(path, filename='_covariance.dat', **kwargs)[source]#

Read covariance data from file.

Parameters
pathstr or Path

Base path.

filenamestr

Filename.

**kwargsdict

Keyword arguments passed to read.

reassign(dataset_name, new_dataset_name)[source]#

Reassign a model from one dataset to another.

Parameters
dataset_namestr or list

Name of the datasets where the model is currently defined.

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

restore_status(restore_values=True)[source]#

Context manager to restore status.

A copy of the values is made on enter, and those values are restored on exit.

Parameters
restore_valuesbool, optional

Restore values if True, otherwise restore only frozen status and covariance matrix. Default is True.

select(name_substring=None, datasets_names=None, tag=None, model_type=None, frozen=None)[source]#

Select models that meet all specified conditions.

Parameters
name_substringstr, optional

Substring contained in the model name. Default is None.

datasets_namesstr or list, optional

Name of the dataset. Default is None.

tagstr or list, optional

Model tag. Default is None.

model_type{‘None’, ‘spatial’, ‘spectral’}

Type of model, used together with “tag”, if the tag is not unique. Default is None.

frozenbool, optional

If True, select models with all parameters frozen; if False, exclude them. Default is None.

Returns
modelsDatasetModels

Selected models.

select_from_geom(geom, **kwargs)[source]#

Select models that fall inside a given geometry.

Parameters
geomGeom

Geometry to select models from.

**kwargsdict

Keyword arguments passed to select_mask.

Returns
modelsDatasetModels

Selected models.

select_mask(mask, margin='0 deg', use_evaluation_region=True)[source]#

Check if sky models contribute within a mask map.

Parameters
maskWcsNDMap of boolean type

Map containing a boolean mask.

marginQuantity, optional

Add a margin in degree to the source evaluation radius. Used to take into account PSF width. Default is “0 deg”.

use_evaluation_regionbool, optional

Account for the extension of the model or not. Default is True.

Returns
modelsDatasetModels

Selected models contributing inside the region where mask==True.

select_region(regions, wcs=None)[source]#

Select sky models with center position contained within a given region.

Parameters
regionsstr, Region or list of Region

Region or list of regions (pixel or sky regions accepted). A region can be defined as a string ind DS9 format as well. See http://ds9.si.edu/doc/ref/region.html for details.

wcsWCS, optional

World coordinate system transformation. Default is None.

Returns
modelsDatasetModels

Selected models.

selection_mask(name_substring=None, datasets_names=None, tag=None, model_type=None, frozen=None)[source]#

Create a mask of models, that meet all specified conditions.

Parameters
name_substringstr, optional

Substring contained in the model name. Default is None.

datasets_namesstr or list of str, optional

Name of the dataset. Default is None.

tagstr or list of str, optional

Model tag. Default is None.

model_type{‘None’, ‘spatial’, ‘spectral’}

Type of model, used together with “tag”, if the tag is not unique. Default is None.

frozenbool, optional

Select models with all parameters frozen if True, exclude them if False. Default is None.

Returns
masknumpy.array

Boolean mask, True for selected models.

set_parameters_bounds(tag, model_type, parameters_names=None, min=None, max=None, value=None)[source]#

Set bounds for the selected models types and parameters names.

Parameters
tagstr or list

Tag of the models.

model_type{“spatial”, “spectral”, “temporal”}

Type of model.

parameters_namesstr or list, optional

Parameters names. Default is None.

minfloat, optional

Minimum value. Default is None.

maxfloat, optional

Maximum value. Default is None.

valuefloat, optional

Initial value. Default is None.

to_dict(full_output=False, overwrite_templates=False)[source]#

Convert to dictionary.

to_parameters_table()[source]#

Convert model parameters to a Table.

to_regions()[source]#

Return a list of the regions for the spatial models.

Returns
regions: list of SkyRegion

Regions.

to_template_sky_model(geom, spectral_model=None, name=None)[source]#

Merge a list of models into a single SkyModel.

Parameters
geomGeom

Map geometry of the result template model.

spectral_modelSpectralModel, optional

One of the NormSpectralModel. Default is None.

namestr, optional

Name of the new model. Default is None.

Returns
modelSkyModel

Template sky model.

to_template_spectral_model(geom, mask=None)[source]#

Merge a list of models into a single TemplateSpectralModel.

For each model the spatial component is integrated over the given geometry where the mask is true and multiplied by the spectral component value in each energy bin.

Parameters
geomGeom

Map geometry on which the template model is computed.

maskMap with bool dtype.

Evaluate the model only where the mask is True.

Returns
modelTemplateSpectralModel

Template spectral model.

to_yaml(full_output=False, overwrite_templates=False)[source]#

Convert to YAML string.

unfreeze(model_type=None)[source]#

Restore parameters frozen status to default depending on model type.

Parameters
model_type{None, “spatial”, “spectral”}

Restore frozen status to default for all parameters or only spatial or only spectral. Default is None.

Update linked parameters labels used for serialisation and print.

update_parameters_from_table(t)[source]#

Update models from a Table.

write(path, overwrite=False, full_output=False, overwrite_templates=False, write_covariance=True, checksum=False)[source]#

Write to YAML file.

Parameters
pathpathlib.Path or str

Path to write files.

overwritebool, optional

Overwrite existing file. Default is False.

full_outputbool, optional

Store full parameter output. Default is False.

overwrite_templatesbool, optional

Overwrite templates FITS files. Default is False.

write_covariancebool, optional

Whether to save the covariance. Default is True.

checksumbool

When True adds a CHECKSUM entry to the file. Default is False.

write_covariance(filename, **kwargs)[source]#

Write covariance to file.

Parameters
filenamestr

Filename.

**kwargsdict

Keyword arguments passed to write.