FluxPointsDataset¶
-
class
gammapy.datasets.
FluxPointsDataset
(models, data, mask_fit=None, mask_safe=None, name=None)[source]¶ Bases:
gammapy.datasets.Dataset
Fit a set of flux points with a parametric model.
- Parameters
- models
Models
Models (only spectral part needs to be set)
- data
FluxPoints
Flux points.
- mask_fit
numpy.ndarray
Mask to apply for fitting
- mask_safe
numpy.ndarray
Mask defining the safe data range.
- 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" flux_points = FluxPoints.read(filename) model = SkyModel(spectral_model=PowerLawSpectralModel()) dataset = FluxPointsDataset(model, flux_points) fit = Fit([dataset]) result = fit.run() print(result) print(result.parameters.to_table())
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
Combined fit and safe mask
Methods Summary
copy
(self[, name])A deep copy.
data_shape
(self)Shape of the flux points data (tuple).
flux_pred
(self)Compute predicted flux.
from_dict
(data, models)Create flux point dataset from dict.
peek
(self[, method])Plot flux points, best fit model and residuals.
plot_residuals
(self[, ax, method])Plot flux point residuals.
plot_spectrum
(self[, ax, fp_kwargs, …])Plot spectrum including flux points and model.
residuals
(self[, method])Compute the flux point residuals ().
stat_array
(self)Fit statistic array.
stat_sum
(self)Total statistic given the current model parameters.
to_dict
(self[, filename])Convert to dict for YAML serialization.
write
(self, filename[, overwrite])Write flux point dataset to file.
Attributes Documentation
-
mask
¶ Combined fit and safe mask
-
models
¶
-
name
¶
-
stat_type
= 'chi2'¶
-
tag
= 'FluxPointsDataset'¶
Methods Documentation
-
copy
(self, name=None)¶ A deep copy.
-
classmethod
from_dict
(data, models)[source]¶ Create flux point dataset from dict.
- Parameters
- datadict
Dict containing data to create dataset from.
- modelslist of
SkyModel
List of model components.
- Returns
- dataset
FluxPointsDataset
Flux point datasets.
- dataset
-
peek
(self, method='diff/model', **kwargs)[source]¶ Plot flux points, best fit model and residuals.
- Parameters
- method{“diff”, “diff/model”, “diff/sqrt(model)”}
Method used to compute the residuals, see
MapDataset.residuals()
-
plot_residuals
(self, ax=None, method='diff', **kwargs)[source]¶ Plot flux point residuals.
- Parameters
- ax
Axes
Axes object.
- method{“diff”, “diff/model”, “diff/sqrt(model)”}
Method used to compute the residuals, see
MapDataset.residuals()
- **kwargsdict
Keyword arguments passed to
errorbar
.
- ax
- Returns
- ax
Axes
Axes object.
- ax
-
plot_spectrum
(self, ax=None, fp_kwargs=None, model_kwargs=None)[source]¶ Plot spectrum including flux points and model.
- Parameters
- ax
Axes
Axes object.
- fp_kwargsdict
Keyword arguments passed to
FluxPoints.plot
.- model_kwargsdict
Keywords passed to
SpectralModel.plot
andSpectralModel.plot_error
- ax
- Returns
- ax
Axes
Axes object.
- ax
-
residuals
(self, method='diff')[source]¶ Compute the flux point residuals ().
- Parameters
- method: {“diff”, “diff/model”, “diff/sqrt(model)”}
- Method used to compute the residuals. Available options are:
diff
(default): data - modeldiff/model
: (data - model) / modeldiff/sqrt(model)
: (data - model) / sqrt(model)norm='sqrt_model'
for: (flux points - model)/sqrt(model)
- Returns
- residuals
ndarray
Residuals array.
- residuals
-
stat_sum
(self)¶ Total statistic given the current model parameters.