extension() method executes
a source extension analysis for a given source by computing a
likelihood ratio test with respect to the no-extension (point-source)
hypothesis and a best-fit model for extension. The best-fit extension
is evaluated by a likelihood profile scan over the source width.
Currently this method supports two models for extension: a 2D Gaussian
(GaussianSource) or a 2D disk (DiskSource).
The default configuration of
extension() is defined in the
extension section of the configuration file:
||False||Fix any background parameters that are currently free in the model when performing the likelihood scan over extension.|
||RadialGaussian||Spatial model use for extension test.|
||None||Threshold on sqrt(TS_ext) that will be applied when
||False||Update the source model with the best-fit spatial extension.|
||None||Parameter vector for scan over spatial extent. If none then the parameter vector will be set from
||1.0||Maximum value in degrees for the likelihood scan over spatial extent.|
||0.01||Minimum value in degrees for the likelihood scan over spatial extent.|
||21||Number of steps for the spatial likelihood scan.|
At runtime the default settings for the extension analysis can be
overriden by passing one or more kwargs when executing
# Run extension fit of sourceA with default settings >>> gta.extension('sourceA') # Override default spatial model >>> gta.extension('sourceA',spatial_model='DiskSource')
By default the extension method will profile over any background parameters that were free when the method was executed. One can optionally fix all background parameters with the fix_background parameter:
# Free a nearby source that maybe be partially degenerate with the # source of interest gta.free_norm('sourceB') # Normalization of SourceB will be refit when testing the extension # of sourceA gta.extension('sourceA') # Fix all background parameters when testing the extension # of sourceA gta.extension('sourceA',fix_background=True)
The results of the extension analysis are written to a dictionary
which is the return value of the extension method. This dictionary
is also written to the extension dictionary of the corresponding
source and will also be saved in the output file generated by
ext = gta.extension('sourceA') ext = gta.roi['sourceA']
The contents of the output dictionary are described in the following table:
||Vector of width values.|
||Sequence of delta-log-likelihood values for each point in the profile likelihood scan.|
||Sequence of likelihood values for each point in the scan over the spatial extension.|
||float||Model log-Likelihood value of the best-fit point-source model.|
||float||Model log-Likelihood value of the best-fit extended source model.|
||float||Model log-Likelihood value of the baseline model.|
||float||Best-fit extension in degrees.|
||float||Upper (1 sigma) error on the best-fit extension in degrees.|
||float||Lower (1 sigma) error on the best-fit extension in degrees.|
||float||Symmetric (1 sigma) error on the best-fit extension in degrees.|
||float||95% CL upper limit on the spatial extension in degrees.|
||float||Test statistic for the extension hypothesis.|
||dict||Dictionary with parameters of the best-fit extended source model.|
||dict||Copy of the input configuration to this method.|
Test this source for spatial extension with the likelihood ratio method (TS_ext). This method will substitute an extended spatial model for the given source and perform a one-dimensional scan of the spatial extension parameter over the range specified with the width parameters. The 1-D profile likelihood is then used to compute the best-fit value, upper limit, and TS for extension. Any background parameters that are free will also be simultaneously profiled in the likelihood scan.
- name (str) – Source name.
- spatial_model (str) –
Spatial model that will be used to test the source extension. The spatial scale parameter of the respective model will be set such that the 68% containment radius of the model is equal to the width parameter. The following spatial models are supported:
- RadialDisk : Azimuthally symmetric 2D disk.
- RadialGaussian : Azimuthally symmetric 2D gaussian.
- width_min (float) – Minimum value in degrees for the spatial extension scan.
- width_max (float) – Maximum value in degrees for the spatial extension scan.
- width_nstep (int) – Number of scan points between width_min and width_max. Scan points will be spaced evenly on a logarithmic scale between log(width_min) and log(width_max).
- width (array-like) – Sequence of values in degrees for the spatial extension scan. If this argument is None then the scan points will be determined from width_min/width_max/width_nstep.
- fix_background (bool) – Fix all background sources when performing the extension fit.
- update (bool) – Update this source with the best-fit model for spatial
extension if TS_ext >
- sqrt_ts_threshold (float) – Threshold on sqrt(TS_ext) that will be applied when
updateis true. If None then no threshold will be applied.
- optimizer (dict) – Dictionary that overrides the default optimizer settings.
extension – Dictionary containing results of the extension analysis. The same dictionary is also saved to the dictionary of this source under ‘extension’.