DatasetModels#
- class gammapy.modeling.models.DatasetModels(models=None, covariance_data=None)[source]#
Bases:
collections.abc.Sequence
Immutable models container
- Parameters
Attributes Summary
Covariance (
Covariance
)Boolean mask, True if all parameters of a given model are frozen
List of model names
Parameters (
Parameters
)List of unique parameter names as model_name.par_type.par_name
Positions of the models (
SkyCoord
)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.
Convert Models parameters to an astropy Table.
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 linked parameters labels used for serialization and print
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
- 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.
- 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
- 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
- ax
WCSAxes
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
- ax
- Returns
- ax
WcsAxes
Wcs axes
- ax
- plot_regions(ax=None, kwargs_point=None, path_effect=None, **kwargs)[source]#
Plot extent of the spatial models on a given wcs axis
- Parameters
- ax
WCSAxes
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_effect
PathEffect
Path effect applied to artists and lines.
- **kwargsdict
Keyword arguments passed to
Artist
- ax
- Returns
- ax
WcsAxes
WCS axes
- ax
- 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
- pathstr or
- 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
- models
DatasetModels
Selected models
- models
- select_mask(mask, margin='0 deg', use_evaluation_region=True)[source]#
Check if sky models contribute within a mask map.
- Parameters
- mask
WcsNDMap
of boolean type Map containing a boolean mask
- margin
Quantity
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.
- mask
- Returns
- models
DatasetModels
Selected models contributing inside the region where mask==True
- models
- select_region(regions, wcs=None)[source]#
Select sky models with center position contained within a given region
- Parameters
- regionsstr,
Region
or list ofRegion
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.
- wcs
WCS
World coordinate system transformation
- regionsstr,
- Returns
- models
DatasetModels
Selected models
- 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
- mask
numpy.array
Boolean mask, True for selected models
- mask
- 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_regions()[source]#
Returns a list of the regions for the spatial models
- Returns
- regions: list of
SkyRegion
Regions
- regions: list of
- to_template_sky_model(geom, spectral_model=None, name=None)[source]#
Merge a list of models into a single
SkyModel
- Parameters
- geom
Geom
Map geometry of the result template model.
- spectral_model
SpectralModel
One of the NormSpectralMdel
- namestr
Name of the new model
- geom
- Returns
- model
SkyModel
Template sky model.
- model
- 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
- write(path, overwrite=False, full_output=False, overwrite_templates=False, write_covariance=True)[source]#
Write to YAML file.
- Parameters
- path
pathlib.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
- path