Extension Fitting¶
The 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 found by performing a likelihood profile scan over the source width
(68% containment) and fitting for the extension that maximizes the
model likelihood. Currently this method supports two models for
extension: a 2D Gaussian (RadialGaussian) or a 2D disk
(RadialDisk).
At runtime the default settings for the extension analysis can be
overriden by passing one or more kwargs when executing
extension()
:
# Run extension fit of sourceA with default settings
>>> gta.extension('sourceA')
# Override default spatial model
>>> gta.extension('sourceA', spatial_model='RadialDisk')
By default the method will fix all background parameters before
performing the extension fit. One can leave background parameters
free by setting free_background=True
:
# Free a nearby source that maybe be partially degenerate with the
# source of interest. The normalization of SourceB will be refit
# when testing the extension of sourceA
gta.free_norm('sourceB')
gta.extension('sourceA', free_background=True)
# Fix all background parameters when testing the extension
# of sourceA
gta.extension('sourceA', free_background=False)
# Free normalizations of sources within 2 degrees of sourceA
gta.extension('sourceA', free_radius=2.0)
The results of the extension analysis are written to a dictionary which is the return value of the extension method.
ext = gta.extension('sourceA', write_npy=True, write_fits=True)
The contents of the output dictionary are given in the following table:
Key | Type | Description |
---|---|---|
name |
str |
Name of source. |
file |
str |
Name of output FITS file. |
config |
dict |
Copy of the input configuration to this method. |
width |
ndarray |
Vector of width (intrinsic 68% containment radius) values (deg). |
dloglike |
ndarray |
Delta-log-likelihood values for each point in the profile likelihood scan. |
loglike |
ndarray |
Log-likelihood values for each point in the scan over the spatial extension. |
loglike_ptsrc |
float |
Log-Likelihood value of the best-fit point-source model. |
loglike_ext |
float |
Log-Likelihood of the best-fit extended source model. |
loglike_init |
float |
Log-Likelihood of model before extension fit. |
loglike_base |
float |
Log-Likelihood of model after initial spectral fit. |
ext |
float |
Best-fit extension (68% containment radius) (deg). |
ext_err_hi |
float |
Upper (1-sigma) error on the best-fit extension (deg). |
ext_err_lo |
float |
Lower (1-sigma) error on the best-fit extension (deg). |
ext_err |
float |
Symmetric (1-sigma) error on the best-fit extension (deg). |
ext_ul95 |
float |
95% CL upper limit on the spatial extension (deg). |
ts_ext |
float |
Test statistic for the extension hypothesis. |
ebin_e_min |
ndarray |
|
ebin_e_ctr |
ndarray |
|
ebin_e_max |
ndarray |
|
ebin_ext |
ndarray |
Best-fit extension as measured in each energy bin (intrinsic 68% containment radius) (deg). |
ebin_ext_err |
ndarray |
Symmetric (1-sigma) error on best-fit extension in each energy bin (deg). |
ebin_ext_err_hi |
ndarray |
Upper (1-sigma) error on best-fit extension in each energy bin (deg). |
ebin_ext_err_lo |
ndarray |
Lower (1-sigma) error on best-fit extension in each energy bin (deg). |
ebin_ext_ul95 |
ndarray |
95% CL upper limit on best-fit extension in each energy bin (deg). |
ebin_ts_ext |
ndarray |
Test statistic for extension hypothesis in each energy bin. |
ebin_dloglike |
ndarray |
Delta-log-likelihood values for scan over the spatial extension in each energy bin. |
ebin_loglike |
ndarray |
Log-likelihood values for scan over the spatial extension in each energy bin. |
ebin_loglike_ptsrc |
ndarray |
Log-Likelihood value of the best-fit point-source model in each energy bin. |
ebin_loglike_ext |
ndarray |
Log-Likelihood value of the best-fit extended source model in each energy bin. |
ra |
float |
Right ascension of best-fit position (deg). |
dec |
float |
Declination of best-fit position (deg). |
glon |
float |
Galactic Longitude of best-fit position (deg). |
glat |
float |
Galactic Latitude of best-fit position (deg). |
ra_err |
float |
Std. deviation of positional uncertainty in right ascension (deg). |
dec_err |
float |
Std. deviation of positional uncertainty in declination (deg). |
glon_err |
float |
Std. deviation of positional uncertainty in galactic longitude (deg). |
glat_err |
float |
Std. deviation of positional uncertainty in galactic latitude (deg). |
pos_offset |
float |
Angular offset (deg) between the old and new (localized) source positions. |
pos_err |
float |
1-sigma positional uncertainty (deg). |
pos_r68 |
float |
68% positional uncertainty (deg). |
pos_r95 |
float |
95% positional uncertainty (deg). |
pos_r99 |
float |
99% positional uncertainty (deg). |
pos_err_semimajor |
float |
1-sigma uncertainty (deg) along major axis of uncertainty ellipse. |
pos_err_semiminor |
float |
1-sigma uncertainty (deg) along minor axis of uncertainty ellipse. |
pos_angle |
float |
Position angle of uncertainty ellipse with respect to major axis. |
tsmap |
Map |
|
ptsrc_tot_map |
Map |
|
ptsrc_src_map |
Map |
|
ptsrc_bkg_map |
Map |
|
ext_tot_map |
Map |
|
ext_src_map |
Map |
|
ext_bkg_map |
Map |
|
source_fit |
dict |
Dictionary with parameters of the best-fit extended source model. |
Configuration¶
The default configuration of the method is controlled with the extension section of the configuration file. The default configuration can be overriden by passing the option as a kwargs argument to the method.
Option | Default | Description |
---|---|---|
fit_ebin |
False | Perform a fit for the angular extension in each analysis energy bin. |
fit_position |
False | Perform a simultaneous fit to the source position and extension. |
fix_shape |
False | Fix spectral shape parameters of the source of interest. If True then only the normalization parameter will be fit. |
free_background |
False | Leave background parameters free when performing the fit. If True then any parameters that are currently free in the model will be fit simultaneously with the source of interest. |
free_radius |
None | Free normalizations of background sources within this angular distance in degrees from the source of interest. If None then no sources will be freed. |
make_plots |
False | Generate diagnostic plots. |
make_tsmap |
True | Make a TS map for the source of interest. |
psf_scale_fn |
None | Tuple of two vectors (logE,f) defining an energy-dependent PSF scaling function that will be applied when building spatial models for the source of interest. The tuple (logE,f) defines the fractional corrections f at the sequence of energies logE = log10(E/MeV) where f=0 corresponds to no correction. The correction function f(E) is evaluated by linearly interpolating the fractional correction factors f in log(E). The corrected PSF is given by P’(x;E) = P(x/(1+f(E));E) where x is the angular separation. |
save_model_map |
False | Save model counts cubes for the best-fit model of extension. |
spatial_model |
RadialGaussian | Spatial model that will be used to test the sourceextension. The spatial scale parameter of the model will be set such that the 68% containment radius of the model is equal to the width parameter. |
sqrt_ts_threshold |
None | Threshold on sqrt(TS_ext) that will be applied when update is True. If None then nothreshold is applied. |
tsmap_fitter |
tsmap | Set the method for generating the TS map. Valid options are tsmap or tscube. |
update |
False | Update this source with the best-fit model for spatial extension if TS_ext > tsext_threshold . |
width |
None | Sequence of values in degrees for the likelihood scan over spatial extension (68% containment radius). If this argument is None then the scan points will be determined from width_min/width_max/width_nstep. |
width_max |
1.0 | Maximum value in degrees for the likelihood scan over spatial extent. |
width_min |
0.01 | Minimum value in degrees for the likelihood scan over spatial extent. |
width_nstep |
21 | Number of scan points between width_min and width_max. Scan points will be spaced evenly on a logarithmic scale between width_min and width_max . |
write_fits |
True | Write the output to a FITS file. |
write_npy |
True | Write the output dictionary to a numpy file. |