LightCurveTemplateTemporalModel#
- class gammapy.modeling.models.LightCurveTemplateTemporalModel(map, t_ref=None, filename=None)[source]#
Bases:
gammapy.modeling.models.temporal.TemporalModelTemporal light curve model.
The lightcurve is given at specific times (and optionally energies) as a
normIt can be serialised either as an astropy table or aRegionNDMapThe
normis supposed to be a unit-less multiplicative factor in the model, to be multiplied with a spectral model.The model does linear interpolation for times between the given
(time, energy, norm)values.For more information see Light curve temporal model.
Examples
Read an example light curve object:
>>> from gammapy.modeling.models import LightCurveTemplateTemporalModel >>> path = '$GAMMAPY_DATA/tests/models/light_curve/lightcrv_PKSB1222+216.fits' >>> light_curve = LightCurveTemplateTemporalModel.read(path)
Show basic information about the lightcurve:
>>> print(light_curve) LightCurveTemplateTemporalModel model summary: Reference time: 59000.5 MJD Start time: 59000.5 MJD End time: 61862.5 MJD Norm min: 0.01551196351647377 Norm max: 1.0
Compute
normat a given time:>>> t = Time(59001.195, format="mjd") >>> light_curve.evaluate(t) array(0.02287888)
Compute mean
normin a given time interval:>>> from astropy.time import Time >>> import astropy.units as u >>> t_r = Time(59000.5, format='mjd') >>> t_min = t_r + [1, 4, 8] * u.d >>> t_max = t_r + [1.5, 6, 9] * u.d >>> light_curve.integral(t_min, t_max) array([0.0074388942, 0.0071144081, 0.0068115544])
Attributes Summary
Frozen status of a model, True if all parameters are frozen
Parameters (
Parameters)A model parameter.
Methods Summary
__call__(time)Evaluate model
copy(**kwargs)evaluate(time[, t_ref])Evaluate the model at given coordinates.
freeze()Freeze all parameters
from_dict(data)from_parameters(parameters, **kwargs)Create model from parameter list
from_table(table[, filename])Create a template model from an astropy table
integral(t_min, t_max[, oversampling_factor])Evaluate the integrated flux within the given time intervals
plot(time_range[, ax, n_points])Plot Temporal Model.
read(filename[, format])Read a template model
reassign(datasets_names, new_datasets_names)Reassign a model from one dataset to another
sample_time(n_events, t_min, t_max[, ...])Sample arrival times of events.
time_sum(t_min, t_max)Total time between t_min and t_max
to_dict([full_output, format])Create dict for YAML serialisation
to_table()Convert model to an astropy table
unfreeze()Restore parameters frozen status to default
write(filename[, format, overwrite])Write a model to disk as per the specified format
Attributes Documentation
- covariance#
- default_parameters = <gammapy.modeling.parameter.Parameters object>#
- frozen#
Frozen status of a model, True if all parameters are frozen
- parameters#
Parameters (
Parameters)
- t_ref#
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,quantityorminandmaxproperties and consider the fact that there is afactor`andscalean 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_minandfactor_maxproperties, i.e. the optimiser “sees” the well-scaled problem.- Parameters
- namestr
Name
- valuefloat or
Quantity Value
- scalefloat, optional
Scale (sometimes used in fitting)
- unit
Unitor 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 of the scan keywords before.
- scale_method{‘scale10’, ‘factor1’, None}
Method used to set
factorandscale- interp{“lin”, “sqrt”, “log”}
Parameter scaling to use for the scan.
- is_normbool
Whether the parameter represents the flux norm of the model.
- tag = ['LightCurveTemplateTemporalModel', 'template']#
- type#
Methods Documentation
- copy(**kwargs)#
- freeze()#
Freeze all 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_table(table, filename=None)[source]#
Create a template model from an astropy table
- Parameters
- table
Table Table containing the template model.
- filenamestr
Name of input file
- table
- Returns
- model
LightCurveTemplateTemporalModel Light curve template model
- model
- integral(t_min, t_max, oversampling_factor=100, **kwargs)#
Evaluate the integrated flux within the given time intervals
- Parameters
- t_min: `~astropy.time.Time`
Start times of observation
- t_max: `~astropy.time.Time`
Stop times of observation
- oversampling_factorint
Oversampling factor to be used for numerical integration.
- Returns
- normfloat
Integrated flux norm on the given time intervals
- plot(time_range, ax=None, n_points=100, **kwargs)#
Plot Temporal Model.
- classmethod read(filename, format='table')[source]#
Read a template model
- Parameters
- filenamestr
Name of file to read
- format{“table”, “map”}
Format of the input file.
- Returns
- model
LightCurveTemplateTemporalModel Light curve template model
- model
- 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
- sample_time(n_events, t_min, t_max, t_delta='1 s', random_state=0)#
Sample arrival times of events.
- Parameters
- n_eventsint
Number of events to sample.
- t_min
Time Start time of the sampling.
- t_max
Time Stop time of the sampling.
- t_delta
Quantity Time step used for sampling of the temporal model.
- random_state{int, ‘random-seed’, ‘global-rng’,
RandomState} Defines random number generator initialisation. Passed to
get_random_state.
- Returns
- time
Quantity Array with times of the sampled events.
- time
- static time_sum(t_min, t_max)#
Total time between t_min and t_max
- unfreeze()#
Restore parameters frozen status to default
- write(filename, format='table', overwrite=False)[source]#
Write a model to disk as per the specified format
- Parameters:
- filenamestr
name of output file
- formatstr, either “table” or “map”
if format is table, it is serialised as an astropy Table if map, then it is serialised as a RegionNDMap
- overwritebool
Overwrite file on disk if present