LightCurveTemplateTemporalModel#
- class gammapy.modeling.models.LightCurveTemplateTemporalModel[source]#
Bases:
TemporalModel
Temporal light curve model.
The lightcurve is given at specific times (and optionally energies) as a
norm
It can be serialised either as an astropy table or aRegionNDMap
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, energy, norm)
values.When the temporal model is energy-dependent, the default interpolation scheme is linear with a log scale for the values. The interpolation method and scale values can be changed with the
method
andvalues_scale
arguments.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.49919925926 MJD Start time: 58999.99919925926 MJD End time: 61862.99919925926 MJD Norm min: 0.01551196351647377 Norm max: 1.0
<BLANKLINE>
Compute
norm
at a given time:>>> from astropy.time import Time >>> t = Time(59001.195, format="mjd") >>> light_curve.evaluate(t) <Quantity [0.02288737]>
Compute mean
norm
in a given time interval:>>> 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) <Quantity [0.00375698, 0.0143724 , 0.00688029]>
Attributes Summary
Whether the model is energy dependent.
A model parameter.
Methods Summary
evaluate
(time[, t_ref, energy])Evaluate the model at given coordinates.
from_dict
(data)Create a temporal model from a dictionary.
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, energy])Plot the temporal model.
read
(filename[, format])Read a template model.
to_dict
([full_output, format])Create dictionary for YAML serialisation.
to_table
()Convert model to an astropy table.
write
([filename, format, overwrite])Write a model to disk as per the specified format.
Attributes Documentation
- default_parameters = <gammapy.modeling.parameter.Parameters object>#
- is_energy_dependent#
Whether the model is energy dependent.
- 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
,quantity
ormin
andmax
properties and consider the fact that there is afactor
andscale
an 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_min
andfactor_max
properties, i.e. the optimiser “sees” the well-scaled problem.- Parameters:
- namestr
Name.
- valuefloat or
Quantity
Value.
- scalefloat, optional
Scale (sometimes used in fitting).
- unit
Unit
or str, optional Unit. Default is “”.
- minfloat, str or
quantity
, optional Minimum (sometimes used in fitting). If
None
, set tonumpy.nan
. Default is None.- maxfloat, str or
quantity
, optional Maximum (sometimes used in fitting). Default is
numpy.nan
.- frozenbool, optional
Frozen (used in fitting). Default is False.
- errorfloat, optional
Parameter error. Default is 0.
- scan_minfloat, optional
Minimum value for the parameter scan. Overwrites scan_n_sigma. Default is None.
- scan_maxfloat, optional
Maximum value for the parameter scan. Overwrites scan_n_sigma. Default is None.
- scan_n_values: int, optional
Number of values to be used for the parameter scan. Default is 11.
- scan_n_sigmaint, optional
Number of sigmas to scan. Default is 2.
- scan_values: `numpy.array`, optional
Scan values. Overwrites all the scan keywords before. Default is None.
- scale_method{‘scale10’, ‘factor1’, None}, optional
Method used to set
factor
andscale
. Default is “scale10”.- interp{“lin”, “sqrt”, “log”}, optional
Parameter scaling to use for the scan. Default is “lin”.
- prior
Prior
, optional Prior set on the parameter. Default is None.
- tag = ['LightCurveTemplateTemporalModel', 'template']#
Methods Documentation
- evaluate(time, t_ref=None, energy=None)[source]#
Evaluate the model at given coordinates.
- Parameters:
- time: `~astropy.time.Time`
Time.
- t_ref: `~gammapy.modeling.Parameter`, optional
Reference time for the model. Default is None.
- energy: `~astropy.units.Quantity`, optional
Energy. Default is None.
- Returns:
- values
Quantity
Model values.
- values
- classmethod from_dict(data)[source]#
Create a temporal model from a dictionary.
- Parameters:
- datadict
Dictionary containing the model parameters.
- **kwargsdict
Keyword arguments passed to
from_parameters
.
- classmethod from_table(table, filename=None)[source]#
Create a template model from an astropy table.
- Parameters:
- table
Table
Table containing the template model.
- filenamestr, optional
Name of input file. Default is None.
- table
- Returns:
- model
LightCurveTemplateTemporalModel
Light curve template model.
- model
- integral(t_min, t_max, oversampling_factor=100, **kwargs)[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.
- oversampling_factorint, optional
Oversampling factor to be used for numerical integration. Default is 100.
- Returns:
- normfloat
Integrated flux norm on the given time intervals.
- plot(time_range, ax=None, n_points=100, energy=None, **kwargs)[source]#
Plot the temporal model.
- Parameters:
- time_range
Time
Times to plot the model.
- ax
Axes
, optional Axis to plot on. Default is None.
- n_pointsint, optional
Number of bins to plot model. Default is 100.
- energy
quantity
, optional Energies to compute the model at for energy dependent models. Default is None.
- **kwargsdict
Keywords forwarded to
errorbar
.- Returns
- ——-
- ax
Axes
, optional Matplotlib axes.
- time_range
- 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
- write(filename=None, format='table', overwrite=False)[source]#
Write a model to disk as per the specified format.
- Parameters:
- filenamestr, optional
Name of output file. By default, the template model will be saved with the
LightCurveTemplateTemporalModel.filename
attribute. Iffilename
is provided, this attribute will be used.- format{“table” or “map”}
If format is “table”, it is serialised as a
Table
. If “map”, then it is serialised as aRegionNDMap
. Default is “table”.- overwritebool, optional
Overwrite existing file. Default is False.
- classmethod __new__(*args, **kwargs)#