LightCurveTemplateTemporalModel#
- class gammapy.modeling.models.LightCurveTemplateTemporalModel(table, filename=None)[source]#
Bases:
gammapy.modeling.models.temporal.TemporalModel
Temporal light curve model.
The lightcurve is given as a table with columns
time
andnorm
.The
norm
is 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, norm)
values.The implementation currently uses
scipy.interpolate. InterpolatedUnivariateSpline
, using degreek=1
to get linear interpolation. This class also contains anintegral
method, making the computation of mean fluxes for a given time interval a one-liner.- Parameters
- table
Table
A table with ‘TIME’ vs ‘NORM’
- table
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: Start time: 59000.5 MJD End time: 61862.5 MJD Norm min: 0.01551196351647377 Norm max: 1.0
Compute
norm
at a given time:>>> light_curve.evaluate(60000) array(0.01551196)
Compute mean
norm
in a given time interval:>>> from astropy.time import Time >>> times = Time([60000, 61000], format='mjd') >>> light_curve.integral(times[0], times[1]) <Quantity 0.01721725>
Attributes Summary
Frozen status of a model, True if all parameters are frozen
Parameters (
Parameters
)Methods Summary
__call__
(time)Evaluate model
copy
(**kwargs)evaluate
(time[, ext])Evaluate for a given time.
freeze
()Freeze all parameters
from_dict
(data)from_parameters
(parameters, **kwargs)Create model from parameter list
integral
(t_min, t_max)Evaluate the integrated flux within the given time intervals
plot
(time_range[, ax])Plot Temporal Model.
read
(path)Read lightcurve model table from FITS file.
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])Create dict for YAML serialisation
unfreeze
()Restore parameters frozen status to default
write
([path, overwrite])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
)
- tag = ['LightCurveTemplateTemporalModel', 'template']#
- type#
Methods Documentation
- copy(**kwargs)#
- evaluate(time, ext=0)[source]#
Evaluate for a given time.
- Parameters
- timearray_like
Time since the
reference
time.- extint or str, optional, default: 0
Parameter passed to ~scipy.interpolate.InterpolatedUnivariateSpline Controls the extrapolation mode for GTIs outside the range 0 or “extrapolate”, return the extrapolated value. 1 or “zeros”, return 0 2 or “raise”, raise a ValueError 3 or “const”, return the boundary value.
- Returns
- normarray_like
Norm at the given times.
- 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
- integral(t_min, t_max)[source]#
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
- Returns
- ——-
- norm: The model integrated flux
- plot(time_range, ax=None, **kwargs)#
Plot Temporal Model.
- classmethod read(path)[source]#
Read lightcurve model table from FITS file.
TODO: This doesn’t read the XML part of the model yet.
- 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