FluxProfileEstimator#

class gammapy.estimators.FluxProfileEstimator(regions, spectrum=None, **kwargs)[source]#

Bases: gammapy.estimators.points.sed.FluxPointsEstimator

Estimate flux profiles.

Parameters
regionslist of SkyRegion

Regions to use.

spectrumSpectralModel (optional)

Spectral model to compute the fluxes or brightness. Default is power-law with spectral index of 2.

n_jobsint, optional

Number of processes used in parallel for the computation. Default is one, unless N_JOBS_DEFAULT was modified. The number of jobs is limited to the number of physical CPUs.

parallel_backend{“multiprocessing”, “ray”}, optional

Which backend to use for multiprocessing. Defaults to BACKEND_DEFAULT.

**kwargsdict, optional

Keywords forwarded to the FluxPointsEstimator (see documentation there for further description of valid keywords).

Examples

This example shows how to compute a counts profile for the Fermi galactic center region:

>>> from astropy import units as u
>>> from astropy.coordinates import SkyCoord
>>> from gammapy.data import GTI
>>> from gammapy.estimators import FluxProfileEstimator
>>> from gammapy.utils.regions import make_orthogonal_rectangle_sky_regions
>>> from gammapy.datasets import MapDataset
>>> from gammapy.maps import RegionGeom
>>> # load example data
>>> filename = "$GAMMAPY_DATA/fermi-3fhl-gc/fermi-3fhl-gc.fits.gz"
>>> dataset = MapDataset.read(filename, name="fermi-dataset")
>>> # configuration
>>> dataset.gti = GTI.create("0s", "1e7s", "2010-01-01")
>>> # creation of the boxes and axis
>>> start_pos = SkyCoord("-1d", "0d", frame='galactic')
>>> end_pos = SkyCoord("1d", "0d", frame='galactic')
>>> regions = make_orthogonal_rectangle_sky_regions(
...            start_pos=start_pos,
...            end_pos=end_pos,
...            wcs=dataset.counts.geom.wcs,
...            height=2 * u.deg,
...            nbin=21
...        )
>>> # set up profile estimator and run
>>> prof_maker = FluxProfileEstimator(regions=regions, energy_edges=[10, 2000] * u.GeV)
>>> fermi_prof = prof_maker.run(dataset)
>>> print(fermi_prof)
FluxPoints
----------

  geom                   : RegionGeom
  axes                   : ['lon', 'lat', 'energy', 'projected-distance']
  shape                  : (1, 1, 1, 21)
  quantities             : ['norm', 'norm_err', 'ts', 'npred', 'npred_excess', 'stat', 'stat_null', 'counts', 'success']
  ref. model             : pl
  n_sigma                : 1
  n_sigma_ul             : 2
  sqrt_ts_threshold_ul   : 2
  sed type init          : likelihood

Attributes Summary

config_parameters

Configuration parameters.

n_jobs

Number of jobs as an integer.

norm_max

Deprecated since version 1.2.

norm_min

Deprecated since version 1.2.

norm_n_values

Deprecated since version 1.2.

norm_values

Deprecated since version 1.2.

parallel_backend

Parallel backend as a string.

projected_distance_axis

Get projected distance from the first region.

selection_optional

tag

Methods Summary

copy()

Copy estimator.

estimate_best_fit(datasets, parameter)

Estimate parameter asymmetric errors.

estimate_counts(datasets)

Estimate counts for the flux point.

estimate_errn_errp(datasets, parameter)

Estimate parameter asymmetric errors.

estimate_flux_point(datasets, energy_min, ...)

Estimate flux point for a single energy group.

estimate_npred(datasets)

Estimate npred for the flux point.

estimate_npred_excess(datasets)

Estimate npred excess for the source.

estimate_scan(datasets, parameter)

Estimate parameter statistic scan.

estimate_ts(datasets, parameter)

Estimate parameter ts.

estimate_ul(datasets, parameter)

Estimate parameter ul.

get_scale_model(models)

Set scale model.

run(datasets)

Run flux profile estimation.

Attributes Documentation

config_parameters#

Configuration parameters.

