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 (Covariance)

frozen

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

names

List of model names

parameters

Parameters (Parameters)

parameters_unique_names

List of unique parameter names as model_name.par_type.par_name

positions

Positions of the models (SkyCoord)

wcs_geom

Minimum WCS geom in which all the models are contained

Methods Summary

copy([copy_data])

A deep copy.

count(value)

freeze([model_type])

Freeze parameters depending on model type

from_dict(data[, path])

Create from dict.

from_yaml(yaml_str[, path])

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)

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_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 dict.

to_parameters_table()

Convert Models parameters to an astropy Table.

to_regions()

Returns a list of the regions for the spatial models

to_template_sky_model(geom[, ...])

Merge a list of models into a single SkyModel

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 serialization and print

update_parameters_from_table(t)

Update Models from an astropy Table.

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

Write to YAML file.

write_covariance(filename, **kwargs)

Write covariance to file

Attributes Documentation

covariance#

Covariance (Covariance)

frozen#

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

names#

List of model names

parameters#

Parameters (Parameters)

parameters_unique_names#

List of unique parameter names as model_name.par_type.par_name

positions#

Positions of the models (SkyCoord)

wcs_geom#

Minimum WCS geom in which all the models are contained

Methods Documentation

copy(copy_data=False)[source]#

A 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

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

Create from dict.

classmethod from_yaml(yaml_str, path='')[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

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

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

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

kwargs_pointdict

Keyword arguments passed to Line2D for plotting of point sources

path_effectPathEffect

Path effect applied to artists and lines.

**kwargsdict

Keyword arguments passed to Artist

Returns
axWcsAxes

WCS axes

classmethod read(filename)[source]#

Read from YAML file.

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

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

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

Substring contained in the model name

datasets_namesstr or list

Name of the dataset

tagstr or list

Model tag

model_type{None, spatial, spectral}

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

frozenbool

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

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

Add a margin in degree to the source evaluation radius. Used to take into account PSF width.

use_evaluation_regionbool

Account for the extension of the model or not. The 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

World coordinate system transformation

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

Substring contained in the model name

datasets_namesstr or list of str

Name of the dataset

tagstr or list of str

Model tag

model_type{None, spatial, spectral}

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

frozenbool

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

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

parameters names

minfloat

min value

maxfloat

max value

valuefloat

init value

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

Convert to dict.

to_parameters_table()[source]#

Convert Models parameters to an astropy Table.

to_regions()[source]#

Returns 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

One of the NormSpectralMdel

namestr

Name of the new model

Returns
modelSkyModel

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

update linked parameters labels used for serialization and print

update_parameters_from_table(t)[source]#

Update Models from an astropy Table.

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

Write to YAML file.

Parameters
pathpathlib.Path or str

path to write files

overwritebool

overwrite YAML files

full_outputbool

Store full parameter output.

overwrite_templatesbool

overwrite templates FITS files

write_covariancebool

save covariance or not

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

Write covariance to file

Parameters
filenamestr

Filename

**kwargsdict

Keyword arguments passed to write