FluxPointsDataset

class gammapy.datasets.FluxPointsDataset(models=None, data=None, mask_fit=None, mask_safe=None, name=None, meta_table=None)[source]

Bases: gammapy.datasets.Dataset

Fit a set of flux points with a parametric model.

Parameters
modelsModels

Models (only spectral part needs to be set)

dataFluxPoints

Flux points.

mask_fitnumpy.ndarray

Mask to apply for fitting

mask_safenumpy.ndarray

Mask defining the safe data range.

meta_tableTable

Table listing informations on observations used to create the dataset. One line per observation for stacked datasets.

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

mask

Combined fit and safe mask

models

name

stat_type

tag

Methods Summary

copy([name])

A deep copy.

data_shape()

Shape of the flux points data (tuple).

flux_pred()

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.

residuals([method])

Compute the flux point residuals ().

stat_array()

Fit statistic array.

stat_sum()

Total statistic given the current model parameters.

to_dict([filename])

Convert to dict for YAML serialization.

write(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(name=None)

A deep copy.

data_shape()[source]

Shape of the flux points data (tuple).

flux_pred()[source]

Compute predicted flux.

classmethod from_dict(data, **kwargs)[source]

Create flux point dataset from dict.

Parameters
datadict

Dict containing data to create dataset from.

Returns
datasetFluxPointsDataset

Flux point datasets.

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 and plot_residuals.

Parameters
ax_spectrumAxes

Axes to plot flux points and best fit model on.

ax_residualsAxes

Axes to plot residuals on.

kwargs_spectrumdict

Keyword arguments passed to plot_spectrum.

kwargs_residualsdict

Keyword arguments passed to plot_residuals.

Returns
ax_spectrum, ax_residualsAxes

Flux points, best fit model and residuals plots.

plot_residuals(ax=None, method='diff', **kwargs)[source]

Plot flux point residuals.

Parameters
axAxes

Axes to plot on.

method{“diff”, “diff/model”}

Normalization used to compute the residuals, see FluxPointsDataset.residuals.

**kwargsdict

Keyword arguments passed to errorbar.

Returns
axAxes

Axes object.

plot_spectrum(ax=None, kwargs_fp=None, kwargs_model=None, **kwargs)[source]

Plot spectrum including flux points and model.

Parameters
axAxes

Axes to plot on.

kwargs_fpdict

Keyword arguments passed to gammapy.estimators.FluxPoints.plot.

kwargs_modeldict

Keyword arguments passed to gammapy.modeling.models.SpectralModel.plot and gammapy.modeling.models.SpectralModel.plot_error.

**kwargs: dict

Keyword arguments passed to all plot methods.

Returns
axAxes

Axes object.

residuals(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 - model

  • diff/model: (data - model) / model

  • diff/sqrt(model): (data - model) / sqrt(model)

  • norm='sqrt_model' for: (flux points - model)/sqrt(model)

Returns
residualsndarray

Residuals array.

stat_array()[source]

Fit statistic array.

stat_sum()

Total statistic given the current model parameters.

to_dict(filename='')[source]

Convert to dict for YAML serialization.

write(filename, overwrite=True, **kwargs)[source]

Write flux point dataset to file.

Parameters
filenamestr

Filename to write to.

overwritebool

Overwrite existing file.

**kwargsdict

Keyword arguments passed to write.