FluxPointsDataset#
- class gammapy.datasets.FluxPointsDataset(models=None, data=None, mask_fit=None, mask_safe=None, name=None, meta_table=None)[source]#
Bases:
gammapy.datasets.core.Dataset
Bundle a set of flux points with a parametric model, to compute fit statistic function using chi2 statistics.
For more information see Datasets (DL4).
- Parameters
- models
Models
Models (only spectral part needs to be set)
- data
FluxPoints
Flux points. Must be sorted along the energy axis
- mask_fit
numpy.ndarray
Mask to apply for fitting
- mask_safe
numpy.ndarray
Mask defining the safe data range. By default, upper limit values are excluded.
- meta_table
Table
Table listing information on observations used to create the dataset. One line per observation for stacked datasets
- models
Examples
Load flux points from file and fit with a power-law model:
>>> from gammapy.modeling import Fit >>> from gammapy.modeling.models import PowerLawSpectralModel, SkyModel >>> from gammapy.estimators import FluxPoints >>> from gammapy.datasets import FluxPointsDataset >>> filename = "$GAMMAPY_DATA/tests/spectrum/flux_points/diff_flux_points.fits" >>> dataset = FluxPointsDataset.read(filename) >>> model = SkyModel(spectral_model=PowerLawSpectralModel()) >>> dataset.models = model
Make the fit
>>> fit = Fit() >>> result = fit.run([dataset]) >>> print(result) OptimizeResult backend : minuit method : migrad success : True message : Optimization terminated successfully. nfev : 135 total stat : 25.21 CovarianceResult backend : minuit method : hesse success : True message : Hesse terminated successfully.
>>> print(result.parameters.to_table()) type name value unit ... max frozen is_norm link -------- --------- ---------- -------------- ... --- ------ ------- ---- spectral index 2.2159e+00 ... nan False False spectral amplitude 2.1619e-13 cm-2 s-1 TeV-1 ... nan False True spectral reference 1.0000e+00 TeV ... nan True False
Note: In order to reproduce the example, you need the tests datasets folder. You may download it with the command
gammapy download datasets --tests --out $GAMMAPY_DATA
Attributes Summary
Good time interval info (
GTI
).Combined fit and safe mask.
Methods Summary
copy
([name])A deep copy.
Shape of the flux points data (tuple).
Compute predicted flux.
from_dict
(data, **kwargs)Create flux point dataset from dict.
plot_fit
([ax_spectrum, ax_residuals, ...])Plot flux points, best fit model and residuals in two panels.
plot_residuals
([ax, method])Plot flux point residuals.
plot_spectrum
([ax, kwargs_fp, kwargs_model])Plot spectrum including flux points and model.
read
(filename[, name, format])Read pre-computed flux points and create a dataset.
residuals
([method])Compute flux point residuals.
Fit statistic array.
stat_sum
()Total statistic given the current model parameters.
to_dict
()Convert to dict for YAML serialization.
write
(filename[, overwrite])Write flux point dataset to file.
Attributes Documentation
- gti#
Good time interval info (
GTI
).
- mask#
Combined fit and safe mask.
- models#
- name#
- stat_type = 'chi2'#
- tag = 'FluxPointsDataset'#
Methods Documentation
- copy(name=None)#
A deep copy.
- Parameters
- namestr
Name of the copied dataset
- Returns
- dataset
Dataset
Copied datasets.
- dataset
- classmethod from_dict(data, **kwargs)[source]#
Create flux point dataset from dict.
- Parameters
- datadict
Dict containing data to create dataset from
- Returns
- dataset
FluxPointsDataset
Flux point datasets.
- dataset
- plot_fit(ax_spectrum=None, ax_residuals=None, kwargs_spectrum=None, kwargs_residuals=None)[source]#
Plot flux points, best fit model and residuals in two panels.
Calls
plot_spectrum
andplot_residuals
.- Parameters
- ax_spectrum
Axes
Axes to plot flux points and best fit model on
- ax_residuals
Axes
Axes to plot residuals on
- kwargs_spectrumdict
Keyword arguments passed to
plot_spectrum
- kwargs_residualsdict
Keyword arguments passed to
plot_residuals
- ax_spectrum
- Returns
- ax_spectrum, ax_residuals
Axes
Flux points, best fit model and residuals plots
- ax_spectrum, ax_residuals
Examples
>>> from gammapy.modeling.models import PowerLawSpectralModel, SkyModel >>> from gammapy.estimators import FluxPoints >>> from gammapy.datasets import FluxPointsDataset
>>> #load precomputed flux points >>> filename = "$GAMMAPY_DATA/tests/spectrum/flux_points/diff_flux_points.fits" >>> flux_points = FluxPoints.read(filename) >>> model = SkyModel(spectral_model=PowerLawSpectralModel()) >>> dataset = FluxPointsDataset(model, flux_points) >>> #configuring optional parameters >>> kwargs_spectrum = {"kwargs_model": {"color":"red", "ls":"--"}, "kwargs_fp":{"color":"green", "marker":"o"}} # noqa: E501 >>> kwargs_residuals = {"color": "blue", "markersize":4, "marker":'s', } >>> dataset.plot_fit(kwargs_residuals=kwargs_residuals, kwargs_spectrum=kwargs_spectrum)
- plot_residuals(ax=None, method='diff', **kwargs)[source]#
Plot flux point residuals.
- Parameters
- ax
Axes
Axes to plot on
- method{“diff”, “diff/model”}
Normalization used to compute the residuals, see
FluxPointsDataset.residuals
- **kwargsdict
Keyword arguments passed to
errorbar
- ax
- Returns
- ax
Axes
Axes object
- ax
- plot_spectrum(ax=None, kwargs_fp=None, kwargs_model=None)[source]#
Plot spectrum including flux points and model.
- Parameters
- ax
Axes
Axes to plot on
- kwargs_fpdict
Keyword arguments passed to
gammapy.estimators.FluxPoints.plot
to configure the plot style- kwargs_modeldict
Keyword arguments passed to
gammapy.modeling.models.SpectralModel.plot
andgammapy.modeling.models.SpectralModel.plot_error
to configure the plot style
- ax
- Returns
- ax
Axes
Axes object
- ax
Examples
>>> from gammapy.modeling.models import PowerLawSpectralModel, SkyModel >>> from gammapy.estimators import FluxPoints >>> from gammapy.datasets import FluxPointsDataset
>>> #load precomputed flux points >>> filename = "$GAMMAPY_DATA/tests/spectrum/flux_points/diff_flux_points.fits" >>> flux_points = FluxPoints.read(filename) >>> model = SkyModel(spectral_model=PowerLawSpectralModel()) >>> dataset = FluxPointsDataset(model, flux_points) >>> #configuring optional parameters >>> kwargs_model = {"color":"red", "ls":"--"} >>> kwargs_fp = {"color":"green", "marker":"o"} >>> dataset.plot_spectrum(kwargs_fp=kwargs_fp, kwargs_model=kwargs_model)
- classmethod read(filename, name=None, format='gadf-sed')[source]#
Read pre-computed flux points and create a dataset.
- Parameters
- filenamestr
Filename to read from
- namestr
Name of the new dataset
- format{“gadf-sed”}
Format of the dataset file
- Returns
- dataset
FluxPointsDataset
FluxPointsDataset
- dataset
- residuals(method='diff')[source]#
Compute flux point residuals.
- Parameters
- method: {“diff”, “diff/model”}
- Method used to compute the residuals. Available options are:
diff
(default): data - modeldiff/model
: (data - model) / model
- Returns
- residuals
ndarray
Residuals array
- residuals
- stat_sum()#
Total statistic given the current model parameters.
- to_dict()#
Convert to dict for YAML serialization.