TemplatePhaseCurveTemporalModel#
- class gammapy.modeling.models.TemplatePhaseCurveTemporalModel(table, filename=None, **kwargs)[source]#
Bases:
gammapy.modeling.models.temporal.TemporalModel
Temporal phase curve model.
A timing solution is used to compute the phase corresponding to time and a template phase curve is used to determine the associated
norm
.The phasecurve is given as a table with columns
phase
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
(phase, 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 ‘PHASE’ vs ‘NORM’
- filenamestr
The name of the file containing the phase curve
- t_ref
Quantity
The reference time in mjd
- phi_ref
Quantity
The phase at reference time. Default is 0.
- f0
Quantity
The frequency at t_ref in s-1
- f1
Quantity
The frequency derivative at t_ref in s-2. Default is 0 s-2.
- f2
Quantity
The frequency second derivative at t_ref in s-3. Default is 0 s-3.
- table
Attributes Summary
A model parameter.
A model parameter.
A model parameter.
Frozen status of a model, True if all parameters are frozen
Parameters (
Parameters
)A model parameter.
Reference time in mjd
A model parameter.
Methods Summary
__call__
(time[, energy])Evaluate model
copy
(**kwargs)A deep copy.
evaluate
(time, t_ref, phi_ref, f0, f1, f2)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, n_points])Plot Temporal Model.
plot_phasogram
([ax, n_points])Plot phasogram of the phase model.
read
(path[, t_ref, phi_ref, f0, f1, f2])Read phasecurve 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>#
- f0#
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
- 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
factor
andscale
- interp{“lin”, “sqrt”, “log”}
Parameter scaling to use for the scan.
- is_normbool
Whether the parameter represents the flux norm of the model.
- f1#
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
- 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
factor
andscale
- interp{“lin”, “sqrt”, “log”}
Parameter scaling to use for the scan.
- is_normbool
Whether the parameter represents the flux norm of the model.
- f2#
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
- 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
factor
andscale
- interp{“lin”, “sqrt”, “log”}
Parameter scaling to use for the scan.
- is_normbool
Whether the parameter represents the flux norm of the model.
- frozen#
Frozen status of a model, True if all parameters are frozen
- is_energy_dependent#
- parameters#
Parameters (
Parameters
)
- phi_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
- 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
factor
andscale
- interp{“lin”, “sqrt”, “log”}
Parameter scaling to use for the scan.
- is_normbool
Whether the parameter represents the flux norm of the model.
- reference_time#
Reference time in mjd
- 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
- 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
factor
andscale
- interp{“lin”, “sqrt”, “log”}
Parameter scaling to use for the scan.
- is_normbool
Whether the parameter represents the flux norm of the model.
- tag = ['TemplatePhaseCurveTemporalModel', 'template-phase']#
- type#
Methods Documentation
- __call__(time, energy=None)#
Evaluate model
- copy(**kwargs)#
A deep copy.
- 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, n_points=100, **kwargs)#
Plot Temporal Model.
- classmethod read(path, t_ref=<Quantity 48442.5 d>, phi_ref=0, f0=<Quantity 29.946923 1 / s>, f1=<Quantity 0. 1 / s2>, f2=<Quantity 0. 1 / s3>)[source]#
Read phasecurve model table from FITS file.
Beware : this does not read parameters. They will be set to defaults.
- Parameters
- pathstr or
Path
filename with path
- pathstr or
- 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)[source]#
Sample arrival times of events.
To fully cover the phase range, t_delta is the minimum between the input and product of the period at 0.5*(t_min + t_max) and the table bin size.
- 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