n_jobs#

Number of jobs as an integer.

norm_max#

Deprecated since version 1.2: The norm_max attribute is deprecated and may be removed in a future version.

norm_min#

Deprecated since version 1.2: The norm_min attribute is deprecated and may be removed in a future version.

norm_n_values#

Deprecated since version 1.2: The norm_n_values attribute is deprecated and may be removed in a future version.

norm_values#

Deprecated since version 1.2: The norm_values attribute is deprecated and may be removed in a future version.

parallel_backend#

Parallel backend as a string.

projected_distance_axis#

Get projected distance from the first region.

For normal region this is defined as the distance from the center of the region. For annulus shaped regions it is the mean between the inner and outer radius.

Returns
axisMapAxis

Projected distance axis.

selection_optional#
tag = 'FluxProfileEstimator'#

Methods Documentation

copy()#

Copy estimator.

estimate_best_fit(datasets, parameter)#

Estimate parameter asymmetric errors.

Parameters
datasetsDatasets

Datasets.

parameterParameter

For which parameter to get the value.

Returns
resultdict

Dictionary with the various parameter estimation values. Entries are:

  • parameter.name: best fit parameter value.

  • “stat”: best fit total stat.

  • “success”: boolean flag for fit success.

  • parameter.name_err: covariance-based error estimate on parameter value.

static estimate_counts(datasets)#

Estimate counts for the flux point.

Parameters
datasetsDatasets

Datasets.

Returns
resultdict

Dictionary with an array with one entry per dataset with the sum of the masked counts.

estimate_errn_errp(datasets, parameter)#

Estimate parameter asymmetric errors.

Parameters
datasetsDatasets

Datasets.

parameterParameter

For which parameter to get the value.

Returns
resultdict

Dictionary with the parameter asymmetric errors. Entries are:

  • {parameter.name}_errp : positive error on parameter value.

  • {parameter.name}_errn : negative error on parameter value.

estimate_flux_point(datasets, energy_min, energy_max)#

Estimate flux point for a single energy group.

Parameters
datasetsDatasets

Datasets.

energy_min, energy_maxQuantity

Energy bounds to compute the flux point for.

Returns
resultdict

Dictionary with results for the flux point.

static estimate_npred(datasets)#

Estimate npred for the flux point.

Parameters
datasetsDatasets

Datasets.

Returns
resultdict

Dictionary with an array with one entry per dataset with the sum of the masked npred.

estimate_npred_excess(datasets)#

Estimate npred excess for the source.

Parameters
datasetsDatasets

Datasets.

Returns
resultdict

Dictionary with an array with one entry per dataset with the sum of the masked npred excess.

estimate_scan(datasets, parameter)#

Estimate parameter statistic scan.

Parameters
datasetsDatasets

The datasets used to estimate the model parameter.

parameterParameter

For which parameter to get the value.

Returns
resultdict

Dictionary with the parameter fit scan values. Entries are:

  • parameter.name_scan : parameter values scan.

  • “stat_scan” : fit statistic values scan.

estimate_ts(datasets, parameter)#

Estimate parameter ts.

Parameters
datasetsDatasets

Datasets.

parameterParameter

For which parameter to get the value.

Returns
resultdict

Dictionary with the test statistic of the best fit value compared to the null hypothesis. Entries are:

  • “ts” : fit statistic difference with null hypothesis.

  • “npred” : predicted number of counts per dataset.

  • “stat_null” : total stat corresponding to the null hypothesis

estimate_ul(datasets, parameter)#

Estimate parameter ul.

Parameters
datasetsDatasets

The datasets used to estimate the model parameter.

parameterParameter

For which parameter to get the value.

Returns
resultdict

Dictionary with the parameter upper limits. Entries are:

  • parameter.name_ul : upper limit on parameter value.

get_scale_model(models)#

Set scale model.

Parameters
modelsModels

Models.

Returns
modelScaleSpectralModel

Scale spectral model.

run(datasets)[source]#

Run flux profile estimation.

Parameters
datasetslist of MapDataset

Map datasets.

Returns
profileFluxPoints

Profile flux points.