Tools to improve a model

In this notebook I show how to use Fermipy in order to improve the model for an roi. This is done in a ROI centered on M31 (Andromeda Galaxy).

I report below the configuration file that we are going to use.

data: evfile : ./M31_data/PH.txt scfile : ./M31_data/SC/L2406171618155144574608_SC00.fits ltcube : 'ltcube_00.fits' binning: roiwidth : 12.0 binsz : 0.06 binsperdec : 8 coordsys : 'GAL' selection : emin : 300 emax : 1000000 tmin : 239557417 tmax : 512994417 zmax : 105 evclass : 128 evtype : 3 glon: 121.174 glat: -21.572 gtlike: edisp : True irfs : 'P8R2_SOURCE_V6' edisp_disable : ['isodiff','galdiff'] model: src_roiwidth : 12.0 galdiff : '$FERMI_DIFFUSE_DIR/gll_iem_v07.fits' isodiff : '$FERMI_DIFFUSE_DIR/iso_P8R2_SOURCE_V6_v06.txt' catalogs: gll_psc_v16.fit fileio: usescratch: False outdir : M31_data

We first import a few packages:

[1]:
import os
import numpy as np
from fermipy.gtanalysis import GTAnalysis
from fermipy.plotting import ROIPlotter, SEDPlotter
import matplotlib.pyplot as plt
import matplotlib
from IPython.display import Image
from math import *

Download raw data (not recommended).

[2]:
# # Set up a subdirectory for the data
# !mkdir -p M31_data/PH
# !mkdir -p M31_data/SC

# # Download the data and place into the subdirectory
# !wget -P ./M31_data/PH/ https://fermi.gsfc.nasa.gov/FTP/fermi/data/lat/queries/L2406171618155144574608_PH00.fits
# !wget -P ./M31_data/PH/ https://fermi.gsfc.nasa.gov/FTP/fermi/data/lat/queries/L2406171618155144574608_PH01.fits
# !wget -P ./M31_data/PH/ https://fermi.gsfc.nasa.gov/FTP/fermi/data/lat/queries/L2406171618155144574608_PH02.fits
# !wget -P ./M31_data/PH/ https://fermi.gsfc.nasa.gov/FTP/fermi/data/lat/queries/L2406171618155144574608_PH03.fits
# !wget -P ./M31_data/PH/ https://fermi.gsfc.nasa.gov/FTP/fermi/data/lat/queries/L2406171618155144574608_PH04.fits
# !wget -P ./M31_data/PH/ https://fermi.gsfc.nasa.gov/FTP/fermi/data/lat/queries/L2406171618155144574608_PH05.fits
# !wget -P ./M31_data/PH/ https://fermi.gsfc.nasa.gov/FTP/fermi/data/lat/queries/L2406171618155144574608_PH06.fits

# !wget -P ./M31_data/SC/ https://fermi.gsfc.nasa.gov/FTP/fermi/data/lat/queries/L2406171618155144574608_SC00.fits

# # Make a file list
# !ls ./M31_data/PH/*PH*.fits > ./M31_data/PH.txt

Download processed data

[3]:
if os.path.isfile('../data/M31_data.tar.gz'):
    !tar xzf ../data/M31_data.tar.gz
else:
    !curl -OL --output-dir ./../data/ https://raw.githubusercontent.com/fermiPy/fermipy-extras/master/data/M31_data.tar.gz
    !tar xzf ./../data/M31_data.tar.gz

Run the initial setup. Should take less than ten minutes if using the processed data, as creating the scrmap can take a while. If using the raw data then other files, such as the ltcubes, must be created. Those calculations can take hours.

[4]:
gta = GTAnalysis('./M31_data/config_M31.yaml')
gta.setup()
2026-07-17 21:49:27 INFO    GTAnalysis.__init__():
--------------------------------------------------------------------------------
fermipy version 1.4.2+32.g764b
ScienceTools version 2.5.1
2026-07-17 21:49:27 INFO    GTAnalysis.setup(): Running setup.
2026-07-17 21:49:27 INFO    GTBinnedAnalysis.setup(): Running setup for component 00
2026-07-17 21:49:27 INFO    GTBinnedAnalysis._select_data(): Skipping data selection.
2026-07-17 21:49:27 INFO    GTBinnedAnalysis.setup(): Using external LT cube.
{'Prefactor': 0, 'Index1': 1, 'Scale': 2, 'Cutoff': 3, 'Index2': 4}
2026-07-17 21:49:28 INFO    GTBinnedAnalysis._create_expcube(): Skipping gtexpcube.
WARNING: FITSFixedWarning: 'datfix' made the change 'Set DATEREF to '2001-01-01T00:01:04.184' from MJDREF.
Set MJD-OBS to 54682.655283 from DATE-OBS.
Set MJD-END to 57847.435324 from DATE-END'. [astropy.wcs.wcs]
2026-07-17 21:49:28 INFO    GTBinnedAnalysis.run_gtapp(): Running gtsrcmaps.
2026-07-17 21:49:28 INFO    GTBinnedAnalysis.run_gtapp(): time -p gtsrcmaps scfile=./M31_data/SC/L2406171618155144574608_SC00.fits sctable="SC_DATA" expcube=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/ltcube_00.fits cmap=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/ccube_00.fits srcmdl=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/srcmdl_00.xml bexpmap=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/bexpmap_00.fits wmap=none outfile=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/srcmap_00.fits irfs="P8R2_SOURCE_V6" evtype=3 convol=yes resample=yes rfactor=2 minbinsz=0.05 ptsrc=yes psfcorr=yes emapbnds=no edisp_bins=-1 copyall=no chatter=3 clobber=yes debug=no gui=no mode="ql"
2026-07-17 21:49:28 INFO    GTBinnedAnalysis.run_gtapp(): This is gtsrcmaps version HEAD
2026-07-17 21:49:28 INFO    GTBinnedAnalysis.run_gtapp(): Using evtype=3 (i.e., FRONT/BACK irfs)
2026-07-17 21:49:28 INFO    GTBinnedAnalysis.run_gtapp(): ResponseFunctions::load: IRF used: P8R2_SOURCE_V6
2026-07-17 21:49:28 INFO    GTBinnedAnalysis.run_gtapp(): event_types:  0  1
2026-07-17 21:49:34 INFO    GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0042.5+4117
2026-07-17 21:49:34 INFO    GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0040.3+4049
2026-07-17 21:49:34 INFO    GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0049.0+4224
2026-07-17 21:49:34 INFO    GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0048.0+3950
2026-07-17 21:49:34 INFO    GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0039.1+4330
2026-07-17 21:49:34 INFO    GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0032.5+3912
2026-07-17 21:49:34 INFO    GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0102.3+4217
2026-07-17 21:49:34 INFO    GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0041.9+3639
2026-07-17 21:49:34 INFO    GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0105.3+3928
2026-07-17 21:49:34 INFO    GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0023.5+4454
2026-07-17 21:49:34 INFO    GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0102.1+4458
2026-07-17 21:49:34 INFO    GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0022.7+4651
2026-07-17 21:49:34 INFO    GTBinnedAnalysis.run_gtapp(): Creating source named isodiff
2026-07-17 21:49:34 INFO    GTBinnedAnalysis.run_gtapp(): Creating source named galdiff
2026-07-17 21:49:35 INFO    GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0022.7+4651 27....................!
2026-07-17 21:49:36 INFO    GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0023.5+4454 27....................!
2026-07-17 21:49:37 INFO    GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0032.5+3912 27....................!
2026-07-17 21:49:38 INFO    GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0039.1+4330 27....................!
2026-07-17 21:49:38 INFO    GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0040.3+4049 27....................!
2026-07-17 21:49:39 INFO    GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0041.9+3639 27....................!
2026-07-17 21:49:40 INFO    GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0042.5+4117 27....................!
2026-07-17 21:49:41 INFO    GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0048.0+3950 27....................!
2026-07-17 21:49:42 INFO    GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0049.0+4224 27....................!
2026-07-17 21:49:43 INFO    GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0102.1+4458 27....................!
2026-07-17 21:49:43 INFO    GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0102.3+4217 27....................!
2026-07-17 21:49:44 INFO    GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0105.3+3928 27....................!
2026-07-17 21:51:03 INFO    GTBinnedAnalysis.run_gtapp(): Generating SourceMap for galdiff 27....................!
2026-07-17 21:52:09 INFO    GTBinnedAnalysis.run_gtapp(): Generating SourceMap for isodiff 27....................!
2026-07-17 21:52:10 INFO    GTBinnedAnalysis.run_gtapp(): Finished gtsrcmaps. Execution time: 162.03 s
2026-07-17 21:52:10 INFO    GTBinnedAnalysis.setup(): Finished setup for component 00
2026-07-17 21:52:10 INFO    GTBinnedAnalysis._create_binned_analysis(): Creating BinnedAnalysis for component 00.
2026-07-17 21:52:18 INFO    GTAnalysis.setup(): Initializing source properties
2026-07-17 21:52:22 INFO    GTAnalysis.setup(): Finished setup.

The model includes the IEM, isotropic template and 3FGL sources.

[5]:
gta.print_model()
2026-07-17 21:52:22 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.049   2.409  1.99e-06   2.56       nan       709.4
3FGL J0040.3+4049      0.640   0.422   6.4e-06   1.13       nan        52.6
3FGL J0049.0+4224      1.635   0.856  3.11e-06   1.77       nan       224.4
3FGL J0048.0+3950      1.745   0.429  4.65e-06   1.88       nan       462.9
3FGL J0039.1+4330      2.326   0.445  2.67e-06   1.96       nan       347.7
3FGL J0032.5+3912      2.825   0.791  1.28e-06   2.56       nan       445.6
3FGL J0102.3+4217      3.800   0.982  2.94e-06   2.69       nan      1143.6
3FGL J0041.9+3639      4.611   1.768   1.7e-06   1.98       nan       206.3
3FGL J0105.3+3928      4.661   0.591  2.43e-06   2.33       nan       616.4
3FGL J0023.5+4454      5.052   2.474  2.49e-06   2.57       nan       870.2
3FGL J0102.1+4458      5.121   1.034  1.43e-06   2.27       nan       347.5
3FGL J0022.7+4651      6.635   2.881   1.1e-06   2.78       nan       305.6
isodiff                  ---   1.000    0.0444   2.12       nan     34882.5
galdiff                  ---   1.000     0.213   0.00       nan     79287.4

We will make first a fit of the roi. I free sources and then I use gta.optimize()

[6]:
gta.free_sources()
gta.optimize()
2026-07-17 21:52:22 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 21:52:22 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 21:52:22 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 21:52:22 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0048.0+3950     : ['Prefactor', 'Index']
2026-07-17 21:52:22 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0039.1+4330     : ['Prefactor', 'Index']
2026-07-17 21:52:22 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0032.5+3912     : ['Prefactor', 'Index']
2026-07-17 21:52:22 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0102.3+4217     : ['Prefactor', 'Index']
2026-07-17 21:52:22 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0041.9+3639     : ['Prefactor', 'Index']
2026-07-17 21:52:22 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0105.3+3928     : ['Prefactor', 'Index']
2026-07-17 21:52:22 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0023.5+4454     : ['Prefactor', 'Index']
2026-07-17 21:52:22 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0102.1+4458     : ['Prefactor', 'Index']
2026-07-17 21:52:22 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0022.7+4651     : ['Prefactor', 'Index']
2026-07-17 21:52:22 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 21:52:22 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 21:52:22 INFO    GTAnalysis.optimize(): Starting
Joint fit  ['galdiff', 'isodiff']
/home/runner/work/fermipy/fermipy/fermipy/utils.py:791: UserWarning:
The maximal number of iterations maxit (set to 20 by the program)
allowed for finding a smoothing spline with fp=s has been reached: s
too small.
There is an approximation returned but the corresponding weighted sum
of squared residuals does not satisfy the condition abs(fp-s)/s < tol.
  spline = UnivariateSpline(x, y, k=2,
Fitting shape galdiff TS:   6180.309
Fitting shape isodiff TS:    861.205
Fitting shape 3FGL J0048.0+3950 TS:    557.785
Fitting shape 3FGL J0105.3+3928 TS:    262.683
Fitting shape 3FGL J0023.5+4454 TS:    219.454
Fitting shape 3FGL J0102.3+4217 TS:    174.087
Fitting shape 3FGL J0042.5+4117 TS:     89.877
Fitting shape 3FGL J0041.9+3639 TS:     81.777
Fitting shape 3FGL J0039.1+4330 TS:     76.530
Fitting shape 3FGL J0040.3+4049 TS:     57.079
Fitting shape 3FGL J0032.5+3912 TS:     44.531
Fitting shape 3FGL J0049.0+4224 TS:     33.632
2026-07-17 21:52:58 INFO    GTAnalysis.optimize(): Finished
2026-07-17 21:52:58 INFO    GTAnalysis.optimize(): LogLike: -246754.282072 Delta-LogLike: 343.748915
2026-07-17 21:52:58 INFO    GTAnalysis.optimize(): Execution time: 35.91 s
[6]:
{'loglike0': -247098.03098698886,
 'loglike1': -246754.28207166676,
 'dloglike': 343.74891532209585,
 'config': {'npred_threshold': 1.0,
  'npred_frac': 0.95,
  'shape_ts_threshold': 25.0,
  'max_free_sources': 5,
  'skip': [],
  'optimizer': {'optimizer': 'MINUIT',
   'tol': 0.001,
   'max_iter': 100,
   'init_lambda': 0.0001,
   'retries': 3,
   'min_fit_quality': 2,
   'verbosity': 0}}}

Then, I use gta.fit() to make a more robust fit.

[7]:
gta.fit()
gta.print_model()
gta.write_roi('initial',make_plots=True,save_model_map=True)
plt.show()
2026-07-17 21:52:58 INFO    GTAnalysis.fit(): Starting fit.
2026-07-17 21:57:32 INFO    GTAnalysis.fit(): Fit returned successfully. Quality:   2 Status: 102
2026-07-17 21:57:32 INFO    GTAnalysis.fit(): LogLike:  -246747.296 DeltaLogLike:        6.986
2026-07-17 21:57:32 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.049   1.774  1.27e-06   2.74     59.63       518.4    *
3FGL J0040.3+4049      0.640   0.202  1.89e-06   1.89     79.78       199.3    *
3FGL J0049.0+4224      1.635   0.356  1.31e-06   1.76     33.65        92.2    *
3FGL J0048.0+3950      1.745   0.663  5.84e-06   2.01    563.98       847.4    *
3FGL J0039.1+4330      2.326   0.291  1.57e-06   2.03     76.86       244.1    *
3FGL J0032.5+3912      2.825   0.702  9.76e-07   2.92     43.60       432.5    *
3FGL J0102.3+4217      3.800   0.826  2.02e-06   2.91    168.76       896.1    *
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7    *
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8    *
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3    *
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1    *
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7    *
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 21:57:32 INFO    GTBinnedAnalysis.write_xml(): Writing /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/initial_00.xml...
2026-07-17 21:57:32 INFO    GTAnalysis.write_fits(): Writing /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/initial.fits...
WARNING: Format %s cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %s cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %s cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
2026-07-17 21:57:32 INFO    GTBinnedAnalysis.write_model_map(): Generating model map for component 00.
2026-07-17 21:57:33 INFO    GTAnalysis.write_roi(): Writing /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/initial.npy...
../_images/notebooks_optimize_model_17_1.png

We see how the model is a good representation of the ROI computing the TS map using gta.tsmap.

[8]:
tsmap_postfit = gta.tsmap(prefix='TSmap_start',make_plots=True,write_fits=True,write_npy=True)
2026-07-17 21:57:36 INFO    GTAnalysis.tsmap(): Generating TS map
2026-07-17 21:57:37 INFO    GTAnalysis._make_tsmap_fast(): Fitting test source.
2026-07-17 21:59:20 INFO    GTAnalysis.tsmap(): Finished TS map
2026-07-17 21:59:20 WARNING GTAnalysis.tsmap(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/TSmap_start_pointsource_powerlaw_2.00_tsmap.npy
2026-07-17 21:59:20 INFO    GTAnalysis.tsmap(): Execution time: 104.01 s
[9]:
plt.clf()
fig = plt.figure(figsize=(14,6))
ROIPlotter(tsmap_postfit['sqrt_ts'],roi=gta.roi).plot(levels=[0,3,5,7],vmin=0,vmax=5,subplot=121,cmap='magma')
plt.gca().set_title('Sqrt(TS)')
ROIPlotter(tsmap_postfit['npred'],roi=gta.roi).plot(vmin=0,vmax=100,subplot=122,cmap='magma')
plt.gca().set_title('NPred')
plt.show()
<Figure size 640x480 with 0 Axes>
../_images/notebooks_optimize_model_20_1.png

Then, we can use the tool gta.residmap to calculatge the residuals.

[10]:
resid = gta.residmap('3fgl_j0042.5+4117_postfit',model={'SpatialModel' : 'PointSource', 'Index' : 2.0},write_fits=True,write_npy=True,make_plots=True)
2026-07-17 21:59:21 INFO    GTAnalysis.residmap(): Generating residual maps
2026-07-17 21:59:21 INFO    GTAnalysis.add_source(): Adding source residmap_testsource
2026-07-17 21:59:22 INFO    GTAnalysis.delete_source(): Deleting source residmap_testsource
2026-07-17 21:59:24 INFO    GTAnalysis.residmap(): Finished residual maps
2026-07-17 21:59:24 WARNING GTAnalysis.residmap(): Saving maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0042.5+4117_postfit_pointsource_powerlaw_2.00_residmap.npy
2026-07-17 21:59:24 INFO    GTAnalysis.residmap(): Execution time: 3.23 s
[11]:
plt.clf()
fig = plt.figure(figsize=(14,6))
ROIPlotter(resid['data'],roi=gta.roi).plot(vmin=1000,vmax=3000,subplot=121,cmap='magma')
plt.gca().set_title('Data')
ROIPlotter(resid['model'],roi=gta.roi).plot(vmin=1000,vmax=3000,subplot=122,cmap='magma')
plt.gca().set_title('Model')
plt.show()
<Figure size 640x480 with 0 Axes>
../_images/notebooks_optimize_model_23_1.png
[12]:
plt.clf()
fig = plt.figure(figsize=(14,6))
ROIPlotter(resid['sigma'],roi=gta.roi).plot(vmin=-5,vmax=5,levels=[-5,-3,3,5],subplot=121,cmap='RdBu_r')
plt.gca().set_title('Significance')
ROIPlotter(resid['excess'],roi=gta.roi).plot(vmin=-100,vmax=100,subplot=122,cmap='RdBu_r')
plt.gca().set_title('Excess')
plt.show()
<Figure size 640x480 with 0 Axes>
../_images/notebooks_optimize_model_24_1.png

As we can see there are large residuals in the TS map and in the residuals map. Therefore, we certainly have to improve our model.

[13]:
gta.delete_sources(minmax_ts=[None,25])
2026-07-17 21:59:25 INFO    GTAnalysis.delete_source(): Deleting source 3FGL J0102.1+4458
2026-07-17 21:59:25 INFO    GTAnalysis.delete_source(): Deleting source 3FGL J0022.7+4651
[13]:
[<fermipy.roi_model.Source at 0x7f78576a6550>,
 <fermipy.roi_model.Source at 0x7f78576cc310>]
[14]:
gta.load_roi('initial')
2026-07-17 21:59:26 INFO    GTAnalysis.load_roi(): Loading ROI file: /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/initial.npy
2026-07-17 21:59:26 INFO    GTBinnedAnalysis._create_binned_analysis(): Creating BinnedAnalysis for component 00.
2026-07-17 21:59:34 INFO    GTAnalysis.load_roi(): Finished Loading ROI

Source Localization

The first thing to do in order to improve the model is to relocalize the sources of your model. In particular in our case where we have 3FGL source this is particularly requested.

The localize() method can be used to spatially localize a source. Localization is performed by scanning the likelihood surface in source position in a local patch around the nominal source position. The fit to the source position proceeds in two iterations: TS Map Scan: Obtain a first estimate of the source position by generating a likelihood map of the region using the tsmap method. In this step all background parameters are fixed to their nominal values. The size of the search region used for this step is set with the dtheta_max parameter. Likelihood Scan: Refine the position of the source by performing a scan of the likelihood surface in a box centered on the best-fit position found in the first iteration. The size of the search region is set to encompass the 99% positional uncertainty contour. This method uses a full likelihood fit at each point in the likelihood scan and will re-fit all free parameters of the model. If a peak is found in the search region and the positional fit succeeds, the method will update the position of the source in the model to the new best-fit position.

We will localize all the sources in the model. We include a function to calculate the angular distance from two directions in the sky.

This will likely take tens of minutes as we are re-localising each source.

[15]:
def angular_distance_gal(L1, L2, B1, B2):
    # L : [0,2pi], e.g. lon or ra
    # B : [-pi/2,pi/2], e.g. lat or dec

    if L1==L2 and B1==B2: # skip the calculation if the coordinates are equal
        return 0
    else:
        # degrees to radians
        dtr = np.pi/180

        xx = acos( sin(B1*dtr)*sin(B2*dtr) + cos(B1*dtr)*cos(B2*dtr)*cos((L1-L2)*dtr) )

        return xx/dtr
[16]:
glon0 = np.zeros(len(gta.roi.sources))
glat0 = np.zeros(len(gta.roi.sources))
glon1 = np.zeros(len(gta.roi.sources))
glat1 = np.zeros(len(gta.roi.sources))
offset = np.zeros(len(gta.roi.sources))

for t in range(len(gta.roi.sources)-2):

    print("\nRenormalization of source %s"%gta.roi.sources[t].name, "\n")

    # Coordinates of the current localisation
    glon0[t] = gta.roi[gta.roi.sources[t].name]['glon']
    glat0[t] = gta.roi[gta.roi.sources[t].name]['glat']

    gta.free_sources(free=False)
    gta.print_model()
    gta.free_sources(skydir=gta.roi[gta.roi.sources[t].name].skydir,distance=[3.0],free=True)
    gta.print_model()
    gta.localize(gta.roi.sources[t].name, update=True, make_plots=True)

    # New localisation coordinates
    glon1[t] = gta.roi[gta.roi.sources[t].name]['glon']
    glat1[t] = gta.roi[gta.roi.sources[t].name]['glat']
    offset[t] = angular_distance_gal(glon0[t],glon1[t],glat0[t],glat1[t]) # angular distance between the old and new localisations
    gta.print_model()
2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0048.0+3950     : ['Prefactor', 'Index']
2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0039.1+4330     : ['Prefactor', 'Index']
2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0032.5+3912     : ['Prefactor', 'Index']
2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0102.3+4217     : ['Prefactor', 'Index']
2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0041.9+3639     : ['Prefactor', 'Index']
2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0105.3+3928     : ['Prefactor', 'Index']
2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0023.5+4454     : ['Prefactor', 'Index']
2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0102.1+4458     : ['Prefactor', 'Index']
2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0022.7+4651     : ['Prefactor', 'Index']
2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 21:59:34 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.049   1.774  1.27e-06   2.74     59.63       518.4
3FGL J0040.3+4049      0.640   0.202  1.89e-06   1.89     79.78       199.3
3FGL J0049.0+4224      1.635   0.356  1.31e-06   1.76     33.65        92.2
3FGL J0048.0+3950      1.745   0.663  5.84e-06   2.01    563.98       847.4
3FGL J0039.1+4330      2.326   0.291  1.57e-06   2.03     76.86       244.1
3FGL J0032.5+3912      2.825   0.702  9.76e-07   2.92     43.60       432.5
3FGL J0102.3+4217      3.800   0.826  2.02e-06   2.91    168.76       896.1
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0

2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0048.0+3950     : ['Prefactor', 'Index']
2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0039.1+4330     : ['Prefactor', 'Index']
2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0032.5+3912     : ['Prefactor', 'Index']
2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 21:59:34 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 21:59:34 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.049   1.774  1.27e-06   2.74     59.63       518.4    *
3FGL J0040.3+4049      0.640   0.202  1.89e-06   1.89     79.78       199.3    *
3FGL J0049.0+4224      1.635   0.356  1.31e-06   1.76     33.65        92.2    *
3FGL J0048.0+3950      1.745   0.663  5.84e-06   2.01    563.98       847.4    *
3FGL J0039.1+4330      2.326   0.291  1.57e-06   2.03     76.86       244.1    *
3FGL J0032.5+3912      2.825   0.702  9.76e-07   2.92     43.60       432.5    *
3FGL J0102.3+4217      3.800   0.826  2.02e-06   2.91    168.76       896.1
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 21:59:34 INFO    GTAnalysis.localize(): Running localization for 3FGL J0042.5+4117

Renormalization of source 3FGL J0042.5+4117

2026-07-17 21:59:43 INFO    GTAnalysis._localize(): Localization succeeded.
2026-07-17 21:59:43 INFO    GTAnalysis._localize(): Updating source 3FGL J0042.5+4117 to localized position.
2026-07-17 21:59:43 INFO    GTAnalysis.delete_source(): Deleting source 3FGL J0042.5+4117
2026-07-17 21:59:43 INFO    GTAnalysis.add_source(): Adding source 3FGL J0042.5+4117
2026-07-17 21:59:44 INFO    GTAnalysis._localize(): Localization completed with new position:
(  ra, dec) = (   10.6611 +/-   0.1164,   41.2954 +/-   0.1017)
(glon,glat) = (  121.1563 +/-   0.1147,  -21.5460 +/-   0.1037)
offset =   0.0239 r68 =   0.1560 r95 =   0.2517 r99 =   0.3121
2026-07-17 21:59:44 INFO    GTAnalysis._localize(): LogLike:  -246841.822 DeltaLogLike:        3.618
2026-07-17 21:59:44 INFO    GTAnalysis.localize(): Finished localization.
2026-07-17 21:59:44 WARNING GTAnalysis.localize(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0042.5+4117_loc.npy
2026-07-17 21:59:44 INFO    GTAnalysis.localize(): Execution time: 10.95 s
2026-07-17 21:59:44 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.640   0.202  1.89e-06   1.89     79.78       199.3    *
3FGL J0049.0+4224      1.635   0.356  1.31e-06   1.76     33.65        92.2    *
3FGL J0048.0+3950      1.745   0.663  5.84e-06   2.01    563.98       847.4    *
3FGL J0039.1+4330      2.326   0.291  1.57e-06   2.03     76.86       244.1    *
3FGL J0032.5+3912      2.825   0.702  9.76e-07   2.92     43.60       432.5    *
3FGL J0102.3+4217      3.800   0.826  2.02e-06   2.91    168.76       896.1
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 21:59:44 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 21:59:44 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 21:59:45 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 21:59:45 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0048.0+3950     : ['Prefactor', 'Index']
2026-07-17 21:59:45 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0039.1+4330     : ['Prefactor', 'Index']
2026-07-17 21:59:45 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0032.5+3912     : ['Prefactor', 'Index']
2026-07-17 21:59:45 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 21:59:45 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 21:59:45 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.640   0.202  1.89e-06   1.89     79.78       199.3
3FGL J0049.0+4224      1.635   0.356  1.31e-06   1.76     33.65        92.2
3FGL J0048.0+3950      1.745   0.663  5.84e-06   2.01    563.98       847.4
3FGL J0039.1+4330      2.326   0.291  1.57e-06   2.03     76.86       244.1
3FGL J0032.5+3912      2.825   0.702  9.76e-07   2.92     43.60       432.5
3FGL J0102.3+4217      3.800   0.826  2.02e-06   2.91    168.76       896.1
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0

2026-07-17 21:59:45 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 21:59:45 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 21:59:45 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0048.0+3950     : ['Prefactor', 'Index']
2026-07-17 21:59:45 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0032.5+3912     : ['Prefactor', 'Index']
2026-07-17 21:59:45 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 21:59:45 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0039.1+4330     : ['Prefactor', 'Index']
2026-07-17 21:59:45 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 21:59:45 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 21:59:45 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.640   0.202  1.89e-06   1.89     79.78       199.3    *
3FGL J0049.0+4224      1.635   0.356  1.31e-06   1.76     33.65        92.2    *
3FGL J0048.0+3950      1.745   0.663  5.84e-06   2.01    563.98       847.4    *
3FGL J0039.1+4330      2.326   0.291  1.57e-06   2.03     76.86       244.1    *
3FGL J0032.5+3912      2.825   0.702  9.76e-07   2.92     43.60       432.5    *
3FGL J0102.3+4217      3.800   0.826  2.02e-06   2.91    168.76       896.1
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 21:59:45 INFO    GTAnalysis.localize(): Running localization for 3FGL J0040.3+4049

Renormalization of source 3FGL J0040.3+4049

2026-07-17 21:59:54 INFO    GTAnalysis._localize(): Localization succeeded.
2026-07-17 21:59:54 INFO    GTAnalysis._localize(): Updating source 3FGL J0040.3+4049 to localized position.
2026-07-17 21:59:54 INFO    GTAnalysis.delete_source(): Deleting source 3FGL J0040.3+4049
2026-07-17 21:59:54 INFO    GTAnalysis.add_source(): Adding source 3FGL J0040.3+4049
/home/runner/work/fermipy/fermipy/fermipy/utils.py:791: UserWarning:
The maximal number of iterations maxit (set to 20 by the program)
allowed for finding a smoothing spline with fp=s has been reached: s
too small.
There is an approximation returned but the corresponding weighted sum
of squared residuals does not satisfy the condition abs(fp-s)/s < tol.
  spline = UnivariateSpline(x, y, k=2,
2026-07-17 21:59:55 INFO    GTAnalysis._localize(): Localization completed with new position:
(  ra, dec) = (   10.1059 +/-   0.0173,   40.8242 +/-   0.0165)
(glon,glat) = (  120.6849 +/-   0.0173,  -21.9994 +/-   0.0165)
offset =   0.0185 r68 =   0.0256 r95 =   0.0413 r99 =   0.0512
2026-07-17 21:59:55 INFO    GTAnalysis._localize(): LogLike:  -246840.846 DeltaLogLike:        0.976
2026-07-17 21:59:55 INFO    GTAnalysis.localize(): Finished localization.
2026-07-17 21:59:56 WARNING GTAnalysis.localize(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0040.3+4049_loc.npy
2026-07-17 21:59:56 INFO    GTAnalysis.localize(): Execution time: 11.08 s
2026-07-17 21:59:56 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1    *
3FGL J0049.0+4224      1.635   0.356  1.31e-06   1.76     33.65        92.2    *
3FGL J0048.0+3950      1.745   0.663  5.84e-06   2.01    563.98       847.4    *
3FGL J0039.1+4330      2.326   0.291  1.57e-06   2.03     76.86       244.1    *
3FGL J0032.5+3912      2.825   0.702  9.76e-07   2.92     43.60       432.5    *
3FGL J0102.3+4217      3.800   0.826  2.02e-06   2.91    168.76       896.1
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 21:59:56 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 21:59:56 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 21:59:56 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 21:59:56 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0048.0+3950     : ['Prefactor', 'Index']
2026-07-17 21:59:56 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0039.1+4330     : ['Prefactor', 'Index']
2026-07-17 21:59:56 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0032.5+3912     : ['Prefactor', 'Index']
2026-07-17 21:59:56 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 21:59:56 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 21:59:56 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.635   0.356  1.31e-06   1.76     33.65        92.2
3FGL J0048.0+3950      1.745   0.663  5.84e-06   2.01    563.98       847.4
3FGL J0039.1+4330      2.326   0.291  1.57e-06   2.03     76.86       244.1
3FGL J0032.5+3912      2.825   0.702  9.76e-07   2.92     43.60       432.5
3FGL J0102.3+4217      3.800   0.826  2.02e-06   2.91    168.76       896.1
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0

2026-07-17 21:59:56 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 21:59:56 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 21:59:56 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0039.1+4330     : ['Prefactor', 'Index']
2026-07-17 21:59:56 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 21:59:56 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0102.3+4217     : ['Prefactor', 'Index']
2026-07-17 21:59:56 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0048.0+3950     : ['Prefactor', 'Index']
2026-07-17 21:59:56 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 21:59:56 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 21:59:56 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1    *
3FGL J0049.0+4224      1.635   0.356  1.31e-06   1.76     33.65        92.2    *
3FGL J0048.0+3950      1.745   0.663  5.84e-06   2.01    563.98       847.4    *
3FGL J0039.1+4330      2.326   0.291  1.57e-06   2.03     76.86       244.1    *
3FGL J0032.5+3912      2.825   0.702  9.76e-07   2.92     43.60       432.5
3FGL J0102.3+4217      3.800   0.826  2.02e-06   2.91    168.76       896.1    *
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 21:59:56 INFO    GTAnalysis.localize(): Running localization for 3FGL J0049.0+4224

Renormalization of source 3FGL J0049.0+4224

2026-07-17 22:00:05 INFO    GTAnalysis._localize(): Localization succeeded.
2026-07-17 22:00:05 INFO    GTAnalysis._localize(): Updating source 3FGL J0049.0+4224 to localized position.
2026-07-17 22:00:05 INFO    GTAnalysis.delete_source(): Deleting source 3FGL J0049.0+4224
2026-07-17 22:00:05 INFO    GTAnalysis.add_source(): Adding source 3FGL J0049.0+4224
2026-07-17 22:00:06 INFO    GTAnalysis._localize(): Localization completed with new position:
(  ra, dec) = (   12.2893 +/-   0.0248,   42.4073 +/-   0.0306)
(glon,glat) = (  122.4825 +/-   0.0248,  -20.4624 +/-   0.0306)
offset =   0.0274 r68 =   0.0416 r95 =   0.0672 r99 =   0.0833
2026-07-17 22:00:06 INFO    GTAnalysis._localize(): LogLike:  -246839.487 DeltaLogLike:        1.359
2026-07-17 22:00:06 INFO    GTAnalysis.localize(): Finished localization.
2026-07-17 22:00:07 WARNING GTAnalysis.localize(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0049.0+4224_loc.npy
2026-07-17 22:00:07 INFO    GTAnalysis.localize(): Execution time: 11.12 s
2026-07-17 22:00:07 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1    *
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4    *
3FGL J0048.0+3950      1.745   0.663  5.84e-06   2.01    563.98       847.4    *
3FGL J0039.1+4330      2.326   0.291  1.57e-06   2.03     76.86       244.1    *
3FGL J0032.5+3912      2.825   0.702  9.76e-07   2.92     43.60       432.5
3FGL J0102.3+4217      3.800   0.826  2.02e-06   2.91    168.76       896.1    *
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 22:00:07 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 22:00:07 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 22:00:07 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 22:00:07 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0048.0+3950     : ['Prefactor', 'Index']
2026-07-17 22:00:07 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0039.1+4330     : ['Prefactor', 'Index']
2026-07-17 22:00:07 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0102.3+4217     : ['Prefactor', 'Index']
2026-07-17 22:00:07 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 22:00:07 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:00:07 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.745   0.663  5.84e-06   2.01    563.98       847.4
3FGL J0039.1+4330      2.326   0.291  1.57e-06   2.03     76.86       244.1
3FGL J0032.5+3912      2.825   0.702  9.76e-07   2.92     43.60       432.5
3FGL J0102.3+4217      3.800   0.826  2.02e-06   2.91    168.76       896.1
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0

2026-07-17 22:00:07 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0048.0+3950     : ['Prefactor', 'Index']
2026-07-17 22:00:07 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 22:00:07 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 22:00:07 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 22:00:07 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 22:00:07 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:00:07 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1    *
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4    *
3FGL J0048.0+3950      1.745   0.663  5.84e-06   2.01    563.98       847.4    *
3FGL J0039.1+4330      2.326   0.291  1.57e-06   2.03     76.86       244.1
3FGL J0032.5+3912      2.825   0.702  9.76e-07   2.92     43.60       432.5
3FGL J0102.3+4217      3.800   0.826  2.02e-06   2.91    168.76       896.1
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 22:00:07 INFO    GTAnalysis.localize(): Running localization for 3FGL J0048.0+3950

Renormalization of source 3FGL J0048.0+3950

2026-07-17 22:00:15 INFO    GTAnalysis._localize(): Localization succeeded.
2026-07-17 22:00:15 INFO    GTAnalysis._localize(): Updating source 3FGL J0048.0+3950 to localized position.
2026-07-17 22:00:15 INFO    GTAnalysis.delete_source(): Deleting source 3FGL J0048.0+3950
2026-07-17 22:00:15 INFO    GTAnalysis.add_source(): Adding source 3FGL J0048.0+3950
/home/runner/work/fermipy/fermipy/fermipy/utils.py:791: UserWarning:
The maximal number of iterations maxit (set to 20 by the program)
allowed for finding a smoothing spline with fp=s has been reached: s
too small.
There is an approximation returned but the corresponding weighted sum
of squared residuals does not satisfy the condition abs(fp-s)/s < tol.
  spline = UnivariateSpline(x, y, k=2,
2026-07-17 22:00:17 INFO    GTAnalysis._localize(): Localization completed with new position:
(  ra, dec) = (   11.9750 +/-   0.0089,   39.7955 +/-   0.0092)
(glon,glat) = (  122.1932 +/-   0.0089,  -23.0712 +/-   0.0092)
offset =   0.0534 r68 =   0.0137 r95 =   0.0221 r99 =   0.0274
2026-07-17 22:00:17 INFO    GTAnalysis._localize(): LogLike:  -246821.933 DeltaLogLike:       17.554
2026-07-17 22:00:17 INFO    GTAnalysis.localize(): Finished localization.
2026-07-17 22:00:17 WARNING GTAnalysis.localize(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0048.0+3950_loc.npy
2026-07-17 22:00:17 INFO    GTAnalysis.localize(): Execution time: 10.51 s
2026-07-17 22:00:17 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1    *
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4    *
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3    *
3FGL J0039.1+4330      2.326   0.291  1.57e-06   2.03     76.86       244.1
3FGL J0032.5+3912      2.825   0.702  9.76e-07   2.92     43.60       432.5
3FGL J0102.3+4217      3.800   0.826  2.02e-06   2.91    168.76       896.1
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 22:00:17 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 22:00:17 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 22:00:17 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 22:00:17 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0048.0+3950     : ['Prefactor', 'Index']
2026-07-17 22:00:17 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 22:00:17 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:00:17 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.326   0.291  1.57e-06   2.03     76.86       244.1
3FGL J0032.5+3912      2.825   0.702  9.76e-07   2.92     43.60       432.5
3FGL J0102.3+4217      3.800   0.826  2.02e-06   2.91    168.76       896.1
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0

2026-07-17 22:00:17 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0039.1+4330     : ['Prefactor', 'Index']
2026-07-17 22:00:17 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 22:00:17 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 22:00:17 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 22:00:17 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 22:00:17 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:00:17 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1    *
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4    *
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.326   0.291  1.57e-06   2.03     76.86       244.1    *
3FGL J0032.5+3912      2.825   0.702  9.76e-07   2.92     43.60       432.5
3FGL J0102.3+4217      3.800   0.826  2.02e-06   2.91    168.76       896.1
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 22:00:17 INFO    GTAnalysis.localize(): Running localization for 3FGL J0039.1+4330

Renormalization of source 3FGL J0039.1+4330

2026-07-17 22:00:26 INFO    GTAnalysis._localize(): Localization succeeded.
2026-07-17 22:00:26 INFO    GTAnalysis._localize(): Updating source 3FGL J0039.1+4330 to localized position.
2026-07-17 22:00:26 INFO    GTAnalysis.delete_source(): Deleting source 3FGL J0039.1+4330
2026-07-17 22:00:26 INFO    GTAnalysis.add_source(): Adding source 3FGL J0039.1+4330
2026-07-17 22:00:28 INFO    GTAnalysis._localize(): Localization completed with new position:
(  ra, dec) = (    9.7775 +/-   0.0188,   43.5090 +/-   0.0186)
(glon,glat) = (  120.5639 +/-   0.0188,  -19.3061 +/-   0.0186)
offset =   0.0166 r68 =   0.0283 r95 =   0.0457 r99 =   0.0567
2026-07-17 22:00:28 INFO    GTAnalysis._localize(): LogLike:  -246820.085 DeltaLogLike:        1.849
2026-07-17 22:00:28 INFO    GTAnalysis.localize(): Finished localization.
2026-07-17 22:00:28 WARNING GTAnalysis.localize(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0039.1+4330_loc.npy
2026-07-17 22:00:28 INFO    GTAnalysis.localize(): Execution time: 10.98 s
2026-07-17 22:00:28 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1    *
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4    *
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0    *
3FGL J0032.5+3912      2.825   0.702  9.76e-07   2.92     43.60       432.5
3FGL J0102.3+4217      3.800   0.826  2.02e-06   2.91    168.76       896.1
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 22:00:28 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 22:00:28 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 22:00:28 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 22:00:28 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0039.1+4330     : ['Prefactor', 'Index']
2026-07-17 22:00:28 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 22:00:28 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:00:28 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.825   0.702  9.76e-07   2.92     43.60       432.5
3FGL J0102.3+4217      3.800   0.826  2.02e-06   2.91    168.76       896.1
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0

2026-07-17 22:00:28 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0032.5+3912     : ['Prefactor', 'Index']
2026-07-17 22:00:28 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 22:00:28 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 22:00:28 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 22:00:28 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:00:28 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1    *
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.825   0.702  9.76e-07   2.92     43.60       432.5    *
3FGL J0102.3+4217      3.800   0.826  2.02e-06   2.91    168.76       896.1
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 22:00:28 INFO    GTAnalysis.localize(): Running localization for 3FGL J0032.5+3912

Renormalization of source 3FGL J0032.5+3912

2026-07-17 22:00:37 INFO    GTAnalysis._localize(): Localization succeeded.
2026-07-17 22:00:37 INFO    GTAnalysis._localize(): Updating source 3FGL J0032.5+3912 to localized position.
2026-07-17 22:00:37 INFO    GTAnalysis.delete_source(): Deleting source 3FGL J0032.5+3912
2026-07-17 22:00:37 INFO    GTAnalysis.add_source(): Adding source 3FGL J0032.5+3912
2026-07-17 22:00:38 INFO    GTAnalysis._localize(): Localization completed with new position:
(  ra, dec) = (    8.5285 +/-   0.0381,   38.9663 +/-   0.0402)
(glon,glat) = (  119.2530 +/-   0.0376,  -23.7817 +/-   0.0407)
offset =   0.3858 r68 =   0.0590 r95 =   0.0951 r99 =   0.1180
2026-07-17 22:00:38 INFO    GTAnalysis._localize(): LogLike:  -246804.512 DeltaLogLike:       15.573
2026-07-17 22:00:38 INFO    GTAnalysis.localize(): Finished localization.
2026-07-17 22:00:39 WARNING GTAnalysis.localize(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0032.5+3912_loc.npy
2026-07-17 22:00:39 INFO    GTAnalysis.localize(): Execution time: 10.79 s
2026-07-17 22:00:39 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1    *
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7    *
3FGL J0102.3+4217      3.800   0.826  2.02e-06   2.91    168.76       896.1
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 22:00:39 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 22:00:39 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 22:00:39 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0032.5+3912     : ['Prefactor', 'Index']
2026-07-17 22:00:39 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 22:00:39 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:00:39 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.826  2.02e-06   2.91    168.76       896.1
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0

2026-07-17 22:00:39 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0102.3+4217     : ['Prefactor', 'Index']
2026-07-17 22:00:39 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 22:00:39 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0102.1+4458     : ['Prefactor', 'Index']
2026-07-17 22:00:39 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0105.3+3928     : ['Prefactor', 'Index']
2026-07-17 22:00:39 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 22:00:39 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:00:39 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4    *
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.826  2.02e-06   2.91    168.76       896.1    *
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8    *
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1    *
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 22:00:39 INFO    GTAnalysis.localize(): Running localization for 3FGL J0102.3+4217

Renormalization of source 3FGL J0102.3+4217

2026-07-17 22:00:48 INFO    GTAnalysis._localize(): Localization succeeded.
2026-07-17 22:00:48 INFO    GTAnalysis._localize(): Updating source 3FGL J0102.3+4217 to localized position.
2026-07-17 22:00:48 INFO    GTAnalysis.delete_source(): Deleting source 3FGL J0102.3+4217
2026-07-17 22:00:48 INFO    GTAnalysis.add_source(): Adding source 3FGL J0102.3+4217
2026-07-17 22:00:49 INFO    GTAnalysis._localize(): Localization completed with new position:
(  ra, dec) = (   15.6197 +/-   0.0271,   42.2094 +/-   0.0243)
(glon,glat) = (  125.1159 +/-   0.0272,  -20.6155 +/-   0.0242)
offset =   0.0815 r68 =   0.0388 r95 =   0.0626 r99 =   0.0776
2026-07-17 22:00:49 INFO    GTAnalysis._localize(): LogLike:  -246796.655 DeltaLogLike:        7.857
2026-07-17 22:00:49 INFO    GTAnalysis.localize(): Finished localization.
2026-07-17 22:00:50 WARNING GTAnalysis.localize(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0102.3+4217_loc.npy
2026-07-17 22:00:50 INFO    GTAnalysis.localize(): Execution time: 10.70 s
2026-07-17 22:00:50 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4    *
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1    *
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8    *
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1    *
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 22:00:50 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 22:00:50 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0102.3+4217     : ['Prefactor', 'Index']
2026-07-17 22:00:50 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0105.3+3928     : ['Prefactor', 'Index']
2026-07-17 22:00:50 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0102.1+4458     : ['Prefactor', 'Index']
2026-07-17 22:00:50 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 22:00:50 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:00:50 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0

2026-07-17 22:00:50 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0041.9+3639     : ['Prefactor', 'Index']
2026-07-17 22:00:50 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0032.5+3912     : ['Prefactor', 'Index']
2026-07-17 22:00:50 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 22:00:50 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:00:50 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7    *
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.611   1.853   1.5e-06   2.42     93.15       409.7    *
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 22:00:50 INFO    GTAnalysis.localize(): Running localization for 3FGL J0041.9+3639

Renormalization of source 3FGL J0041.9+3639

2026-07-17 22:00:58 INFO    GTAnalysis._localize(): Localization succeeded.
2026-07-17 22:00:58 INFO    GTAnalysis._localize(): Updating source 3FGL J0041.9+3639 to localized position.
2026-07-17 22:00:58 INFO    GTAnalysis.delete_source(): Deleting source 3FGL J0041.9+3639
2026-07-17 22:00:58 INFO    GTAnalysis.add_source(): Adding source 3FGL J0041.9+3639
2026-07-17 22:00:59 INFO    GTAnalysis._localize(): Localization completed with new position:
(  ra, dec) = (   10.5305 +/-   0.0204,   36.6721 +/-   0.0192)
(glon,glat) = (  120.8508 +/-   0.0204,  -26.1620 +/-   0.0191)
offset =   0.0268 r68 =   0.0300 r95 =   0.0484 r99 =   0.0600
2026-07-17 22:00:59 INFO    GTAnalysis._localize(): LogLike:  -246793.115 DeltaLogLike:        3.540
2026-07-17 22:00:59 INFO    GTAnalysis.localize(): Finished localization.
2026-07-17 22:01:00 WARNING GTAnalysis.localize(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0041.9+3639_loc.npy
2026-07-17 22:01:00 INFO    GTAnalysis.localize(): Execution time: 10.38 s
2026-07-17 22:01:00 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7    *
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1    *
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 22:01:00 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0032.5+3912     : ['Prefactor', 'Index']
2026-07-17 22:01:00 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0041.9+3639     : ['Prefactor', 'Index']
2026-07-17 22:01:00 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 22:01:00 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:01:00 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0

2026-07-17 22:01:00 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0105.3+3928     : ['Prefactor', 'Index']
2026-07-17 22:01:00 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0102.3+4217     : ['Prefactor', 'Index']
2026-07-17 22:01:00 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 22:01:00 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:01:00 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1    *
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.661   0.675  2.83e-06   2.31    259.17       700.8    *
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 22:01:00 INFO    GTAnalysis.localize(): Running localization for 3FGL J0105.3+3928

Renormalization of source 3FGL J0105.3+3928

2026-07-17 22:01:09 INFO    GTAnalysis._localize(): Localization succeeded.
2026-07-17 22:01:09 INFO    GTAnalysis._localize(): Updating source 3FGL J0105.3+3928 to localized position.
2026-07-17 22:01:09 INFO    GTAnalysis.delete_source(): Deleting source 3FGL J0105.3+3928
2026-07-17 22:01:09 INFO    GTAnalysis.add_source(): Adding source 3FGL J0105.3+3928
2026-07-17 22:01:10 INFO    GTAnalysis._localize(): Localization completed with new position:
(  ra, dec) = (   16.3066 +/-   0.0171,   39.4850 +/-   0.0194)
(glon,glat) = (  125.8283 +/-   0.0172,  -23.3092 +/-   0.0194)
offset =   0.0223 r68 =   0.0276 r95 =   0.0446 r99 =   0.0553
2026-07-17 22:01:10 INFO    GTAnalysis._localize(): LogLike:  -246790.241 DeltaLogLike:        2.874
2026-07-17 22:01:10 INFO    GTAnalysis.localize(): Finished localization.
2026-07-17 22:01:11 WARNING GTAnalysis.localize(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0105.3+3928_loc.npy
2026-07-17 22:01:11 INFO    GTAnalysis.localize(): Execution time: 10.47 s
2026-07-17 22:01:11 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1    *
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0    *
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 22:01:11 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0102.3+4217     : ['Prefactor', 'Index']
2026-07-17 22:01:11 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0105.3+3928     : ['Prefactor', 'Index']
2026-07-17 22:01:11 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 22:01:11 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:01:11 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0

2026-07-17 22:01:11 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0023.5+4454     : ['Prefactor', 'Index']
2026-07-17 22:01:11 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0022.7+4651     : ['Prefactor', 'Index']
2026-07-17 22:01:11 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 22:01:11 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:01:11 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.052   2.284  2.54e-06   2.47    215.12       807.3    *
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7    *
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 22:01:11 INFO    GTAnalysis.localize(): Running localization for 3FGL J0023.5+4454

Renormalization of source 3FGL J0023.5+4454

2026-07-17 22:01:19 INFO    GTAnalysis._localize(): Localization succeeded.
2026-07-17 22:01:19 INFO    GTAnalysis._localize(): Updating source 3FGL J0023.5+4454 to localized position.
2026-07-17 22:01:19 INFO    GTAnalysis.delete_source(): Deleting source 3FGL J0023.5+4454
2026-07-17 22:01:19 INFO    GTAnalysis.add_source(): Adding source 3FGL J0023.5+4454
2026-07-17 22:01:21 INFO    GTAnalysis._localize(): Localization completed with new position:
(  ra, dec) = (    5.9538 +/-   0.0266,   44.9520 +/-   0.0187)
(glon,glat) = (  117.8091 +/-   0.0260,  -17.6448 +/-   0.0194)
offset =   0.0710 r68 =   0.0334 r95 =   0.0539 r99 =   0.0668
2026-07-17 22:01:21 INFO    GTAnalysis._localize(): LogLike:  -246781.041 DeltaLogLike:        9.200
2026-07-17 22:01:21 INFO    GTAnalysis.localize(): Finished localization.
2026-07-17 22:01:21 WARNING GTAnalysis.localize(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0023.5+4454_loc.npy
2026-07-17 22:01:21 INFO    GTAnalysis.localize(): Execution time: 10.53 s
2026-07-17 22:01:21 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   1.732  2.21e-06   2.37    175.66       645.6    *
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7    *
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 22:01:21 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0023.5+4454     : ['Prefactor', 'Index']
2026-07-17 22:01:21 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0022.7+4651     : ['Prefactor', 'Index']
2026-07-17 22:01:21 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 22:01:21 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:01:21 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   1.732  2.21e-06   2.37    175.66       645.6
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0

2026-07-17 22:01:21 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0102.1+4458     : ['Prefactor', 'Index']
2026-07-17 22:01:21 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0102.3+4217     : ['Prefactor', 'Index']
2026-07-17 22:01:21 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 22:01:21 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:01:21 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1    *
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   1.732  2.21e-06   2.37    175.66       645.6
3FGL J0102.1+4458      5.121   0.343  9.03e-07   1.88     21.31        92.1    *
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 22:01:21 INFO    GTAnalysis.localize(): Running localization for 3FGL J0102.1+4458

Renormalization of source 3FGL J0102.1+4458

2026-07-17 22:01:30 INFO    GTAnalysis._localize(): Localization succeeded.
2026-07-17 22:01:30 INFO    GTAnalysis._localize(): Updating source 3FGL J0102.1+4458 to localized position.
2026-07-17 22:01:30 INFO    GTAnalysis.delete_source(): Deleting source 3FGL J0102.1+4458
2026-07-17 22:01:30 INFO    GTAnalysis.add_source(): Adding source 3FGL J0102.1+4458
2026-07-17 22:01:31 INFO    GTAnalysis._localize(): Localization completed with new position:
(  ra, dec) = (   15.5648 +/-   0.0355,   44.9875 +/-   0.0342)
(glon,glat) = (  124.9417 +/-   0.0353,  -17.8420 +/-   0.0344)
offset =   0.0253 r68 =   0.0527 r95 =   0.0850 r99 =   0.1054
2026-07-17 22:01:31 INFO    GTAnalysis._localize(): LogLike:  -246780.004 DeltaLogLike:        1.037
2026-07-17 22:01:31 INFO    GTAnalysis.localize(): Finished localization.
2026-07-17 22:01:32 WARNING GTAnalysis.localize(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0102.1+4458_loc.npy
2026-07-17 22:01:32 INFO    GTAnalysis.localize(): Execution time: 10.93 s
2026-07-17 22:01:32 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1    *
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   1.732  2.21e-06   2.37    175.66       645.6
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1    *
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 22:01:32 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0102.3+4217     : ['Prefactor', 'Index']
2026-07-17 22:01:32 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0102.1+4458     : ['Prefactor', 'Index']
2026-07-17 22:01:32 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 22:01:32 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:01:32 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   1.732  2.21e-06   2.37    175.66       645.6
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0

2026-07-17 22:01:32 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0022.7+4651     : ['Prefactor', 'Index']
2026-07-17 22:01:32 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0023.5+4454     : ['Prefactor', 'Index']
2026-07-17 22:01:32 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 22:01:32 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:01:32 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   1.732  2.21e-06   2.37    175.66       645.6    *
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7    *
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

2026-07-17 22:01:32 INFO    GTAnalysis.localize(): Running localization for 3FGL J0022.7+4651

Renormalization of source 3FGL J0022.7+4651

Each lower bound must be strictly less than each upper bound.
Each lower bound must be strictly less than each upper bound.
2026-07-17 22:01:40 WARNING GTAnalysis._localize(): Fit to localization contour failed.
2026-07-17 22:01:40 WARNING GTAnalysis._localize(): Localization failed.  Keeping existing position.
2026-07-17 22:01:40 INFO    GTAnalysis._localize(): Localization completed with new position:
(  ra, dec) = (    5.2047 +/-   0.1693,   47.1091 +/-   0.1693)
(glon,glat) = (  117.5350 +/-   0.1693,  -15.4415 +/-   0.1693)
offset =   0.4172 r68 =   0.2567 r95 =   0.4142 r99 =   0.5137
2026-07-17 22:01:40 INFO    GTAnalysis._localize(): LogLike:  -246778.672 DeltaLogLike:        1.328
2026-07-17 22:01:40 INFO    GTAnalysis.localize(): Finished localization.
Initial guess is outside of provided bounds
Each lower bound must be strictly less than each upper bound.
2026-07-17 22:01:41 WARNING GTAnalysis.localize(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0022.7+4651_loc.npy
2026-07-17 22:01:41 INFO    GTAnalysis.localize(): Execution time: 8.61 s
2026-07-17 22:01:41 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   1.732  2.21e-06   2.37    175.66       645.6    *
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.260  3.29e-07   5.00      6.44       145.7    *
isodiff                  ---   0.819    0.0364   2.12    732.34     28559.0    *
galdiff                  ---   1.176     0.248   0.01  11602.15     93558.0    *

Here we have relocalized all the sources present in the model in the following way:

[17]:
print("       Old position,             new position,           offset,        posr68")
for t in range(len(gta.roi.sources)-2):
    print("(l0,b0)=(%.3f,%.3f) (l1,b1)=(%.3f,%.3f), offset=%.3f and pos_r68=%.3f"%(glon0[t],glat0[t],glon1[t],glat1[t],offset[t],gta.roi[gta.roi.sources[t].name]['pos_r68']))
       Old position,             new position,           offset,        posr68
(l0,b0)=(121.131,-21.545) (l1,b1)=(121.156,-21.546), offset=0.024 and pos_r68=0.156
(l0,b0)=(120.666,-22.005) (l1,b1)=(120.685,-21.999), offset=0.018 and pos_r68=0.026
(l0,b0)=(122.454,-20.456) (l1,b1)=(122.483,-20.462), offset=0.027 and pos_r68=0.042
(l0,b0)=(122.221,-23.024) (l1,b1)=(122.193,-23.071), offset=0.053 and pos_r68=0.014
(l0,b0)=(120.579,-19.314) (l1,b1)=(120.564,-19.306), offset=0.017 and pos_r68=0.028
(l0,b0)=(118.951,-23.513) (l1,b1)=(119.253,-23.782), offset=0.386 and pos_r68=0.059
(l0,b0)=(125.092,-20.537) (l1,b1)=(125.116,-20.616), offset=0.082 and pos_r68=0.039
(l0,b0)=(120.823,-26.171) (l1,b1)=(120.851,-26.162), offset=0.027 and pos_r68=0.030
(l0,b0)=(125.849,-23.321) (l1,b1)=(125.828,-23.309), offset=0.022 and pos_r68=0.028
(l0,b0)=(117.748,-17.685) (l1,b1)=(117.809,-17.645), offset=0.071 and pos_r68=0.033
(l0,b0)=(124.921,-17.859) (l1,b1)=(124.942,-17.842), offset=0.025 and pos_r68=0.053
(l0,b0)=(117.843,-15.735) (l1,b1)=(117.843,-15.735), offset=0.000 and pos_r68=nan

Now that we have renormalized all the 3FGL sources in the ROI we will perform an other fit.

[18]:
gta.fit()
2026-07-17 22:01:41 INFO    GTAnalysis.fit(): Starting fit.
2026-07-17 22:01:42 INFO    GTAnalysis.fit(): Fit returned successfully. Quality:   3 Status:   0
2026-07-17 22:01:42 INFO    GTAnalysis.fit(): LogLike:  -246706.203 DeltaLogLike:       73.810
[18]:
{'fit_quality': 3,
 'fit_status': 0,
 'fit_success': True,
 'dloglike': 73.80973563843872,
 'edm': 9.455225657892827e-05,
 'loglike': -246706.20347609563,
 'covariance': array([[ 2.75351204e-01,  1.69164129e-05, -1.77162042e-02,
         -5.47788830e-03, -3.97611515e-04, -3.54686032e-04,
          5.23694630e-04],
        [ 1.69164129e-05,  9.91261670e-07,  9.17577671e-07,
          3.36265887e-07, -3.29244672e-08,  2.32190445e-08,
          6.90524785e-08],
        [-1.77162042e-02,  9.17577671e-07,  4.53690462e-02,
          9.31358837e-03, -1.71883356e-04, -8.32566442e-05,
          1.25691196e-04],
        [-5.47788830e-03,  3.36265887e-07,  9.31358837e-03,
          7.15316391e-03, -1.37905288e-05, -4.22371700e-05,
         -4.45454036e-07],
        [-3.97611515e-04, -3.29244672e-08, -1.71883356e-04,
         -1.37905288e-05,  1.92195136e-04,  6.87230595e-06,
         -4.11843780e-04],
        [-3.54686032e-04,  2.32190445e-08, -8.32566442e-05,
         -4.22371700e-05,  6.87230595e-06,  3.23378130e-05,
         -4.13950092e-05],
        [ 5.23694630e-04,  6.90524785e-08,  1.25691196e-04,
         -4.45454036e-07, -4.11843780e-04, -4.13950092e-05,
          9.99484362e-04]]),
 'correlation': array([[ 1.00000000e+00,  3.23795367e-02, -1.58506605e-01,
         -1.23429962e-01, -5.46568083e-02, -1.18862613e-01,
          3.15679681e-02],
        [ 3.23795367e-02,  1.00000000e+00,  4.32682026e-03,
          3.99337015e-03, -2.38535709e-03,  4.10104812e-03,
          2.19380041e-03],
        [-1.58506605e-01,  4.32682026e-03,  1.00000000e+00,
          5.16997123e-01, -5.82080168e-02, -6.87359207e-02,
          1.86653885e-02],
        [-1.23429962e-01,  3.99337015e-03,  5.16997123e-01,
          1.00000000e+00, -1.17614437e-02, -8.78193868e-02,
         -1.66596475e-04],
        [-5.46568083e-02, -2.38535709e-03, -5.82080168e-02,
         -1.17614437e-02,  1.00000000e+00,  8.71717906e-02,
         -9.39665567e-01],
        [-1.18862613e-01,  4.10104812e-03, -6.87359207e-02,
         -8.78193868e-02,  8.71717906e-02,  1.00000000e+00,
         -2.30252662e-01],
        [ 3.15679681e-02,  2.19380041e-03,  1.86653885e-02,
         -1.66596475e-04, -9.39665567e-01, -2.30252662e-01,
          1.00000000e+00]]),
 'values': array([1.1071327 , 4.99999971, 2.14407321, 2.44928086, 1.09625666,
        0.02364903, 0.87491896]),
 'errors': array([0.52473918, 0.00099562, 0.21300011, 0.08457638, 0.01386345,
        0.00568663, 0.03161462]),
 'indices': array([ 0,  1,  3,  4, 36, 37, 39]),
 'is_norm': array([ True, False,  True, False,  True, False,  True]),
 'src_names': ['3FGL J0022.7+4651',
  '3FGL J0022.7+4651',
  '3FGL J0023.5+4454',
  '3FGL J0023.5+4454',
  'galdiff',
  'galdiff',
  'isodiff'],
 'par_names': ['Prefactor',
  'Index',
  'Prefactor',
  'Index',
  'Prefactor',
  'Index',
  'Normalization'],
 'config': {'optimizer': 'MINUIT',
  'tol': 0.001,
  'max_iter': 100,
  'init_lambda': 0.0001,
  'retries': 3,
  'min_fit_quality': 2,
  'verbosity': 0,
  'covar': True,
  'reoptimize': False},
 'niter': 1}
[19]:
tsmap_start = gta.tsmap(prefix='TSmap_start',make_plots=True,write_fits=True,write_npy=True)
2026-07-17 22:01:42 INFO    GTAnalysis.tsmap(): Generating TS map
2026-07-17 22:01:43 INFO    GTAnalysis._make_tsmap_fast(): Fitting test source.
2026-07-17 22:03:25 INFO    GTAnalysis.tsmap(): Finished TS map
2026-07-17 22:03:25 WARNING GTAnalysis.tsmap(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/TSmap_start_pointsource_powerlaw_2.00_tsmap.npy
2026-07-17 22:03:25 INFO    GTAnalysis.tsmap(): Execution time: 102.90 s
[20]:
plt.clf()
fig = plt.figure(figsize=(14,6))
ROIPlotter(tsmap_start['sqrt_ts'],roi=gta.roi).plot(levels=[0,3,5,7],vmin=0,vmax=5,subplot=121,cmap='magma')
plt.gca().set_title('Sqrt(TS)')
ROIPlotter(tsmap_start['npred'],roi=gta.roi).plot(vmin=0,vmax=100,subplot=122,cmap='magma')
plt.gca().set_title('NPred')
plt.show()
<Figure size 640x480 with 0 Axes>
../_images/notebooks_optimize_model_40_1.png
[21]:
resid_M31 = gta.residmap('M31_postfit',model={'SpatialModel' : 'PointSource', 'Index' : 2.0},write_fits=True,write_npy=True,make_plots=True)
2026-07-17 22:03:26 INFO    GTAnalysis.residmap(): Generating residual maps
2026-07-17 22:03:26 INFO    GTAnalysis.add_source(): Adding source residmap_testsource
2026-07-17 22:03:27 INFO    GTAnalysis.delete_source(): Deleting source residmap_testsource
2026-07-17 22:03:28 INFO    GTAnalysis.residmap(): Finished residual maps
2026-07-17 22:03:28 WARNING GTAnalysis.residmap(): Saving maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/M31_postfit_pointsource_powerlaw_2.00_residmap.npy
2026-07-17 22:03:28 INFO    GTAnalysis.residmap(): Execution time: 2.72 s
[22]:
plt.clf()
fig = plt.figure(figsize=(14,6))
ROIPlotter(resid_M31['data'],roi=gta.roi).plot(vmin=1000,vmax=3000,subplot=121,cmap='magma')
plt.gca().set_title('Data')
ROIPlotter(resid_M31['model'],roi=gta.roi).plot(vmin=1000,vmax=3000,subplot=122,cmap='magma')
plt.gca().set_title('Model')
plt.show()
<Figure size 640x480 with 0 Axes>
../_images/notebooks_optimize_model_42_1.png
[23]:
plt.clf()
fig = plt.figure(figsize=(14,6))
ROIPlotter(resid_M31['sigma'],roi=gta.roi).plot(vmin=-5,vmax=5,levels=[-5,-3,3,5],subplot=121,cmap='RdBu_r')
plt.gca().set_title('Significance')
ROIPlotter(resid_M31['excess'],roi=gta.roi).plot(vmin=-100,vmax=100,subplot=122,cmap='RdBu_r')
plt.gca().set_title('Excess')
plt.show()
<Figure size 640x480 with 0 Axes>
../_images/notebooks_optimize_model_43_1.png
[24]:
gta.write_roi('relocalization',make_plots=True,save_model_map=True)
2026-07-17 22:03:30 INFO    GTBinnedAnalysis.write_xml(): Writing /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/relocalization_00.xml...
2026-07-17 22:03:30 INFO    GTAnalysis.write_fits(): Writing /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/relocalization.fits...
WARNING: Format %s cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %s cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %s cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
2026-07-17 22:03:30 INFO    GTBinnedAnalysis.write_model_map(): Generating model map for component 00.
2026-07-17 22:03:31 INFO    GTAnalysis.write_roi(): Writing /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/relocalization.npy...
[25]:
gta.load_roi('relocalization')
2026-07-17 22:03:33 INFO    GTAnalysis.load_roi(): Loading ROI file: /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/relocalization.npy
2026-07-17 22:03:33 INFO    GTBinnedAnalysis._create_binned_analysis(): Creating BinnedAnalysis for component 00.
2026-07-17 22:03:41 INFO    GTAnalysis.load_roi(): Finished Loading ROI

Source Extension

Now we will run the extension to all sources using gta.extension.

[26]:
help(gta.extension)
Help on method extension in module fermipy.extension:

extension(name, **kwargs) method of fermipy.gtanalysis.GTAnalysis instance
    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.  The nuisance parameters
    that will be simultaneously fit when performing the spatial
    scan can be controlled with the ``fix_shape``,
    ``free_background``, and ``free_radius`` options.  By default
    the position of the source will be fixed to its current
    position.  A simultaneous fit to position and extension can be
    performed by setting ``fit_position`` to True.

    Parameters
    ----------
    name : str
        Source name.

    loge_bins : `~numpy.ndarray`
        Sequence of energies in log10(E/MeV) defining the edges of
        the energy bins.  If this argument is None then the
        analysis energy bins will be used.  The energies in this
        sequence must align with the bin edges of the underyling
        analysis instance.

    {options}

    optimizer : dict
        Dictionary that overrides the default optimizer settings.

    Returns
    -------
    extension : dict
        Dictionary containing results of the extension analysis.  The same
        dictionary is also saved to the dictionary of this source under
        'extension'.

We use the option update=True and sqrt_ts_threshold=3.0 that will update the spatial template of the source if the TS of extension larger than 9.

Fitting the extension for each source will likely take tens of minutes to process.

[27]:
extension_best  = np.zeros(len(gta.roi.sources))
extension_error = np.zeros(len(gta.roi.sources))
extension_ul = np.zeros(len(gta.roi.sources))
extension_TS = np.zeros(len(gta.roi.sources))

for t in range(len(gta.roi.sources)-2):

    print("\nRunning extension on source %s"%gta.roi.sources[t].name ,"\n")

    gta.free_sources(free=False)
    gta.print_model()
    gta.free_sources(skydir=gta.roi[gta.roi.sources[t].name].skydir,distance=[3.0],free=True)
    gta.print_model()
    extension = gta.extension(gta.roi.sources[t].name, update=True, width_max=5.0, sqrt_ts_threshold=3.0)
    extension_best[t] = extension['ext']
    extension_error[t] = extension['ext_err']
    extension_ul[t] = extension['ext_ul95']
    extension_TS[t] = extension['ts_ext']
    print("%.3f %.3f %.3f %.3f"%(extension['ext'],extension['ext_err'],extension['ext_ul95'],extension['ts_ext']))
    gta.print_model()
2026-07-17 22:03:41 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0023.5+4454     : ['Prefactor', 'Index']
2026-07-17 22:03:41 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0022.7+4651     : ['Prefactor', 'Index']
2026-07-17 22:03:41 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 22:03:41 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:03:41 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0

2026-07-17 22:03:41 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 22:03:41 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 22:03:41 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 22:03:41 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0048.0+3950     : ['Prefactor', 'Index']
2026-07-17 22:03:41 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0039.1+4330     : ['Prefactor', 'Index']
2026-07-17 22:03:41 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0032.5+3912     : ['Prefactor', 'Index']
2026-07-17 22:03:41 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 22:03:41 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:03:41 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1    *
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4    *
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3    *
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0    *
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7    *
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:03:41 INFO    GTAnalysis.extension(): Running extension fit for 3FGL J0042.5+4117

Running extension on source 3FGL J0042.5+4117

2026-07-17 22:04:18 INFO    GTAnalysis._extension(): Fitting extended-source model.
2026-07-17 22:04:39 INFO    GTAnalysis._extension(): Generating TS map.
2026-07-17 22:06:22 INFO    GTAnalysis._extension(): Testing point-source model.
2026-07-17 22:06:24 INFO    GTAnalysis._extension(): Best-fit extension: 5.2500 +    nan -    nan
2026-07-17 22:06:24 INFO    GTAnalysis._extension(): TS_ext:        0.000
2026-07-17 22:06:24 INFO    GTAnalysis._extension(): Extension UL:    nan
2026-07-17 22:06:24 INFO    GTAnalysis._extension(): LogLike:  -246706.223 DeltaLogLike:        5.102
2026-07-17 22:06:24 INFO    GTAnalysis.extension(): Finished extension fit.
2026-07-17 22:06:25 WARNING GTAnalysis.extension(): Saving maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0042.5+4117_ext.npy
2026-07-17 22:06:25 INFO    GTAnalysis.extension(): Execution time: 163.41 s
2026-07-17 22:06:25 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1    *
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4    *
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3    *
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0    *
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7    *
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:06:25 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 22:06:25 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 22:06:25 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 22:06:25 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0048.0+3950     : ['Prefactor', 'Index']
2026-07-17 22:06:25 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0039.1+4330     : ['Prefactor', 'Index']
2026-07-17 22:06:25 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0032.5+3912     : ['Prefactor', 'Index']
2026-07-17 22:06:25 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 22:06:25 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:06:25 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0

2026-07-17 22:06:25 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 22:06:25 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 22:06:25 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0048.0+3950     : ['Prefactor', 'Index']
2026-07-17 22:06:25 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0032.5+3912     : ['Prefactor', 'Index']
2026-07-17 22:06:25 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 22:06:25 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0039.1+4330     : ['Prefactor', 'Index']
2026-07-17 22:06:25 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 22:06:25 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:06:25 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1    *
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4    *
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3    *
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0    *
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7    *
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:06:25 INFO    GTAnalysis.extension(): Running extension fit for 3FGL J0040.3+4049
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'name': '3FGL J0042.5+4117', 'file': None, 'config': {'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}, 'width': array([0.        , 0.01      , 0.01364421, 0.01861646, 0.02540069,
       0.03465724, 0.04728708, 0.0645195 , 0.08803178, 0.12011244,
       0.16388398, 0.2236068 , 0.30509388, 0.4162766 , 0.56797668,
       0.77495949, 1.05737126, 1.44269991, 1.96845052, 2.68579588,
       3.66455719, 5.        ]), 'dloglike': array([5.82076609e-11, 9.10426024e-07, 4.43862518e-07, 4.38682036e-07,
       4.55649570e-07, 4.53524990e-07, 4.53263056e-07, 4.53379471e-07,
       4.53437679e-07, 4.53437679e-07, 4.53437679e-07, 4.53524990e-07,
       4.53583198e-07, 4.53728717e-07, 4.54048859e-07, 4.54427209e-07,
       4.55329427e-07, 4.58036084e-07, 4.83414624e-07, 2.46142736e-06,
       3.27191083e-06, 3.46114393e-06]), 'loglike': array([-246706.2231927 , -246706.22319179, -246706.22319226,
       -246706.22319227, -246706.22319225, -246706.22319225,
       -246706.22319225, -246706.22319225, -246706.22319225,
       -246706.22319225, -246706.22319225, -246706.22319225,
       -246706.22319225, -246706.22319225, -246706.22319225,
       -246706.22319225, -246706.22319225, -246706.22319225,
       -246706.22319222, -246706.22319024, -246706.22318943,
       -246706.22318924]), 'loglike_ptsrc': -246706.2231927045, 'loglike_ext': -246706.22319080457, 'loglike_init': -246711.32500258397, 'loglike_base': -246706.2231966927, 'ext': np.float64(5.250000000000002), 'ext_err_hi': np.float64(nan), 'ext_err_lo': np.float64(nan), 'ext_err': nan, 'ext_ul95': nan, 'ts_ext': 3.799854312092066e-06, 'ebin_e_min': array([], dtype=float64), 'ebin_e_ctr': array([], dtype=float64), 'ebin_e_max': array([], dtype=float64), 'ebin_ext': array([], dtype=float64), 'ebin_ext_err': array([], dtype=float64), 'ebin_ext_err_hi': array([], dtype=float64), 'ebin_ext_err_lo': array([], dtype=float64), 'ebin_ext_ul95': array([], dtype=float64), 'ebin_ts_ext': array([], dtype=float64), 'ebin_dloglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike_ptsrc': array([], dtype=float64), 'ebin_loglike_ext': array([], dtype=float64), 'ra': np.float64(10.66110472988267), 'dec': np.float64(41.29544243508944), 'glon': np.float64(121.15631790015343), 'glat': np.float64(-21.545986555499827), 'ra_err': nan, 'dec_err': nan, 'glon_err': nan, 'glat_err': nan, 'pos_offset': 0.0, 'pos_err': nan, 'pos_r68': nan, 'pos_r95': nan, 'pos_r99': nan, 'pos_err_semimajor': nan, 'pos_err_semiminor': nan, 'pos_angle': nan, 'tsmap': <gammapy.maps.wcs.ndmap.WcsNDMap object at 0x7f7860d56710>, 'ptsrc_tot_map': None, 'ptsrc_src_map': None, 'ptsrc_bkg_map': None, 'ext_tot_map': None, 'ext_src_map': None, 'ext_bkg_map': None, 'source_fit': {'param_names': array([b'Prefactor', b'Index', b'Scale', b'', b'', b'', b'', b'', b'',
       b''], dtype='|S32'), 'param_values': array([ 1.88620840e-12, -2.76115737e+00,  5.72780457e+02,             nan,
                   nan,             nan,             nan,             nan,
                   nan,             nan]), 'param_errors': array([2.66612103e-13, 1.47106276e-01,            nan,            nan,
                  nan,            nan,            nan,            nan,
                  nan,            nan]), 'ts': np.float64(68.3190135229379), 'loglike': np.float64(-246706.22319080457), 'loglike_scan': array([-246740.38269757, -246708.93402937, -246708.28440573,
       -246707.7273004 , -246707.26074034, -246706.88284555,
       -246706.5918218 , -246706.38595422, -246706.26360152,
       -246706.2231908 , -246706.25139758, -246706.33536272,
       -246706.47425532, -246706.66727091, -246706.91363007,
       -246707.21257715, -246707.56337908, -246707.96532433,
       -246708.41772184, -246708.91990007]), 'dloglike_scan': array([-3.41595068e+01, -2.71083857e+00, -2.06121493e+00, -1.50410959e+00,
       -1.03754953e+00, -6.59654741e-01, -3.68630995e-01, -1.62763416e-01,
       -4.04107128e-02,  0.00000000e+00, -2.82067800e-02, -1.12171912e-01,
       -2.51064512e-01, -4.44080107e-01, -6.90439267e-01, -9.89386341e-01,
       -1.34018828e+00, -1.74213353e+00, -2.19453103e+00, -2.69670926e+00]), 'eflux_scan': array([0.00000000e+00, 9.21851853e-07, 9.72338049e-07, 1.02282425e-06,
       1.07331044e-06, 1.12379664e-06, 1.17428284e-06, 1.22476903e-06,
       1.27525523e-06, 1.32574143e-06, 1.36809926e-06, 1.41045710e-06,
       1.45281494e-06, 1.49517278e-06, 1.53753062e-06, 1.57988845e-06,
       1.62224629e-06, 1.66460413e-06, 1.70696197e-06, 1.74931981e-06]), 'flux_scan': array([0.00000000e+00, 1.33433189e-09, 1.40740800e-09, 1.48048410e-09,
       1.55356021e-09, 1.62663631e-09, 1.69971242e-09, 1.77278852e-09,
       1.84586463e-09, 1.91894073e-09, 1.98025146e-09, 2.04156220e-09,
       2.10287293e-09, 2.16418367e-09, 2.22549440e-09, 2.28680514e-09,
       2.34811587e-09, 2.40942661e-09, 2.47073734e-09, 2.53204807e-09]), 'norm_scan': array([0.        , 1.31157153, 1.38340114, 1.45523074, 1.52706035,
       1.59888996, 1.67071957, 1.74254918, 1.81437879, 1.8862084 ,
       1.94647332, 2.00673825, 2.06700318, 2.1272681 , 2.18753303,
       2.24779796, 2.30806288, 2.36832781, 2.42859274, 2.48885766]), 'npred': 551.2493575709233, 'npred_wt': 551.2493575709233, 'pivot_energy': 773.0524211788004, 'flux': 1.9189407301388916e-09, 'flux100': 1.3287977114323877e-08, 'flux1000': 2.3010228824240635e-10, 'flux10000': 3.976911926568763e-12, 'flux_err': np.float64(2.7860244575491903e-10), 'flux100_err': np.float64(3.3892972697922866e-09), 'flux1000_err': np.float64(4.160623980380723e-11), 'flux10000_err': np.float64(1.9010305258885345e-12), 'flux_ul95': 2.3502038942788942e-09, 'flux100_ul95': 1.627432003015144e-08, 'flux1000_ul95': 2.8181552739810065e-10, 'flux10000_ul95': 4.870683992595014e-12, 'eflux': 1.3257414259525797e-06, 'eflux100': 3.0636311769710443e-06, 'eflux1000': 5.253975288154991e-07, 'eflux10000': 8.555123845510768e-08, 'eflux_err': np.float64(1.8996553153049286e-07), 'eflux100_err': np.float64(5.32013490002051e-07), 'eflux1000_err': np.float64(1.355635790939764e-07), 'eflux10000_err': np.float64(4.679802333104818e-08), 'eflux_ul95': 1.623688847260588e-06, 'eflux100_ul95': 3.7521523253250455e-06, 'eflux1000_ul95': 6.434754856536505e-07, 'eflux10000_ul95': 1.047780427085018e-07, 'dnde': 8.241944405703029e-13, 'dnde100': 2.3362233242744516e-10, 'dnde1000': 4.049085845202226e-13, 'dnde10000': 7.017777800377353e-16, 'dnde_err': np.float64(1.1067196809696847e-13), 'dnde100_err': np.float64(7.69770891084514e-11), 'dnde1000_err': np.float64(5.648763933665465e-14), 'dnde10000_err': np.float64(2.8055952981209767e-16), 'dnde_index': np.float64(2.7611573711399897), 'dnde100_index': np.float64(2.7611573710844817), 'dnde1000_index': np.float64(2.7611573711399897), 'dnde10000_index': np.float64(2.7611573711066844), 'name': '3FGL J0042.5+4117', 'spectral_pars': {'Prefactor': {'name': 'Prefactor', 'value': 1.8862083975063502, 'error': 0.26661210258800727, 'min': 1e-05, 'max': 1000.0, 'free': True, 'scale': 1e-12}, 'Index': {'name': 'Index', 'value': 2.7611573711050186, 'error': 0.14710627571132726, 'min': 0.0, 'max': 5.0, 'free': True, 'scale': -1.0}, 'Scale': {'name': 'Scale', 'value': 572.7804565, 'error': nan, 'min': 572.7804565, 'max': 572.7804565, 'free': False, 'scale': 1.0}}, 'model_counts': array([1.87938031e+02, 1.27798191e+02, 8.49086144e+01, 5.55610414e+01,
       3.58032846e+01, 2.27780755e+01, 1.41934724e+01, 8.73940611e+00,
       5.32938367e+00, 3.22095911e+00, 1.94938643e+00, 1.19372951e+00,
       7.23531911e-01, 4.37518304e-01, 2.64485666e-01, 1.60796088e-01,
       9.89480811e-02, 6.04412219e-02, 3.65185979e-02, 2.19623243e-02,
       1.32258018e-02, 7.93416769e-03, 4.78339789e-03, 2.88214767e-03,
       1.73093911e-03, 1.02354034e-03]), 'model_counts_wt': array([1.87938031e+02, 1.27798191e+02, 8.49086144e+01, 5.55610414e+01,
       3.58032846e+01, 2.27780755e+01, 1.41934724e+01, 8.73940611e+00,
       5.32938367e+00, 3.22095911e+00, 1.94938643e+00, 1.19372951e+00,
       7.23531911e-01, 4.37518304e-01, 2.64485666e-01, 1.60796088e-01,
       9.89480811e-02, 6.04412219e-02, 3.65185979e-02, 2.19623243e-02,
       1.32258018e-02, 7.93416769e-03, 4.78339789e-03, 2.88214767e-03,
       1.73093911e-03, 1.02354034e-03]), 'covar': array([[0.07108201, 0.01224807],
       [0.01224807, 0.02164026]]), 'model_flux': {'energies': array([2.99999133e+02, 3.49037461e+02, 4.06091671e+02, 4.72472050e+02,
       5.49703071e+02, 6.39558395e+02, 7.44101611e+02, 8.65733625e+02,
       1.00724780e+03, 1.17189410e+03, 1.36345374e+03, 1.58632602e+03,
       1.84562936e+03, 2.14731882e+03, 2.49832292e+03, 2.90670269e+03,
       3.38183686e+03, 3.93463720e+03, 4.57779916e+03, 5.32609337e+03,
       6.19670492e+03, 7.20962801e+03, 8.38812508e+03, 9.75926113e+03,
       1.13545252e+04, 1.32105537e+04, 1.53699715e+04, 1.78823711e+04,
       2.08054514e+04, 2.42063430e+04, 2.81631498e+04, 3.27667423e+04,
       3.81228452e+04, 4.43544652e+04, 5.16047155e+04, 6.00401030e+04,
       6.98543522e+04, 8.12728539e+04, 9.45578417e+04, 1.10014415e+05,
       1.27997543e+05, 1.48920221e+05, 1.73262954e+05, 2.01584787e+05,
       2.34536152e+05, 2.72873799e+05, 3.17478177e+05, 3.69373656e+05,
       4.29752052e+05, 4.99999995e+05]), 'log_energies': array([2.47712   , 2.54287204, 2.60862408, 2.67437612, 2.74012816,
       2.8058802 , 2.87163224, 2.93738429, 3.00313633, 3.06888837,
       3.13464041, 3.20039245, 3.26614449, 3.33189653, 3.39764857,
       3.46340061, 3.52915265, 3.59490469, 3.66065673, 3.72640878,
       3.79216082, 3.85791286, 3.9236649 , 3.98941694, 4.05516898,
       4.12092102, 4.18667306, 4.2524251 , 4.31817714, 4.38392918,
       4.44968122, 4.51543327, 4.58118531, 4.64693735, 4.71268939,
       4.77844143, 4.84419347, 4.90994551, 4.97569755, 5.04144959,
       5.10720163, 5.17295367, 5.23870571, 5.30445776, 5.3702098 ,
       5.43596184, 5.50171388, 5.56746592, 5.63321796, 5.69897   ]), 'dnde': array([1.12489232e-11, 7.40558240e-12, 4.87536894e-12, 3.20963579e-12,
       2.11302202e-12, 1.39108059e-12, 9.15799828e-13, 6.02904917e-13,
       3.96914617e-13, 2.61303581e-13, 1.72025817e-13, 1.13250961e-13,
       7.45572987e-14, 4.90838288e-14, 3.23137009e-14, 2.12733051e-14,
       1.40050040e-14, 9.22001237e-15, 6.06987534e-15, 3.99602355e-15,
       2.63073018e-15, 1.73190703e-15, 1.14017849e-15, 7.50621692e-16,
       4.94162037e-16, 3.25325156e-16, 2.14173589e-16, 1.40998399e-16,
       9.28244640e-17, 6.11097797e-17, 4.02308294e-17, 2.64854437e-17,
       1.74363477e-17, 1.14789929e-17, 7.55704585e-18, 4.97508293e-18,
       3.27528120e-18, 2.15623882e-18, 1.41953181e-18, 9.34530320e-19,
       6.15235892e-19, 4.05032555e-19, 2.66647920e-19, 1.75544193e-19,
       1.15567238e-19, 7.60821897e-20, 5.00877209e-20, 3.29746002e-20,
       2.17083996e-20, 1.42914428e-20]), 'dnde_lo': array([9.42541935e-12, 6.28601230e-12, 4.18726143e-12, 2.78473178e-12,
       1.84809299e-12, 1.22330361e-12, 8.07300529e-13, 5.31051459e-13,
       3.48232120e-13, 2.27704694e-13, 1.48542452e-13, 9.67215312e-14,
       6.28909582e-14, 4.08516786e-14, 2.65165442e-14, 1.72031199e-14,
       1.11571763e-14, 7.23457506e-15, 4.69055606e-15, 3.04101653e-15,
       1.97160209e-15, 1.27832997e-15, 8.28901224e-16, 5.37537003e-16,
       3.48631754e-16, 2.26143366e-16, 1.46711109e-16, 9.51934745e-17,
       6.17757900e-17, 4.00956848e-17, 2.60283044e-17, 1.68990907e-17,
       1.09736217e-17, 7.12697997e-18, 4.62945125e-18, 3.00760828e-18,
       1.95424966e-18, 1.27000368e-18, 8.25458301e-19, 5.36598613e-19,
       3.48872854e-19, 2.26854285e-19, 1.47532570e-19, 9.59596976e-20,
       6.24235978e-20, 4.06131439e-20, 2.64265972e-20, 1.71977506e-20,
       1.11932645e-20, 7.28610753e-21]), 'dnde_hi': array([1.34252141e-11, 8.72455351e-12, 5.67655560e-12, 3.69937313e-12,
       2.41592932e-12, 1.58186830e-12, 1.03888118e-12, 6.84480444e-13,
       4.52402879e-13, 2.99860140e-13, 1.99221713e-13, 1.32605223e-13,
       8.83877579e-14, 5.89748654e-14, 3.93782559e-14, 2.63064788e-14,
       1.75797290e-14, 1.17503278e-14, 7.85480146e-15, 5.25094293e-15,
       3.51021199e-15, 2.34642231e-15, 1.56834970e-15, 1.04817514e-15,
       7.00441415e-16, 4.68006022e-16, 3.12657483e-16, 2.08843607e-16,
       1.39478283e-16, 9.31373336e-17, 6.21830606e-17, 4.15098507e-17,
       2.77051853e-17, 1.84885154e-17, 1.23360068e-17, 8.22961232e-18,
       5.48930218e-18, 3.66090739e-18, 2.44115366e-18, 1.62756089e-18,
       1.08496605e-18, 7.23157470e-19, 4.81935025e-19, 3.21132355e-19,
       2.13954131e-19, 1.42527739e-19, 9.49338942e-20, 6.32247952e-20,
       4.21016238e-20, 2.80321606e-20]), 'dnde_err': array([2.17629090e-12, 1.31897111e-12, 8.01186655e-13, 4.89737341e-13,
       3.02907304e-13, 1.90787709e-13, 1.23081350e-13, 8.15755273e-14,
       5.54882619e-14, 3.85565590e-14, 2.71958963e-14, 1.93542618e-14,
       1.38304592e-14, 9.89103667e-15, 7.06455508e-15, 5.03317372e-15,
       3.57472506e-15, 2.53031539e-15, 1.78492612e-15, 1.25491937e-15,
       8.79481811e-16, 6.14515280e-16, 4.28171211e-16, 2.97553451e-16,
       2.06279377e-16, 1.42680866e-16, 9.84838943e-17, 6.78452078e-17,
       4.66538189e-17, 3.20275539e-17, 2.19522312e-17, 1.50244069e-17,
       1.02688376e-17, 7.00952248e-18, 4.77896092e-18, 3.25452939e-18,
       2.21402098e-18, 1.50466857e-18, 1.02162185e-18, 6.93030574e-19,
       4.69730161e-19, 3.18124915e-19, 2.15287105e-19, 1.45588162e-19,
       9.83868922e-20, 6.64455497e-20, 4.48461733e-20, 3.02501949e-20,
       2.03932242e-20, 1.37407178e-20]), 'dnde_ferr': array([0.17778567, 0.1646421 , 0.15273656, 0.14248367, 0.13436593,
       0.12887991, 0.12643628, 0.12724144, 0.13122565, 0.13806823,
       0.14730133, 0.15842555, 0.17098795, 0.18461464, 0.19901329,
       0.21396203, 0.22929493, 0.24488865, 0.2606516 , 0.27651569,
       0.2924302 , 0.3083573 , 0.32426874, 0.34014347, 0.35596589,
       0.37172449, 0.38741092, 0.40301923, 0.41854534, 0.43398658,
       0.44934142, 0.46460917, 0.4797898 , 0.49488381, 0.50989207,
       0.52481578, 0.53965634, 0.55441533, 0.56909446, 0.5836955 ,
       0.5982203 , 0.61267073, 0.62704868, 0.64135604, 0.65559468,
       0.66976645, 0.68387317, 0.69791664, 0.71189862, 0.72582081]), 'pivot_energy': 773.0524211788004}}}
5.250 nan nan 0.000

Running extension on source 3FGL J0040.3+4049

2026-07-17 22:07:02 INFO    GTAnalysis._extension(): Fitting extended-source model.
2026-07-17 22:07:24 INFO    GTAnalysis._extension(): Generating TS map.
2026-07-17 22:08:36 INFO    GTAnalysis._extension(): Testing point-source model.
2026-07-17 22:08:39 INFO    GTAnalysis._extension(): Best-fit extension: 2.2205 +    nan -    nan
2026-07-17 22:08:39 INFO    GTAnalysis._extension(): TS_ext:        0.000
2026-07-17 22:08:39 INFO    GTAnalysis._extension(): Extension UL:    nan
2026-07-17 22:08:39 INFO    GTAnalysis._extension(): LogLike:  -246708.279 DeltaLogLike:        2.267
2026-07-17 22:08:39 INFO    GTAnalysis.extension(): Finished extension fit.
2026-07-17 22:08:39 WARNING GTAnalysis.extension(): Saving maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0040.3+4049_ext.npy
2026-07-17 22:08:39 INFO    GTAnalysis.extension(): Execution time: 134.19 s
2026-07-17 22:08:39 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1    *
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4    *
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3    *
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0    *
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7    *
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:08:39 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 22:08:39 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 22:08:39 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 22:08:39 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0048.0+3950     : ['Prefactor', 'Index']
2026-07-17 22:08:39 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0039.1+4330     : ['Prefactor', 'Index']
2026-07-17 22:08:39 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0032.5+3912     : ['Prefactor', 'Index']
2026-07-17 22:08:39 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 22:08:39 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:08:39 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0

2026-07-17 22:08:39 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 22:08:39 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 22:08:39 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0039.1+4330     : ['Prefactor', 'Index']
2026-07-17 22:08:39 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 22:08:39 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0102.3+4217     : ['Prefactor', 'Index']
2026-07-17 22:08:39 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0048.0+3950     : ['Prefactor', 'Index']
2026-07-17 22:08:39 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 22:08:39 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:08:39 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1    *
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4    *
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3    *
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0    *
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1    *
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:08:39 INFO    GTAnalysis.extension(): Running extension fit for 3FGL J0049.0+4224
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'name': '3FGL J0040.3+4049', 'file': None, 'config': {'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}, 'width': array([0.        , 0.01      , 0.01364421, 0.01861646, 0.02540069,
       0.03465724, 0.04728708, 0.0645195 , 0.08803178, 0.12011244,
       0.16388398, 0.2236068 , 0.30509388, 0.4162766 , 0.56797668,
       0.77495949, 1.05737126, 1.44269991, 1.96845052, 2.68579588,
       3.66455719, 5.        ]), 'dloglike': array([ 2.91038305e-11, -1.80426287e-06, -7.29341991e-08, -2.01228831e-05,
        8.81875167e-07, -9.94987204e-06, -5.68161195e-05,  1.03694038e-06,
       -1.10781111e-05, -2.68295407e-05,  3.18133971e-07, -9.19800368e-06,
       -6.50843140e-06, -7.62971467e-06, -1.20185723e-05, -2.54020852e-05,
        1.34736183e-06, -4.78417496e-06, -1.08471431e-05, -1.55749149e-05,
       -1.42307254e-05, -1.23260543e-05]), 'loglike': array([-246708.27890971, -246708.27891152, -246708.27890978,
       -246708.27892983, -246708.27890883, -246708.27891966,
       -246708.27896653, -246708.27890867, -246708.27892079,
       -246708.27893654, -246708.27890939, -246708.27891891,
       -246708.27891622, -246708.27891734, -246708.27892173,
       -246708.27893511, -246708.27890836, -246708.2789145 ,
       -246708.27892056, -246708.27892529, -246708.27892394,
       -246708.27892204]), 'loglike_ptsrc': -246708.27890971102, 'loglike_ext': -246708.27890970738, 'loglike_init': -246710.5461160533, 'loglike_base': -246708.27890848217, 'ext': np.float64(2.2204796532251847), 'ext_err_hi': np.float64(nan), 'ext_err_lo': np.float64(nan), 'ext_err': nan, 'ext_ul95': nan, 'ts_ext': 7.275957614183426e-09, 'ebin_e_min': array([], dtype=float64), 'ebin_e_ctr': array([], dtype=float64), 'ebin_e_max': array([], dtype=float64), 'ebin_ext': array([], dtype=float64), 'ebin_ext_err': array([], dtype=float64), 'ebin_ext_err_hi': array([], dtype=float64), 'ebin_ext_err_lo': array([], dtype=float64), 'ebin_ext_ul95': array([], dtype=float64), 'ebin_ts_ext': array([], dtype=float64), 'ebin_dloglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike_ptsrc': array([], dtype=float64), 'ebin_loglike_ext': array([], dtype=float64), 'ra': np.float64(10.105852037240465), 'dec': np.float64(40.82424797277884), 'glon': np.float64(120.68485932347974), 'glat': np.float64(-21.99943801302871), 'ra_err': nan, 'dec_err': nan, 'glon_err': nan, 'glat_err': nan, 'pos_offset': 0.0, 'pos_err': nan, 'pos_r68': nan, 'pos_r95': nan, 'pos_r99': nan, 'pos_err_semimajor': nan, 'pos_err_semiminor': nan, 'pos_angle': nan, 'tsmap': <gammapy.maps.wcs.ndmap.WcsNDMap object at 0x7f7860d58c50>, 'ptsrc_tot_map': None, 'ptsrc_src_map': None, 'ptsrc_bkg_map': None, 'ext_tot_map': None, 'ext_src_map': None, 'ext_bkg_map': None, 'source_fit': {'param_names': array([b'Prefactor', b'Index', b'Scale', b'', b'', b'', b'', b'', b'',
       b''], dtype='|S32'), 'param_values': array([ 1.66402588e-16, -2.03957719e+00,  3.72019688e+04,             nan,
                   nan,             nan,             nan,             nan,
                   nan,             nan]), 'param_errors': array([1.56774489e-16, 3.60303284e-01,            nan,            nan,
                  nan,            nan,            nan,            nan,
                  nan,            nan]), 'ts': np.float64(89.70959738048259), 'loglike': np.float64(-246708.27890970738), 'loglike_scan': array([-246753.1337084 , -246710.98784896, -246710.31013136,
       -246709.7417035 , -246709.27537793, -246708.90486817,
       -246708.62463231, -246708.42975023, -246708.31582605,
       -246708.27890971, -246708.30924969, -246708.39799791,
       -246708.54290043, -246708.74187927, -246708.99301268,
       -246709.29451825, -246709.64473829, -246710.04212727,
       -246710.48524074, -246710.97272574]), 'dloglike_scan': array([-4.48547987e+01, -2.70893925e+00, -2.03122165e+00, -1.46279380e+00,
       -9.96468223e-01, -6.25958464e-01, -3.45722603e-01, -1.50840520e-01,
       -3.69163433e-02,  0.00000000e+00, -3.03399850e-02, -1.19088200e-01,
       -2.63990719e-01, -4.62969560e-01, -7.14102974e-01, -1.01560854e+00,
       -1.36582859e+00, -1.76321756e+00, -2.20633103e+00, -2.69381604e+00]), 'eflux_scan': array([0.00000000e+00, 1.16377735e-06, 1.24226953e-06, 1.32076171e-06,
       1.39925389e-06, 1.47774607e-06, 1.55623825e-06, 1.63473043e-06,
       1.71322262e-06, 1.79171480e-06, 1.86317180e-06, 1.93462880e-06,
       2.00608579e-06, 2.07754279e-06, 2.14899979e-06, 2.22045679e-06,
       2.29191379e-06, 2.36337079e-06, 2.43482779e-06, 2.50628479e-06]), 'flux_scan': array([0.00000000e+00, 5.80489192e-10, 6.19640893e-10, 6.58792594e-10,
       6.97944295e-10, 7.37095997e-10, 7.76247698e-10, 8.15399399e-10,
       8.54551100e-10, 8.93702801e-10, 9.29345372e-10, 9.64987942e-10,
       1.00063051e-09, 1.03627308e-09, 1.07191565e-09, 1.10755822e-09,
       1.14320079e-09, 1.17884336e-09, 1.21448593e-09, 1.25012850e-09]), 'norm_scan': array([0.        , 0.10808392, 0.11537376, 0.12266359, 0.12995342,
       0.13724325, 0.14453309, 0.15182292, 0.15911275, 0.16640259,
       0.17303904, 0.17967549, 0.18631194, 0.1929484 , 0.19958485,
       0.2062213 , 0.21285775, 0.21949421, 0.22613066, 0.23276711]), 'npred': 278.2847360399949, 'npred_wt': 278.2847360399949, 'pivot_energy': 2832.2948137270164, 'flux': 8.937028012272954e-10, 'flux100': 2.8011102053595924e-09, 'flux1000': 2.550533560318196e-10, 'flux10000': 2.269430716530733e-11, 'flux_err': np.float64(4.382639928802616e-10), 'flux100_err': np.float64(2.4456840837108817e-09), 'flux1000_err': np.float64(4.2098226027782734e-11), 'flux10000_err': np.float64(1.7766968882053142e-11), 'flux_ul95': 1.1418435463274268e-09, 'flux100_ul95': 3.57885149979326e-09, 'flux1000_ul95': 3.2587010822182246e-10, 'flux10000_ul95': 2.8995487246422887e-11, 'eflux': 1.7917147966085307e-06, 'eflux100': 2.0085889484564663e-06, 'eflux1000': 1.3679610757607823e-06, 'eflux10000': 7.831329823292228e-07, 'eflux_err': np.float64(8.77915771315792e-07), 'eflux100_err': np.float64(4.717339746729336e-07), 'eflux1000_err': np.float64(8.802974452419789e-07), 'eflux10000_err': np.float64(8.419324338822244e-07), 'eflux_ul95': 2.289192754635316e-06, 'eflux100_ul95': 2.566283024815434e-06, 'eflux1000_ul95': 1.7477818395998426e-06, 'eflux10000_ul95': 1.0005735022434475e-06, 'dnde': 3.178917272201521e-14, 'dnde100': 2.9109027818831954e-11, 'dnde1000': 2.657360714556429e-13, 'dnde10000': 2.4259023733865158e-15, 'dnde_err': np.float64(5.139593894179778e-15), 'dnde100_err': np.float64(3.5374894166630226e-11), 'dnde1000_err': np.float64(1.0847503885719714e-13), 'dnde10000_err': np.float64(1.1709539126743192e-15), 'dnde_index': np.float64(2.0395771908877145), 'dnde100_index': np.float64(2.0395771908766123), 'dnde1000_index': np.float64(2.0395771908877145), 'dnde10000_index': np.float64(2.0395771909099176), 'name': '3FGL J0040.3+4049', 'spectral_pars': {'Prefactor': {'name': 'Prefactor', 'value': 0.16640258771885413, 'error': 0.1567744894715768, 'min': 1e-05, 'max': 1000.0, 'free': True, 'scale': 1e-15}, 'Index': {'name': 'Index', 'value': 2.0395771908799327, 'error': 0.3603032841705773, 'min': 0.0, 'max': 5.0, 'free': True, 'scale': -1.0}, 'Scale': {'name': 'Scale', 'value': 37201.96875, 'error': nan, 'min': 37201.96875, 'max': 37201.96875, 'free': False, 'scale': 1.0}}, 'model_counts': array([5.72116842e+01, 4.77769290e+01, 3.90433993e+01, 3.14302703e+01,
       2.49041120e+01, 1.94224807e+01, 1.48272970e+01, 1.11715382e+01,
       8.34277334e+00, 6.17711227e+00, 4.59255559e+00, 3.45335366e+00,
       2.57101978e+00, 1.91067678e+00, 1.41952119e+00, 1.06173091e+00,
       8.03030367e-01, 6.02576009e-01, 4.47499594e-01, 3.30840094e-01,
       2.44866365e-01, 1.80629374e-01, 1.33867478e-01, 9.91172721e-02,
       7.30382201e-02, 5.28169418e-02]), 'model_counts_wt': array([5.72116842e+01, 4.77769290e+01, 3.90433993e+01, 3.14302703e+01,
       2.49041120e+01, 1.94224807e+01, 1.48272970e+01, 1.11715382e+01,
       8.34277334e+00, 6.17711227e+00, 4.59255559e+00, 3.45335366e+00,
       2.57101978e+00, 1.91067678e+00, 1.41952119e+00, 1.06173091e+00,
       8.03030367e-01, 6.02576009e-01, 4.47499594e-01, 3.30840094e-01,
       2.44866365e-01, 1.80629374e-01, 1.33867478e-01, 9.91172721e-02,
       7.30382201e-02, 5.28169418e-02]), 'covar': array([[ 0.02457824, -0.05564842],
       [-0.05564842,  0.12981846]]), 'model_flux': {'energies': array([2.99999133e+02, 3.49037461e+02, 4.06091671e+02, 4.72472050e+02,
       5.49703071e+02, 6.39558395e+02, 7.44101611e+02, 8.65733625e+02,
       1.00724780e+03, 1.17189410e+03, 1.36345374e+03, 1.58632602e+03,
       1.84562936e+03, 2.14731882e+03, 2.49832292e+03, 2.90670269e+03,
       3.38183686e+03, 3.93463720e+03, 4.57779916e+03, 5.32609337e+03,
       6.19670492e+03, 7.20962801e+03, 8.38812508e+03, 9.75926113e+03,
       1.13545252e+04, 1.32105537e+04, 1.53699715e+04, 1.78823711e+04,
       2.08054514e+04, 2.42063430e+04, 2.81631498e+04, 3.27667423e+04,
       3.81228452e+04, 4.43544652e+04, 5.16047155e+04, 6.00401030e+04,
       6.98543522e+04, 8.12728539e+04, 9.45578417e+04, 1.10014415e+05,
       1.27997543e+05, 1.48920221e+05, 1.73262954e+05, 2.01584787e+05,
       2.34536152e+05, 2.72873799e+05, 3.17478177e+05, 3.69373656e+05,
       4.29752052e+05, 4.99999995e+05]), 'log_energies': array([2.47712   , 2.54287204, 2.60862408, 2.67437612, 2.74012816,
       2.8058802 , 2.87163224, 2.93738429, 3.00313633, 3.06888837,
       3.13464041, 3.20039245, 3.26614449, 3.33189653, 3.39764857,
       3.46340061, 3.52915265, 3.59490469, 3.66065673, 3.72640878,
       3.79216082, 3.85791286, 3.9236649 , 3.98941694, 4.05516898,
       4.12092102, 4.18667306, 4.2524251 , 4.31817714, 4.38392918,
       4.44968122, 4.51543327, 4.58118531, 4.64693735, 4.71268939,
       4.77844143, 4.84419347, 4.90994551, 4.97569755, 5.04144959,
       5.10720163, 5.17295367, 5.23870571, 5.30445776, 5.3702098 ,
       5.43596184, 5.50171388, 5.56746592, 5.63321796, 5.69897   ]), 'dnde': array([3.09673920e-12, 2.27404089e-12, 1.66990554e-12, 1.22626842e-12,
       9.00490594e-13, 6.61260861e-13, 4.85586334e-13, 3.56582555e-13,
       2.61850695e-13, 1.92285868e-13, 1.41202051e-13, 1.03689467e-13,
       7.61427012e-14, 5.59141744e-14, 4.10596794e-14, 3.01515187e-14,
       2.21412853e-14, 1.62590986e-14, 1.19396090e-14, 8.76766082e-15,
       6.43839145e-15, 4.72792975e-15, 3.47187957e-15, 2.54951922e-15,
       1.87219865e-15, 1.37481912e-15, 1.00957643e-15, 7.41366297e-16,
       5.44410479e-16, 3.99779125e-16, 2.93571405e-16, 2.15579464e-16,
       1.58307330e-16, 1.16250455e-16, 8.53666620e-17, 6.26876424e-17,
       4.60336673e-17, 3.38040871e-17, 2.48234905e-17, 1.82287331e-17,
       1.33859785e-17, 9.82977916e-18, 7.21834106e-18, 5.30067327e-18,
       3.89246461e-18, 2.85836911e-18, 2.09899763e-18, 1.54136533e-18,
       1.13187697e-18, 8.31175741e-19]), 'dnde_lo': array([1.69719268e-12, 1.28389298e-12, 9.72027630e-13, 7.36530382e-13,
       5.58562658e-13, 4.23958708e-13, 3.22060384e-13, 2.44843459e-13,
       1.86262154e-13, 1.41756965e-13, 1.07884630e-13, 8.20394701e-14,
       6.22437462e-14, 4.69935334e-14, 3.51597901e-14, 2.59487629e-14,
       1.88605187e-14, 1.35426117e-14, 9.65214575e-15, 6.85313860e-15,
       4.85774927e-15, 3.44172499e-15, 2.43889196e-15, 1.72916256e-15,
       1.22683673e-15, 8.71136706e-16, 6.19087915e-16, 4.40341052e-16,
       3.13468034e-16, 2.23334754e-16, 1.59245586e-16, 1.13635546e-16,
       8.11491060e-17, 5.79913080e-17, 4.14704496e-17, 2.96755412e-17,
       2.12486071e-17, 1.52237822e-17, 1.09134947e-17, 7.82787289e-18,
       5.61761963e-18, 4.03348148e-18, 2.89746375e-18, 2.08236896e-18,
       1.49723874e-18, 1.07698721e-18, 7.75012962e-19, 5.57929751e-19,
       4.01805400e-19, 2.89475366e-19]), 'dnde_hi': array([5.65038596e-12, 4.02779830e-12, 2.86883257e-12, 2.04164590e-12,
       1.45173205e-12, 1.03138801e-12, 7.32142478e-13, 5.19315972e-13,
       3.68114429e-13, 2.60825668e-13, 1.84808710e-13, 1.31052840e-13,
       9.31452763e-14, 6.65281938e-14, 4.79495830e-14, 3.50349679e-14,
       2.59927377e-14, 1.95204805e-14, 1.47691784e-14, 1.12170322e-14,
       8.53335199e-15, 6.49480125e-15, 4.94238694e-15, 3.75907297e-15,
       2.85704501e-15, 2.16972561e-15, 1.64636482e-15, 1.24817794e-15,
       9.45495991e-16, 7.15622384e-16, 5.41202880e-16, 4.08978591e-16,
       3.08829168e-16, 2.33037826e-16, 1.75726742e-16, 1.32423550e-16,
       9.97288204e-17, 7.50612619e-17, 5.64627278e-17, 4.24491705e-17,
       3.18968589e-17, 2.39556222e-17, 1.79827781e-17, 1.34928717e-17,
       1.01194822e-17, 7.58623122e-18, 5.68479658e-18, 4.25825485e-18,
       3.18847249e-18, 2.38656961e-18]), 'dnde_err': array([2.55364676e-12, 1.75375741e-12, 1.19892703e-12, 8.15377482e-13,
       5.51241454e-13, 3.70127145e-13, 2.46556144e-13, 1.62733417e-13,
       1.06263734e-13, 6.85397998e-14, 4.36066586e-14, 2.73633732e-14,
       1.70025752e-14, 1.06140194e-14, 6.88990358e-15, 4.88344928e-15,
       3.85145240e-15, 3.26138187e-15, 2.82956939e-15, 2.44937135e-15,
       2.09496055e-15, 1.76687149e-15, 1.47050737e-15, 1.20955375e-15,
       9.84846368e-16, 7.94906486e-16, 6.36788391e-16, 5.06811641e-16,
       4.01085512e-16, 3.15843258e-16, 2.47631475e-16, 1.93399127e-16,
       1.50521837e-16, 1.16787371e-16, 9.03600797e-17, 6.97359075e-17,
       5.36951531e-17, 4.12571748e-17, 3.16392373e-17, 2.42204374e-17,
       1.85108804e-17, 1.41258430e-17, 1.07644371e-17, 8.19219839e-18,
       6.22701756e-18, 4.72786211e-18, 3.58579896e-18, 2.71688952e-18,
       2.05659553e-18, 1.55539387e-18]), 'dnde_ferr': array([0.63828321, 0.60331046, 0.56793779, 0.5321492 , 0.49593488,
       0.45929627, 0.42225457, 0.38486531, 0.34724421, 0.30961376,
       0.27239009, 0.23634691, 0.20291853, 0.17468433, 0.15574638,
       0.15067574, 0.16106154, 0.18383149, 0.21428812, 0.24886305,
       0.28544418, 0.32287665, 0.36053886, 0.39809671, 0.43537268,
       0.47227627, 0.50876629, 0.54482979, 0.58047005, 0.61569952,
       0.65053559, 0.6849981 , 0.71910777, 0.7528853 , 0.78635084,
       0.81952363, 0.85242191, 0.8850628 , 0.91746229, 0.94963532,
       0.98159575, 1.01335647, 1.04492945, 1.07632579, 1.10755579,
       1.13862901, 1.16955435, 1.20034006, 1.23099382, 1.26152277]), 'pivot_energy': 2832.2948137270164}}}
2.220 nan nan 0.000

Running extension on source 3FGL J0049.0+4224

2026-07-17 22:09:17 INFO    GTAnalysis._extension(): Fitting extended-source model.
2026-07-17 22:09:38 INFO    GTAnalysis._extension(): Generating TS map.
2026-07-17 22:09:48 INFO    GTAnalysis._extension(): Testing point-source model.
/home/runner/work/fermipy/fermipy/fermipy/extension.py:314: RuntimeWarning: invalid value encountered in sqrt
  np.sqrt(o['ts_ext']) > sqrt_ts_threshold):
2026-07-17 22:09:50 INFO    GTAnalysis._extension(): Best-fit extension: 0.8057 +    nan -    nan
2026-07-17 22:09:50 INFO    GTAnalysis._extension(): TS_ext:        -0.000
2026-07-17 22:09:50 INFO    GTAnalysis._extension(): Extension UL:    nan
2026-07-17 22:09:50 INFO    GTAnalysis._extension(): LogLike:  -246709.654 DeltaLogLike:        0.736
2026-07-17 22:09:50 INFO    GTAnalysis.extension(): Finished extension fit.
2026-07-17 22:09:50 WARNING GTAnalysis.extension(): Saving maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0049.0+4224_ext.npy
2026-07-17 22:09:50 INFO    GTAnalysis.extension(): Execution time: 71.72 s
2026-07-17 22:09:50 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1    *
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4    *
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3    *
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0    *
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1    *
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:09:50 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 22:09:50 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 22:09:50 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 22:09:50 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0048.0+3950     : ['Prefactor', 'Index']
2026-07-17 22:09:50 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0039.1+4330     : ['Prefactor', 'Index']
2026-07-17 22:09:50 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0102.3+4217     : ['Prefactor', 'Index']
2026-07-17 22:09:50 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 22:09:50 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:09:50 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0

2026-07-17 22:09:50 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0048.0+3950     : ['Prefactor', 'Index']
2026-07-17 22:09:50 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 22:09:50 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 22:09:50 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 22:09:50 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0032.5+3912     : ['Prefactor', 'Index']
2026-07-17 22:09:50 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 22:09:50 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:09:50 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1    *
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4    *
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3    *
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7    *
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:09:50 INFO    GTAnalysis.extension(): Running extension fit for 3FGL J0048.0+3950
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'name': '3FGL J0049.0+4224', 'file': None, 'config': {'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}, 'width': array([0.        , 0.01      , 0.01364421, 0.01861646, 0.02540069,
       0.03465724, 0.04728708, 0.0645195 , 0.08803178, 0.12011244,
       0.16388398, 0.2236068 , 0.30509388, 0.4162766 , 0.56797668,
       0.77495949, 1.05737126, 1.44269991, 1.96845052, 2.68579588,
       3.66455719, 5.        ]), 'dloglike': array([1.16997398e-08, 1.17253803e-05, 1.21587072e-05, 8.19275738e-06,
       9.58779128e-06, 1.17532327e-05, 1.06144580e-05, 1.15149887e-05,
       1.11157424e-05, 1.14709255e-05, 1.14321010e-05, 1.15618459e-05,
       1.15242728e-05, 1.13277929e-05, 1.09943212e-05, 1.05897197e-05,
       1.47963874e-07, 1.27361272e-05, 1.28097017e-05, 1.28361280e-05,
       1.28361280e-05, 1.28361280e-05]), 'loglike': array([-246709.65428477, -246709.65427305, -246709.65427262,
       -246709.65427659, -246709.65427519, -246709.65427303,
       -246709.65427417, -246709.65427327, -246709.65427366,
       -246709.65427331, -246709.65427335, -246709.65427322,
       -246709.65427326, -246709.65427345, -246709.65427379,
       -246709.65427419, -246709.65428463, -246709.65427204,
       -246709.65427197, -246709.65427194, -246709.65427194,
       -246709.65427194]), 'loglike_ptsrc': -246709.65428478003, 'loglike_ext': -246709.65429358906, 'loglike_init': -246710.3906310771, 'loglike_base': -246709.65427386417, 'ext': np.float64(0.8057387651455314), 'ext_err_hi': np.float64(nan), 'ext_err_lo': np.float64(nan), 'ext_err': nan, 'ext_ul95': nan, 'ts_ext': -1.761806197464466e-05, 'ebin_e_min': array([], dtype=float64), 'ebin_e_ctr': array([], dtype=float64), 'ebin_e_max': array([], dtype=float64), 'ebin_ext': array([], dtype=float64), 'ebin_ext_err': array([], dtype=float64), 'ebin_ext_err_hi': array([], dtype=float64), 'ebin_ext_err_lo': array([], dtype=float64), 'ebin_ext_ul95': array([], dtype=float64), 'ebin_ts_ext': array([], dtype=float64), 'ebin_dloglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike_ptsrc': array([], dtype=float64), 'ebin_loglike_ext': array([], dtype=float64), 'ra': np.float64(12.289254134304022), 'dec': np.float64(42.40732171128464), 'glon': np.float64(122.48253653285066), 'glat': np.float64(-20.462435654224535), 'ra_err': nan, 'dec_err': nan, 'glon_err': nan, 'glat_err': nan, 'pos_offset': 0.0, 'pos_err': nan, 'pos_r68': nan, 'pos_r95': nan, 'pos_r99': nan, 'pos_err_semimajor': nan, 'pos_err_semiminor': nan, 'pos_angle': nan, 'tsmap': <gammapy.maps.wcs.ndmap.WcsNDMap object at 0x7f7855eb5a50>, 'ptsrc_tot_map': None, 'ptsrc_src_map': None, 'ptsrc_bkg_map': None, 'ext_tot_map': None, 'ext_src_map': None, 'ext_bkg_map': None, 'source_fit': {'param_names': array([b'Prefactor', b'Index', b'Scale', b'', b'', b'', b'', b'', b'',
       b''], dtype='|S32'), 'param_values': array([ 3.70256537e-15, -1.78856865e+00,  6.05986719e+03,             nan,
                   nan,             nan,             nan,             nan,
                   nan,             nan]), 'param_errors': array([9.64223397e-16, 1.67231963e-01,            nan,            nan,
                  nan,            nan,            nan,            nan,
                  nan,            nan]), 'ts': np.float64(36.47863786574453), 'loglike': np.float64(-246709.65429358906), 'loglike_scan': array([-246727.89361252, -246712.36024493, -246711.64103156,
       -246711.05859481, -246710.59503912, -246710.23637535,
       -246709.97139489, -246709.79093425, -246709.68737518,
       -246709.65429359, -246709.68713251, -246709.78194972,
       -246709.93445554, -246710.14089098, -246710.39793747,
       -246710.70264568, -246711.05237867, -246711.44476599,
       -246711.87766621, -246712.34913608]), 'dloglike_scan': array([-18.23931893,  -2.70595134,  -1.98673797,  -1.40430122,
        -0.94074553,  -0.58208176,  -0.3171013 ,  -0.13664066,
        -0.03308159,   0.        ,  -0.03283892,  -0.12765613,
        -0.28016195,  -0.48659739,  -0.74364388,  -1.04835209,
        -1.39808508,  -1.7904724 ,  -2.22337262,  -2.69484249]), 'eflux_scan': array([0.00000000e+00, 6.07304301e-07, 6.93169401e-07, 7.79034502e-07,
       8.64899603e-07, 9.50764704e-07, 1.03662980e-06, 1.12249491e-06,
       1.20836001e-06, 1.29422511e-06, 1.38134851e-06, 1.46847192e-06,
       1.55559533e-06, 1.64271874e-06, 1.72984215e-06, 1.81696555e-06,
       1.90408896e-06, 1.99121237e-06, 2.07833578e-06, 2.16545919e-06]), 'flux_scan': array([0.00000000e+00, 1.42478527e-10, 1.62623178e-10, 1.82767829e-10,
       2.02912480e-10, 2.23057131e-10, 2.43201782e-10, 2.63346433e-10,
       2.83491083e-10, 3.03635734e-10, 3.24075594e-10, 3.44515454e-10,
       3.64955314e-10, 3.85395174e-10, 4.05835034e-10, 4.26274894e-10,
       4.46714754e-10, 4.67154614e-10, 4.87594474e-10, 5.08034334e-10]), 'norm_scan': array([0.        , 0.17373978, 0.19830438, 0.22286897, 0.24743356,
       0.27199816, 0.29656275, 0.32112735, 0.34569194, 0.37025654,
       0.39518111, 0.42010569, 0.44503026, 0.46995484, 0.49487941,
       0.51980399, 0.54472857, 0.56965314, 0.59457772, 0.61950229]), 'npred': 100.5442951165582, 'npred_wt': 100.5442951165582, 'pivot_energy': 5914.451009390775, 'flux': 3.036357342435125e-10, 'flux100': 7.229604958208748e-10, 'flux1000': 1.1656414988193332e-10, 'flux10000': 1.7911283229675063e-11, 'flux_err': np.float64(1.1832525156440125e-10), 'flux100_err': np.float64(3.8994624995686385e-10), 'flux1000_err': np.float64(3.2325232310443495e-11), 'flux10000_err': np.float64(6.582016643220005e-12), 'flux_ul95': 4.442568495269374e-10, 'flux100_ul95': 1.0577811370127848e-09, 'flux1000_ul95': 1.7054785110636186e-10, 'flux10000_ul95': 2.6206435413226152e-11, 'eflux': 1.294225106698746e-06, 'eflux100': 1.2138996274537487e-06, 'eflux1000': 1.0445379010881264e-06, 'eflux10000': 7.68976265953853e-07, 'eflux_err': np.float64(4.926078289229116e-07), 'eflux100_err': np.float64(3.8034329752890084e-07), 'eflux1000_err': np.float64(3.9894317825796837e-07), 'eflux10000_err': np.float64(3.7445070442789646e-07), 'eflux_ul95': 1.8936123243634146e-06, 'eflux100_ul95': 1.7760861562559916e-06, 'eflux1000_ul95': 1.5282888830757113e-06, 'eflux10000_ul95': 1.125107932782607e-06, 'dnde': 3.866960630790512e-15, 'dnde100': 5.709004250526712e-12, 'dnde1000': 9.289486679483182e-14, 'dnde10000': 1.511551909605497e-15, 'dnde_err': np.float64(1.0069119577046367e-15), 'dnde100_err': np.float64(4.169223934428117e-12), 'dnde1000_err': np.float64(3.6707529333980495e-14), 'dnde10000_err': np.float64(4.1538329381949875e-16), 'dnde_index': np.float64(1.788568650031824), 'dnde100_index': np.float64(1.788568650031824), 'dnde1000_index': np.float64(1.788568650031824), 'dnde10000_index': np.float64(1.7885686500540279), 'name': '3FGL J0049.0+4224', 'spectral_pars': {'Prefactor': {'name': 'Prefactor', 'value': 0.3702565372224691, 'error': 0.09642233970870906, 'min': 1e-05, 'max': 1000.0, 'free': True, 'scale': 1e-14}, 'Index': {'name': 'Index', 'value': 1.7885686500364153, 'error': 0.16723196277287766, 'min': 0.0, 'max': 5.0, 'free': True, 'scale': -1.0}, 'Scale': {'name': 'Scale', 'value': 6059.867188, 'error': nan, 'min': 6059.867188, 'max': 6059.867188, 'free': False, 'scale': 1.0}}, 'model_counts': array([15.6625433 , 14.05625122, 12.34858705, 10.68129032,  9.08916843,
        7.60666217,  6.23061056,  5.03691936,  4.03821147,  3.21033609,
        2.56580208,  2.07285824,  1.65747099,  1.32369666,  1.05675752,
        0.84904945,  0.68940194,  0.55558768,  0.44335481,  0.3522397 ,
        0.28012815,  0.22209278,  0.17688326,  0.14070462,  0.11133997,
        0.0863473 ]), 'model_counts_wt': array([15.6625433 , 14.05625122, 12.34858705, 10.68129032,  9.08916843,
        7.60666217,  6.23061056,  5.03691936,  4.03821147,  3.21033609,
        2.56580208,  2.07285824,  1.65747099,  1.32369666,  1.05675752,
        0.84904945,  0.68940194,  0.55558768,  0.44335481,  0.3522397 ,
        0.28012815,  0.22209278,  0.17688326,  0.14070462,  0.11133997,
        0.0863473 ]), 'covar': array([[ 0.00929727, -0.00025234],
       [-0.00025234,  0.02796653]]), 'model_flux': {'energies': array([2.99999133e+02, 3.49037461e+02, 4.06091671e+02, 4.72472050e+02,
       5.49703071e+02, 6.39558395e+02, 7.44101611e+02, 8.65733625e+02,
       1.00724780e+03, 1.17189410e+03, 1.36345374e+03, 1.58632602e+03,
       1.84562936e+03, 2.14731882e+03, 2.49832292e+03, 2.90670269e+03,
       3.38183686e+03, 3.93463720e+03, 4.57779916e+03, 5.32609337e+03,
       6.19670492e+03, 7.20962801e+03, 8.38812508e+03, 9.75926113e+03,
       1.13545252e+04, 1.32105537e+04, 1.53699715e+04, 1.78823711e+04,
       2.08054514e+04, 2.42063430e+04, 2.81631498e+04, 3.27667423e+04,
       3.81228452e+04, 4.43544652e+04, 5.16047155e+04, 6.00401030e+04,
       6.98543522e+04, 8.12728539e+04, 9.45578417e+04, 1.10014415e+05,
       1.27997543e+05, 1.48920221e+05, 1.73262954e+05, 2.01584787e+05,
       2.34536152e+05, 2.72873799e+05, 3.17478177e+05, 3.69373656e+05,
       4.29752052e+05, 4.99999995e+05]), 'log_energies': array([2.47712   , 2.54287204, 2.60862408, 2.67437612, 2.74012816,
       2.8058802 , 2.87163224, 2.93738429, 3.00313633, 3.06888837,
       3.13464041, 3.20039245, 3.26614449, 3.33189653, 3.39764857,
       3.46340061, 3.52915265, 3.59490469, 3.66065673, 3.72640878,
       3.79216082, 3.85791286, 3.9236649 , 3.98941694, 4.05516898,
       4.12092102, 4.18667306, 4.2524251 , 4.31817714, 4.38392918,
       4.44968122, 4.51543327, 4.58118531, 4.64693735, 4.71268939,
       4.77844143, 4.84419347, 4.90994551, 4.97569755, 5.04144959,
       5.10720163, 5.17295367, 5.23870571, 5.30445776, 5.3702098 ,
       5.43596184, 5.50171388, 5.56746592, 5.63321796, 5.69897   ]), 'dnde': array([8.00199899e-13, 6.10374601e-13, 4.65580105e-13, 3.55134100e-13,
       2.70888355e-13, 2.06627584e-13, 1.57610904e-13, 1.20222075e-13,
       9.17027123e-14, 6.99487797e-14, 5.33553660e-14, 4.06982808e-14,
       3.10437391e-14, 2.36794705e-14, 1.80621709e-14, 1.37774203e-14,
       1.05091084e-14, 8.01611301e-15, 6.11451187e-15, 4.66401301e-15,
       3.55760490e-15, 2.71366152e-15, 2.06992036e-15, 1.57888900e-15,
       1.20434124e-15, 9.18644586e-16, 7.00721562e-16, 5.34494748e-16,
       4.07700650e-16, 3.10984945e-16, 2.37212366e-16, 1.80940292e-16,
       1.38017211e-16, 1.05276444e-16, 8.03025192e-17, 6.12529672e-17,
       4.67223945e-17, 3.56387984e-17, 2.71844790e-17, 2.07357131e-17,
       1.58167386e-17, 1.20646547e-17, 9.20264903e-18, 7.01957503e-18,
       5.35437496e-18, 4.08419757e-18, 3.11533464e-18, 2.37630764e-18,
       1.81259437e-18, 1.38260648e-18]), 'dnde_lo': array([5.12137932e-13, 3.96307440e-13, 3.06682972e-13, 2.37327346e-13,
       1.83650723e-13, 1.42104333e-13, 1.09943952e-13, 8.50471921e-14,
       6.57723687e-14, 5.08494452e-14, 3.92957678e-14, 3.03509399e-14,
       2.34264809e-14, 1.80669069e-14, 1.39196349e-14, 1.07117024e-14,
       8.23175230e-15, 6.31608618e-15, 4.83786234e-15, 3.69873113e-15,
       2.82236353e-15, 2.14945628e-15, 1.63388866e-15, 1.23977324e-15,
       9.39193065e-16, 7.10458861e-16, 5.36757008e-16, 4.05091818e-16,
       3.05452274e-16, 2.30153313e-16, 1.73315172e-16, 1.30453140e-16,
       9.81558805e-17, 7.38346242e-17, 5.55287213e-17, 4.17556922e-17,
       3.13961311e-17, 2.36057182e-17, 1.77481856e-17, 1.33443901e-17,
       1.00337130e-17, 7.54485892e-18, 5.67379793e-18, 4.26712556e-18,
       3.20952132e-18, 2.41430414e-18, 1.81632440e-18, 1.36661700e-18,
       1.02838068e-18, 7.73955488e-19]), 'dnde_hi': array([1.25028794e-12, 9.40071054e-13, 7.06804272e-13, 5.31418865e-13,
       3.99565545e-13, 3.00447970e-13, 2.25944188e-13, 1.69945027e-13,
       1.27855931e-13, 9.62219305e-14, 7.24453354e-14, 5.45732709e-14,
       4.11377939e-14, 3.10356015e-14, 2.34375414e-14, 1.77205551e-14,
       1.34165065e-14, 1.01737161e-14, 7.72805274e-15, 5.88121078e-15,
       4.48438073e-15, 3.42596353e-15, 2.62231474e-15, 2.01076325e-15,
       1.54434470e-15, 1.18783497e-15, 9.14772793e-16, 7.05234278e-16,
       5.44176075e-16, 4.20205272e-16, 3.24666941e-16, 2.50966664e-16,
       1.94066321e-16, 1.50107485e-16, 1.16128995e-16, 8.98542399e-17,
       6.95302916e-17, 5.38057747e-17, 4.16378281e-17, 3.22210154e-17,
       2.49328657e-17, 1.92920630e-17, 1.49262893e-17, 1.15474534e-17,
       8.93258788e-18, 6.90910043e-18, 5.34337912e-18, 4.13198285e-18,
       3.19482698e-18, 2.46991035e-18]), 'dnde_err': array([4.50088037e-13, 3.29696453e-13, 2.41224167e-13, 1.76284765e-13,
       1.28677189e-13, 9.38203859e-14, 6.83332849e-14, 4.97229517e-14,
       3.61532188e-14, 2.62731508e-14, 1.90899695e-14, 1.38749900e-14,
       1.00940547e-14, 7.35613104e-15, 5.37537045e-15, 3.94313471e-15,
       2.90739817e-15, 2.15760311e-15, 1.61354088e-15, 1.21719777e-15,
       9.26775834e-16, 7.12302011e-16, 5.52394377e-16, 4.31874254e-16,
       3.40003453e-16, 2.69190379e-16, 2.14051231e-16, 1.70739530e-16,
       1.36475425e-16, 1.09220328e-16, 8.74545746e-17, 7.00263721e-17,
       5.60491097e-17, 4.48310408e-17, 3.58264758e-17, 2.86012727e-17,
       2.28078971e-17, 1.81669763e-17, 1.44533490e-17, 1.14853023e-17,
       9.11612709e-18, 7.22740830e-18, 5.72364025e-18, 4.52787837e-18,
       3.57821292e-18, 2.82490286e-18, 2.22804449e-18, 1.75567521e-18,
       1.38223261e-18, 1.08730387e-18]), 'dnde_ferr': array([0.4612285 , 0.44543434, 0.42970189, 0.414057  , 0.39853101,
       0.3831619 , 0.3679956 , 0.35308755, 0.3385045 , 0.3243265 ,
       0.31064886, 0.2975842 , 0.28526385, 0.27383836, 0.26347626,
       0.25436012, 0.24667907, 0.24061724, 0.2363386 , 0.23397015,
       0.23358654, 0.23520016, 0.23875945, 0.24415586, 0.25123761,
       0.25982633, 0.26973323, 0.28077213, 0.29276848, 0.30556457,
       0.31902167, 0.33302014, 0.34745826, 0.36225037, 0.37732486,
       0.39262219, 0.40809296, 0.42369633, 0.43939857, 0.45517184,
       0.4709932 , 0.48684378, 0.50270804, 0.51857326, 0.534429  ,
       0.55026676, 0.56607959, 0.58186192, 0.59760924, 0.61331799]), 'pivot_energy': 5914.451009390775}}}
0.806 nan nan -0.000

Running extension on source 3FGL J0048.0+3950

2026-07-17 22:10:24 INFO    GTAnalysis._extension(): Fitting extended-source model.
2026-07-17 22:10:41 INFO    GTAnalysis._extension(): Generating TS map.
2026-07-17 22:11:01 INFO    GTAnalysis._extension(): Testing point-source model.
/home/runner/work/fermipy/fermipy/fermipy/extension.py:314: RuntimeWarning: invalid value encountered in sqrt
  np.sqrt(o['ts_ext']) > sqrt_ts_threshold):
2026-07-17 22:11:03 INFO    GTAnalysis._extension(): Best-fit extension: 1.0820 +    nan -    nan
2026-07-17 22:11:03 INFO    GTAnalysis._extension(): TS_ext:        -0.000
2026-07-17 22:11:03 INFO    GTAnalysis._extension(): Extension UL:    nan
2026-07-17 22:11:03 INFO    GTAnalysis._extension(): LogLike:  -246708.081 DeltaLogLike:        2.242
2026-07-17 22:11:03 INFO    GTAnalysis.extension(): Finished extension fit.
2026-07-17 22:11:03 WARNING GTAnalysis.extension(): Saving maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0048.0+3950_ext.npy
2026-07-17 22:11:03 INFO    GTAnalysis.extension(): Execution time: 72.15 s
2026-07-17 22:11:03 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1    *
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4    *
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3    *
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7    *
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:11:03 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 22:11:03 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 22:11:03 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 22:11:03 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0048.0+3950     : ['Prefactor', 'Index']
2026-07-17 22:11:03 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0032.5+3912     : ['Prefactor', 'Index']
2026-07-17 22:11:03 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 22:11:03 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:11:03 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0

2026-07-17 22:11:03 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0039.1+4330     : ['Prefactor', 'Index']
2026-07-17 22:11:03 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 22:11:03 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 22:11:03 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 22:11:03 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 22:11:03 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:11:03 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1    *
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4    *
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0    *
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:11:03 INFO    GTAnalysis.extension(): Running extension fit for 3FGL J0039.1+4330
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'name': '3FGL J0048.0+3950', 'file': None, 'config': {'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}, 'width': array([0.        , 0.01      , 0.01364421, 0.01861646, 0.02540069,
       0.03465724, 0.04728708, 0.0645195 , 0.08803178, 0.12011244,
       0.16388398, 0.2236068 , 0.30509388, 0.4162766 , 0.56797668,
       0.77495949, 1.05737126, 1.44269991, 1.96845052, 2.68579588,
       3.66455719, 5.        ]), 'dloglike': array([ 0.00000000e+00, -1.16357114e-07, -1.22789061e-06, -4.72646207e-08,
       -1.69093255e-08,  6.11180440e-09, -1.85513636e-06, -9.41217877e-08,
       -2.06765253e-06,  3.60887498e-08,  3.83297447e-08,  3.60305421e-08,
        3.98722477e-08,  3.51574272e-08,  4.60713636e-08,  1.74040906e-08,
        2.48546712e-08,  6.36209734e-08, -1.78930350e-06, -1.71433203e-06,
       -1.56840542e-06, -1.44398655e-06]), 'loglike': array([-246708.08087564, -246708.08087576, -246708.08087687,
       -246708.08087569, -246708.08087566, -246708.08087563,
       -246708.08087749, -246708.08087573, -246708.08087771,
       -246708.0808756 , -246708.0808756 , -246708.0808756 ,
       -246708.0808756 , -246708.0808756 , -246708.08087559,
       -246708.08087562, -246708.08087561, -246708.08087558,
       -246708.08087743, -246708.08087735, -246708.08087721,
       -246708.08087708]), 'loglike_ptsrc': -246708.08087563963, 'loglike_ext': -246708.08087563986, 'loglike_init': -246710.32239001768, 'loglike_base': -246708.0808758099, 'ext': np.float64(1.08202492943041), 'ext_err_hi': np.float64(nan), 'ext_err_lo': np.float64(nan), 'ext_err': nan, 'ext_ul95': nan, 'ts_ext': -4.656612873077393e-10, 'ebin_e_min': array([], dtype=float64), 'ebin_e_ctr': array([], dtype=float64), 'ebin_e_max': array([], dtype=float64), 'ebin_ext': array([], dtype=float64), 'ebin_ext_err': array([], dtype=float64), 'ebin_ext_err_hi': array([], dtype=float64), 'ebin_ext_err_lo': array([], dtype=float64), 'ebin_ext_ul95': array([], dtype=float64), 'ebin_ts_ext': array([], dtype=float64), 'ebin_dloglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike_ptsrc': array([], dtype=float64), 'ebin_loglike_ext': array([], dtype=float64), 'ra': np.float64(11.974954260227895), 'dec': np.float64(39.79551175967951), 'glon': np.float64(122.19324352946532), 'glat': np.float64(-23.07116120986983), 'ra_err': nan, 'dec_err': nan, 'glon_err': nan, 'glat_err': nan, 'pos_offset': 0.0, 'pos_err': nan, 'pos_r68': nan, 'pos_r95': nan, 'pos_r99': nan, 'pos_err_semimajor': nan, 'pos_err_semiminor': nan, 'pos_angle': nan, 'tsmap': <gammapy.maps.wcs.ndmap.WcsNDMap object at 0x7f7855e81d90>, 'ptsrc_tot_map': None, 'ptsrc_src_map': None, 'ptsrc_bkg_map': None, 'ext_tot_map': None, 'ext_src_map': None, 'ext_bkg_map': None, 'source_fit': {'param_names': array([b'Prefactor', b'Index', b'Scale', b'', b'', b'', b'', b'', b'',
       b''], dtype='|S32'), 'param_values': array([ 6.63951404e-14, -2.01233823e+00,  3.47691821e+03,             nan,
                   nan,             nan,             nan,             nan,
                   nan,             nan]), 'param_errors': array([4.77102356e-15, 5.52857653e-02,            nan,            nan,
                  nan,            nan,            nan,            nan,
                  nan,            nan]), 'ts': np.float64(596.0977175915614), 'loglike': np.float64(-246708.08087563986), 'loglike_scan': array([-247006.12973444, -246710.79052196, -246710.13764205,
       -246709.57921199, -246709.11274807, -246708.73588538,
       -246708.44636979, -246708.24205057, -246708.12087369,
       -246708.08087564, -246708.10937011, -246708.19418962,
       -246708.33426132, -246708.52854998, -246708.77605607,
       -246709.07581403, -246709.42689061, -246709.82838329,
       -246710.2794189 , -246710.77915219]), 'dloglike_scan': array([-2.98048859e+02, -2.70964632e+00, -2.05676641e+00, -1.49833635e+00,
       -1.03187243e+00, -6.55009745e-01, -3.65494152e-01, -1.61174933e-01,
       -3.99980543e-02,  0.00000000e+00, -2.84944695e-02, -1.13313976e-01,
       -2.53385680e-01, -4.47674338e-01, -6.95180431e-01, -9.94938393e-01,
       -1.34601497e+00, -1.74750765e+00, -2.19854326e+00, -2.69827655e+00]), 'eflux_scan': array([0.00000000e+00, 4.98145019e-06, 5.09186471e-06, 5.20227922e-06,
       5.31269373e-06, 5.42310825e-06, 5.53352276e-06, 5.64393727e-06,
       5.75435178e-06, 5.86476630e-06, 5.95873687e-06, 6.05270744e-06,
       6.14667802e-06, 6.24064859e-06, 6.33461916e-06, 6.42858974e-06,
       6.52256031e-06, 6.61653088e-06, 6.71050146e-06, 6.80447203e-06]), 'flux_scan': array([0.00000000e+00, 2.31357633e-09, 2.36485706e-09, 2.41613779e-09,
       2.46741852e-09, 2.51869925e-09, 2.56997998e-09, 2.62126071e-09,
       2.67254144e-09, 2.72382217e-09, 2.76746571e-09, 2.81110924e-09,
       2.85475278e-09, 2.89839631e-09, 2.94203985e-09, 2.98568338e-09,
       3.02932692e-09, 3.07297045e-09, 3.11661399e-09, 3.16025752e-09]), 'norm_scan': array([0.        , 0.56395101, 0.57645106, 0.58895111, 0.60145116,
       0.61395121, 0.62645125, 0.6389513 , 0.65145135, 0.6639514 ,
       0.67458983, 0.68522826, 0.69586669, 0.70650512, 0.71714354,
       0.72778197, 0.7384204 , 0.74905883, 0.75969726, 0.77033568]), 'npred': 846.011905574458, 'npred_wt': 846.011905574458, 'pivot_energy': 2159.3182595081225, 'flux': 2.723822174279735e-09, 'flux100': 8.285840068487338e-09, 'flux1000': 8.030105906640471e-10, 'flux10000': 7.589614758289618e-11, 'flux_err': np.float64(2.352443719901443e-10), 'flux100_err': np.float64(1.1042839582685014e-09), 'flux1000_err': np.float64(5.440906793948171e-11), 'flux10000_err': np.float64(1.1322784877266674e-11), 'flux_ul95': 3.029915448273216e-09, 'flux100_ul95': 9.216972775423435e-09, 'flux1000_ul95': 8.932500134386976e-10, 'flux10000_ul95': 8.442508185639889e-11, 'eflux': 5.864766297007247e-06, 'eflux100': 6.432971436547513e-06, 'eflux1000': 4.52925564812297e-06, 'eflux10000': 2.6788632297376143e-06, 'eflux_err': np.float64(6.708871333775206e-07), 'eflux100_err': np.float64(5.340946023640097e-07), 'eflux1000_err': np.float64(6.012493242140751e-07), 'eflux10000_err': np.float64(5.132225455471032e-07), 'eflux_ul95': 6.52382749931656e-06, 'eflux100_ul95': 7.155885475177829e-06, 'eflux1000_ul95': 5.038236999100488e-06, 'eflux10000_ul95': 2.979904180323151e-06, 'dnde': 1.7315874718127703e-13, 'dnde100': 8.385729572002595e-11, 'dnde1000': 8.150844815889441e-13, 'dnde10000': 7.922539194982191e-15, 'dnde_err': np.float64(1.1577162039464658e-14), 'dnde100_err': np.float64(1.53076925644838e-11), 'dnde1000_err': np.float64(6.459986694895603e-14), 'dnde10000_err': np.float64(8.551573559204738e-16), 'dnde_index': np.float64(2.0123382282525877), 'dnde100_index': np.float64(2.0123382282192823), 'dnde1000_index': np.float64(2.0123382282525877), 'dnde10000_index': np.float64(2.012338228241486), 'name': '3FGL J0048.0+3950', 'spectral_pars': {'Prefactor': {'name': 'Prefactor', 'value': 0.6639514042970941, 'error': 0.04771023564910526, 'min': 1e-05, 'max': 1000.0, 'free': True, 'scale': 1e-13}, 'Index': {'name': 'Index', 'value': 2.0123382282322395, 'error': 0.055285765265078626, 'min': 0.0, 'max': 5.0, 'free': True, 'scale': -1.0}, 'Scale': {'name': 'Scale', 'value': 3476.918213, 'error': nan, 'min': 3476.918213, 'max': 3476.918213, 'free': False, 'scale': 1.0}}, 'model_counts': array([168.68827722, 142.31128983, 117.41373407,  95.37646267,
        76.22408556,  59.93920204,  46.11569304,  35.01017278,
        26.34714281,  19.65605024,  14.726463  ,  11.15990569,
         8.37415286,   6.27136158,   4.69530226,   3.54017432,
         2.69929184,   2.04137909,   1.52790077,   1.13844204,
         0.8491398 ,   0.63127825,   0.47152342,   0.3518632 ,
         0.2612633 ,   0.19035388]), 'model_counts_wt': array([168.68827722, 142.31128983, 117.41373407,  95.37646267,
        76.22408556,  59.93920204,  46.11569304,  35.01017278,
        26.34714281,  19.65605024,  14.726463  ,  11.15990569,
         8.37415286,   6.27136158,   4.69530226,   3.54017432,
         2.69929184,   2.04137909,   1.52790077,   1.13844204,
         0.8491398 ,   0.63127825,   0.47152342,   0.3518632 ,
         0.2612633 ,   0.19035388]), 'covar': array([[ 0.00227627, -0.00096665],
       [-0.00096665,  0.00305652]]), 'model_flux': {'energies': array([2.99999133e+02, 3.49037461e+02, 4.06091671e+02, 4.72472050e+02,
       5.49703071e+02, 6.39558395e+02, 7.44101611e+02, 8.65733625e+02,
       1.00724780e+03, 1.17189410e+03, 1.36345374e+03, 1.58632602e+03,
       1.84562936e+03, 2.14731882e+03, 2.49832292e+03, 2.90670269e+03,
       3.38183686e+03, 3.93463720e+03, 4.57779916e+03, 5.32609337e+03,
       6.19670492e+03, 7.20962801e+03, 8.38812508e+03, 9.75926113e+03,
       1.13545252e+04, 1.32105537e+04, 1.53699715e+04, 1.78823711e+04,
       2.08054514e+04, 2.42063430e+04, 2.81631498e+04, 3.27667423e+04,
       3.81228452e+04, 4.43544652e+04, 5.16047155e+04, 6.00401030e+04,
       6.98543522e+04, 8.12728539e+04, 9.45578417e+04, 1.10014415e+05,
       1.27997543e+05, 1.48920221e+05, 1.73262954e+05, 2.01584787e+05,
       2.34536152e+05, 2.72873799e+05, 3.17478177e+05, 3.69373656e+05,
       4.29752052e+05, 4.99999995e+05]), 'log_energies': array([2.47712   , 2.54287204, 2.60862408, 2.67437612, 2.74012816,
       2.8058802 , 2.87163224, 2.93738429, 3.00313633, 3.06888837,
       3.13464041, 3.20039245, 3.26614449, 3.33189653, 3.39764857,
       3.46340061, 3.52915265, 3.59490469, 3.66065673, 3.72640878,
       3.79216082, 3.85791286, 3.9236649 , 3.98941694, 4.05516898,
       4.12092102, 4.18667306, 4.2524251 , 4.31817714, 4.38392918,
       4.44968122, 4.51543327, 4.58118531, 4.64693735, 4.71268939,
       4.77844143, 4.84419347, 4.90994551, 4.97569755, 5.04144959,
       5.10720163, 5.17295367, 5.23870571, 5.30445776, 5.3702098 ,
       5.43596184, 5.50171388, 5.56746592, 5.63321796, 5.69897   ]), 'dnde': array([9.19208512e-12, 6.77795517e-12, 4.99785149e-12, 3.68525888e-12,
       2.71739428e-12, 2.00372128e-12, 1.47748121e-12, 1.08944829e-12,
       8.03324986e-13, 5.92346640e-13, 4.36777828e-13, 3.22066267e-13,
       2.37481560e-13, 1.75111452e-13, 1.29121690e-13, 9.52102834e-14,
       7.02050758e-14, 5.17670202e-14, 3.81713765e-14, 2.81463754e-14,
       2.07542542e-14, 1.53035359e-14, 1.12843472e-14, 8.32072359e-15,
       6.13544051e-15, 4.52408134e-15, 3.33591564e-15, 2.45979953e-15,
       1.81377900e-15, 1.33742373e-15, 9.86174294e-16, 7.27173984e-16,
       5.36195281e-16, 3.95373577e-16, 2.91536071e-16, 2.14969552e-16,
       1.58511803e-16, 1.16881630e-16, 8.61848471e-17, 6.35500022e-17,
       4.68597778e-17, 3.45529299e-17, 2.54782464e-17, 1.87868596e-17,
       1.38528408e-17, 1.02146502e-17, 7.53196256e-18, 5.55383288e-18,
       4.09522212e-18, 3.01968830e-18]), 'dnde_lo': array([8.14918612e-12, 6.04679059e-12, 4.48625105e-12, 3.32794162e-12,
       2.46821758e-12, 1.83014203e-12, 1.35660322e-12, 1.00520598e-12,
       7.44479989e-13, 5.51065031e-13, 4.07621458e-13, 3.01278531e-13,
       2.22481897e-13, 1.64137332e-13, 1.20974897e-13, 8.90774680e-14,
       6.55319586e-14, 4.81717076e-14, 3.53860209e-14, 2.59788460e-14,
       1.90634129e-14, 1.39834068e-14, 1.02539174e-14, 7.51724036e-15,
       5.50986807e-15, 4.03790641e-15, 2.95881821e-15, 2.16789980e-15,
       1.58828590e-15, 1.16357552e-15, 8.52399749e-16, 6.24424833e-16,
       4.57414024e-16, 3.35069448e-16, 2.45447837e-16, 1.79798096e-16,
       1.31708724e-16, 9.64826681e-17, 7.06790701e-17, 5.17774111e-17,
       3.79313978e-17, 2.77886365e-17, 2.03585213e-17, 1.49154525e-17,
       1.09279415e-17, 8.00667946e-18, 5.86649938e-18, 4.29851471e-18,
       3.14971200e-18, 2.30800375e-18]), 'dnde_hi': array([1.03684500e-11, 7.59753056e-12, 5.56779352e-12, 4.08094089e-12,
       2.99172638e-12, 2.19376360e-12, 1.60912984e-12, 1.18075060e-12,
       8.66821194e-13, 6.36720754e-13, 4.68019697e-13, 3.44288322e-13,
       2.53492497e-13, 1.86819294e-13, 1.37817112e-13, 1.01765331e-13,
       7.52114353e-14, 5.56306702e-14, 4.11759771e-14, 3.04947514e-14,
       2.25950656e-14, 1.67482942e-14, 1.24183263e-14, 9.21008744e-15,
       6.83203842e-15, 5.06879305e-15, 3.76107363e-15, 2.79100248e-15,
       2.07128593e-15, 1.53724635e-15, 1.14094325e-15, 8.46830515e-16,
       6.28545178e-16, 4.66530943e-16, 3.46278386e-16, 2.57021121e-16,
       1.90769380e-16, 1.41593467e-16, 1.05092326e-16, 7.79993185e-17,
       5.78897404e-17, 4.29637837e-17, 3.18854711e-17, 2.36631166e-17,
       1.75605989e-17, 1.30315044e-17, 9.67024052e-18, 7.17574832e-18,
       5.32456433e-18, 3.95082437e-18]), 'dnde_err': array([1.17636489e-12, 8.19575391e-13, 5.69942027e-13, 3.95682004e-13,
       2.74332104e-13, 1.90042317e-13, 1.31648634e-13, 9.13023164e-14,
       6.34962080e-14, 4.43741137e-14, 3.12418688e-14, 2.22220556e-14,
       1.60109363e-14, 1.17078426e-14, 8.69542150e-15, 6.55504809e-15,
       5.00635952e-15, 3.86365003e-15, 3.00460061e-15, 2.34837592e-15,
       1.84081146e-15, 1.44475831e-15, 1.13397909e-15, 8.89363857e-16,
       6.96597904e-16, 5.44711708e-16, 4.25157993e-16, 3.31202948e-16,
       2.57506935e-16, 1.99822627e-16, 1.54768954e-16, 1.19656531e-16,
       9.23498972e-17, 7.11573655e-17, 5.47423151e-17, 4.20515689e-17,
       3.22575770e-17, 2.47118369e-17, 1.89074788e-17, 1.44493163e-17,
       1.10299626e-17, 8.41085374e-18, 6.40722469e-18, 4.87625703e-18,
       3.70775814e-18, 2.81685418e-18, 2.13827796e-18, 1.62191544e-18,
       1.22934222e-18, 9.31136063e-19]), 'dnde_ferr': array([0.12071602, 0.11439586, 0.10820074, 0.10216369, 0.09632551,
       0.09073656, 0.08545849, 0.08056583, 0.07614677, 0.07230202,
       0.06914069, 0.06677165, 0.06529054, 0.06476436, 0.06521838,
       0.06663074, 0.06893716, 0.07204358, 0.0758416 , 0.08022179,
       0.08508262, 0.09033492, 0.09590315, 0.10172475, 0.10774861,
       0.11393326, 0.12024516, 0.12665721, 0.13314743, 0.139698  ,
       0.14629437, 0.15292467, 0.15957913, 0.16624972, 0.1729298 ,
       0.17961387, 0.18629734, 0.19297643, 0.19964795, 0.20630926,
       0.21295814, 0.21959277, 0.2262116 , 0.23281337, 0.23939701,
       0.24596167, 0.25250664, 0.25903135, 0.26553533, 0.27201824]), 'pivot_energy': 2159.3182595081225}}}
1.082 nan nan -0.000

Running extension on source 3FGL J0039.1+4330

2026-07-17 22:11:39 INFO    GTAnalysis._extension(): Fitting extended-source model.
2026-07-17 22:12:00 INFO    GTAnalysis._extension(): Generating TS map.
2026-07-17 22:12:04 INFO    GTAnalysis._extension(): Testing point-source model.
2026-07-17 22:12:06 INFO    GTAnalysis._extension(): Best-fit extension: 0.4179 +    nan -    nan
2026-07-17 22:12:06 INFO    GTAnalysis._extension(): TS_ext:        0.000
2026-07-17 22:12:06 INFO    GTAnalysis._extension(): Extension UL:    nan
2026-07-17 22:12:06 INFO    GTAnalysis._extension(): LogLike:  -246708.347 DeltaLogLike:        1.217
2026-07-17 22:12:06 INFO    GTAnalysis.extension(): Finished extension fit.
2026-07-17 22:12:06 WARNING GTAnalysis.extension(): Saving maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0039.1+4330_ext.npy
2026-07-17 22:12:06 INFO    GTAnalysis.extension(): Execution time: 63.59 s
2026-07-17 22:12:06 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1    *
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4    *
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0    *
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:12:06 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 22:12:06 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 22:12:06 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 22:12:06 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0039.1+4330     : ['Prefactor', 'Index']
2026-07-17 22:12:06 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 22:12:06 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:12:06 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0

2026-07-17 22:12:06 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0032.5+3912     : ['Prefactor', 'Index']
2026-07-17 22:12:06 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 22:12:06 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0041.9+3639     : ['Prefactor', 'Index']
2026-07-17 22:12:06 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0048.0+3950     : ['Prefactor', 'Index']
2026-07-17 22:12:06 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 22:12:06 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 22:12:06 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:12:06 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1    *
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3    *
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7    *
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1    *
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:12:06 INFO    GTAnalysis.extension(): Running extension fit for 3FGL J0032.5+3912
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'name': '3FGL J0039.1+4330', 'file': None, 'config': {'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}, 'width': array([0.        , 0.01      , 0.01364421, 0.01861646, 0.02540069,
       0.03465724, 0.04728708, 0.0645195 , 0.08803178, 0.12011244,
       0.16388398, 0.2236068 , 0.30509388, 0.4162766 , 0.56797668,
       0.77495949, 1.05737126, 1.44269991, 1.96845052, 2.68579588,
       3.66455719, 5.        ]), 'dloglike': array([ 1.16415322e-10, -3.60159902e-07, -9.17061698e-07, -1.65600213e-05,
       -1.83450175e-06, -1.38499308e-06, -2.80035893e-05, -2.03063246e-06,
       -3.12097836e-06, -4.34677349e-06,  4.21423465e-07, -1.35300797e-06,
       -1.45443482e-05,  3.79979610e-07, -1.18219759e-07, -1.17637683e-07,
       -1.17550371e-07, -1.17055606e-07, -1.11962436e-07, -1.11875124e-07,
       -1.07596861e-07, -9.70903784e-08]), 'loglike': array([-246708.34706647, -246708.34706683, -246708.34706739,
       -246708.34708303, -246708.34706831, -246708.34706786,
       -246708.34709448, -246708.3470685 , -246708.34706959,
       -246708.34707082, -246708.34706605, -246708.34706783,
       -246708.34708102, -246708.34706609, -246708.34706659,
       -246708.34706659, -246708.34706659, -246708.34706659,
       -246708.34706659, -246708.34706659, -246708.34706658,
       -246708.34706657]), 'loglike_ptsrc': -246708.34706647362, 'loglike_ext': -246708.34706636184, 'loglike_init': -246709.56379189593, 'loglike_base': -246708.34706991963, 'ext': np.float64(0.4179041485140988), 'ext_err_hi': np.float64(nan), 'ext_err_lo': np.float64(nan), 'ext_err': nan, 'ext_ul95': nan, 'ts_ext': 2.235756255686283e-07, 'ebin_e_min': array([], dtype=float64), 'ebin_e_ctr': array([], dtype=float64), 'ebin_e_max': array([], dtype=float64), 'ebin_ext': array([], dtype=float64), 'ebin_ext_err': array([], dtype=float64), 'ebin_ext_err_hi': array([], dtype=float64), 'ebin_ext_err_lo': array([], dtype=float64), 'ebin_ext_ul95': array([], dtype=float64), 'ebin_ts_ext': array([], dtype=float64), 'ebin_dloglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike_ptsrc': array([], dtype=float64), 'ebin_loglike_ext': array([], dtype=float64), 'ra': np.float64(9.777463984258688), 'dec': np.float64(43.50900494860791), 'glon': np.float64(120.5639243541753), 'glat': np.float64(-19.306052898583964), 'ra_err': nan, 'dec_err': nan, 'glon_err': nan, 'glat_err': nan, 'pos_offset': 0.0, 'pos_err': nan, 'pos_r68': nan, 'pos_r95': nan, 'pos_r99': nan, 'pos_err_semimajor': nan, 'pos_err_semiminor': nan, 'pos_angle': nan, 'tsmap': <gammapy.maps.wcs.ndmap.WcsNDMap object at 0x7f7860d58690>, 'ptsrc_tot_map': None, 'ptsrc_src_map': None, 'ptsrc_bkg_map': None, 'ext_tot_map': None, 'ext_src_map': None, 'ext_bkg_map': None, 'source_fit': {'param_names': array([b'Prefactor', b'Index', b'Scale', b'', b'', b'', b'', b'', b'',
       b''], dtype='|S32'), 'param_values': array([ 2.88195777e-14, -2.01750848e+00,  2.76052368e+03,             nan,
                   nan,             nan,             nan,             nan,
                   nan,             nan]), 'param_errors': array([4.75719871e-15, 1.21648899e-01,            nan,            nan,
                  nan,            nan,            nan,            nan,
                  nan,            nan]), 'ts': np.float64(77.21833826630609), 'loglike': np.float64(-246708.34706636184), 'loglike_scan': array([-246746.95623549, -246711.05549904, -246710.37741639,
       -246709.80884486, -246709.34258199, -246708.97229032,
       -246708.69235306, -246708.49775997, -246708.38401583,
       -246708.34706636, -246708.37742366, -246708.46646111,
       -246708.61180967, -246708.8112818 , -246709.06285172,
       -246709.36463839, -246709.7148908 , -246710.11197517,
       -246710.55436374, -246711.0406249 ]), 'dloglike_scan': array([-3.86091691e+01, -2.70843268e+00, -2.03035003e+00, -1.46177850e+00,
       -9.95515627e-01, -6.25223954e-01, -3.45286699e-01, -1.50693605e-01,
       -3.69494655e-02,  0.00000000e+00, -3.03573030e-02, -1.19394744e-01,
       -2.64743304e-01, -4.64215441e-01, -7.15785361e-01, -1.01757203e+00,
       -1.36782444e+00, -1.76490881e+00, -2.20729737e+00, -2.69355854e+00]), 'eflux_scan': array([0.00000000e+00, 1.02136163e-06, 1.09224512e-06, 1.16312862e-06,
       1.23401211e-06, 1.30489560e-06, 1.37577909e-06, 1.44666258e-06,
       1.51754607e-06, 1.58842956e-06, 1.65330859e-06, 1.71818762e-06,
       1.78306665e-06, 1.84794567e-06, 1.91282470e-06, 1.97770373e-06,
       2.04258276e-06, 2.10746179e-06, 2.17234082e-06, 2.23721985e-06]), 'flux_scan': array([0.00000000e+00, 4.80929556e-10, 5.14306535e-10, 5.47683513e-10,
       5.81060492e-10, 6.14437471e-10, 6.47814450e-10, 6.81191429e-10,
       7.14568407e-10, 7.47945386e-10, 7.78495038e-10, 8.09044690e-10,
       8.39594343e-10, 8.70143995e-10, 9.00693647e-10, 9.31243299e-10,
       9.61792951e-10, 9.92342603e-10, 1.02289226e-09, 1.05344191e-09]), 'norm_scan': array([0.        , 0.18531014, 0.19817085, 0.21103155, 0.22389226,
       0.23675296, 0.24961366, 0.26247437, 0.27533507, 0.28819578,
       0.29996707, 0.31173835, 0.32350964, 0.33528093, 0.34705222,
       0.35882351, 0.37059479, 0.38236608, 0.39413737, 0.40590866]), 'npred': 238.52321514872472, 'npred_wt': 238.52321514872472, 'pivot_energy': 2788.0687251970166, 'flux': 7.479453862107873e-10, 'flux100': 2.288184391476549e-09, 'flux1000': 2.191476458747762e-10, 'flux10000': 2.047701836773925e-11, 'flux_err': np.float64(1.6780227571748828e-10), 'flux100_err': np.float64(7.542591136620192e-10), 'flux1000_err': np.float64(3.619706608820572e-11), 'flux10000_err': np.float64(6.34117286886323e-12), 'flux_ul95': 9.605642937604358e-10, 'flux100_ul95': 2.9386480142988597e-09, 'flux1000_ul95': 2.8144488564254807e-10, 'flux10000_ul95': 2.6298033318148757e-11, 'eflux': 1.588429558441656e-06, 'eflux100': 1.7494612322850136e-06, 'eflux1000': 1.2241808865721233e-06, 'eflux10000': 7.196560058799078e-07, 'eflux_err': np.float64(3.767039933018145e-07), 'eflux100_err': np.float64(3.16347293400593e-07), 'eflux1000_err': np.float64(3.3623961478625153e-07), 'eflux10000_err': np.float64(2.872042155340753e-07), 'eflux_ul95': 2.0399734327162626e-06, 'eflux100_ul95': 2.2467816822357175e-06, 'eflux1000_ul95': 1.5721795607330354e-06, 'eflux10000_ul95': 9.242330734074121e-07, 'dnde': 2.8248027096701887e-14, 'dnde100': 2.3275559727597923e-11, 'dnde1000': 2.2355874167735803e-13, 'dnde10000': 2.1472528078929054e-15, 'dnde_err': np.float64(4.66273156568875e-15), 'dnde100_err': np.float64(1.0175735411766054e-11), 'dnde1000_err': np.float64(4.6250857948342436e-14), 'dnde10000_err': np.float64(4.86774053437794e-16), 'dnde_index': np.float64(2.0175084771463476), 'dnde100_index': np.float64(2.0175084771463476), 'dnde1000_index': np.float64(2.0175084771463476), 'dnde10000_index': np.float64(2.017508477168551), 'name': '3FGL J0039.1+4330', 'spectral_pars': {'Prefactor': {'name': 'Prefactor', 'value': 0.2881957770857291, 'error': 0.04757198708995827, 'min': 1e-05, 'max': 1000.0, 'free': True, 'scale': 1e-13}, 'Index': {'name': 'Index', 'value': 2.017508477154515, 'error': 0.12164889862231325, 'min': 0.0, 'max': 5.0, 'free': True, 'scale': -1.0}, 'Scale': {'name': 'Scale', 'value': 2760.523682, 'error': nan, 'min': 2760.523682, 'max': 2760.523682, 'free': False, 'scale': 1.0}}, 'model_counts': array([47.72335691, 40.24303826, 33.18026403, 26.91870193, 21.47369911,
       16.85762824, 12.95379149,  9.82752023,  7.39118342,  5.51076341,
        4.12723929,  3.1241365 ,  2.33996819,  1.75043493,  1.30894916,
        0.98464342,  0.74860286,  0.56508372,  0.42230139,  0.31419333,
        0.23402287,  0.17375359,  0.12960683,  0.09657082,  0.07162735,
        0.05213388]), 'model_counts_wt': array([47.72335691, 40.24303826, 33.18026403, 26.91870193, 21.47369911,
       16.85762824, 12.95379149,  9.82752023,  7.39118342,  5.51076341,
        4.12723929,  3.1241365 ,  2.33996819,  1.75043493,  1.30894916,
        0.98464342,  0.74860286,  0.56508372,  0.42230139,  0.31419333,
        0.23402287,  0.17375359,  0.12960683,  0.09657082,  0.07162735,
        0.05213388]), 'covar': array([[2.26309396e-03, 4.19085835e-05],
       [4.19085835e-05, 1.47984545e-02]]), 'model_flux': {'energies': array([2.99999133e+02, 3.49037461e+02, 4.06091671e+02, 4.72472050e+02,
       5.49703071e+02, 6.39558395e+02, 7.44101611e+02, 8.65733625e+02,
       1.00724780e+03, 1.17189410e+03, 1.36345374e+03, 1.58632602e+03,
       1.84562936e+03, 2.14731882e+03, 2.49832292e+03, 2.90670269e+03,
       3.38183686e+03, 3.93463720e+03, 4.57779916e+03, 5.32609337e+03,
       6.19670492e+03, 7.20962801e+03, 8.38812508e+03, 9.75926113e+03,
       1.13545252e+04, 1.32105537e+04, 1.53699715e+04, 1.78823711e+04,
       2.08054514e+04, 2.42063430e+04, 2.81631498e+04, 3.27667423e+04,
       3.81228452e+04, 4.43544652e+04, 5.16047155e+04, 6.00401030e+04,
       6.98543522e+04, 8.12728539e+04, 9.45578417e+04, 1.10014415e+05,
       1.27997543e+05, 1.48920221e+05, 1.73262954e+05, 2.01584787e+05,
       2.34536152e+05, 2.72873799e+05, 3.17478177e+05, 3.69373656e+05,
       4.29752052e+05, 4.99999995e+05]), 'log_energies': array([2.47712   , 2.54287204, 2.60862408, 2.67437612, 2.74012816,
       2.8058802 , 2.87163224, 2.93738429, 3.00313633, 3.06888837,
       3.13464041, 3.20039245, 3.26614449, 3.33189653, 3.39764857,
       3.46340061, 3.52915265, 3.59490469, 3.66065673, 3.72640878,
       3.79216082, 3.85791286, 3.9236649 , 3.98941694, 4.05516898,
       4.12092102, 4.18667306, 4.2524251 , 4.31817714, 4.38392918,
       4.44968122, 4.51543327, 4.58118531, 4.64693735, 4.71268939,
       4.77844143, 4.84419347, 4.90994551, 4.97569755, 5.04144959,
       5.10720163, 5.17295367, 5.23870571, 5.30445776, 5.3702098 ,
       5.43596184, 5.50171388, 5.56746592, 5.63321796, 5.69897   ]), 'dnde': array([2.53691835e-12, 1.86918027e-12, 1.37719643e-12, 1.01470684e-12,
       7.47627539e-13, 5.50845734e-13, 4.05858542e-13, 2.99033188e-13,
       2.20325158e-13, 1.62333739e-13, 1.19606145e-13, 8.81248096e-14,
       6.49296246e-14, 4.78396058e-14, 3.52478225e-14, 2.59703016e-14,
       1.91347016e-14, 1.40982885e-14, 1.03875014e-14, 7.65342435e-15,
       5.63897922e-15, 4.15475285e-15, 3.06118724e-15, 2.25545722e-15,
       1.66180207e-15, 1.22440190e-15, 9.02129108e-16, 6.64681201e-16,
       4.89731565e-16, 3.60830132e-16, 2.65856631e-16, 1.95880948e-16,
       1.44323448e-16, 1.06336313e-16, 7.83477083e-17, 5.77259380e-17,
       4.25319895e-17, 3.13372151e-17, 2.30889987e-17, 1.70117816e-17,
       1.25341388e-17, 9.23504891e-18, 6.80430700e-18, 5.01335664e-18,
       3.69379935e-18, 2.72156055e-18, 2.00522311e-18, 1.47743166e-18,
       1.08855932e-18, 8.02041429e-19]), 'dnde_lo': array([1.92560122e-12, 1.43574615e-12, 1.07037882e-12, 7.97855000e-13,
       5.94579928e-13, 4.42959101e-13, 3.29871238e-13, 2.45530234e-13,
       1.82636906e-13, 1.35746671e-13, 1.00798114e-13, 7.47614190e-14,
       5.53761179e-14, 4.09553941e-14, 3.02400200e-14, 2.22893842e-14,
       1.64003064e-14, 1.20466989e-14, 8.83482403e-15, 6.47011797e-15,
       4.73250868e-15, 3.45794113e-15, 2.52445959e-15, 1.84167870e-15,
       1.34281058e-15, 9.78639517e-16, 7.12985997e-16, 5.19308221e-16,
       3.78167897e-16, 2.75348922e-16, 2.00466112e-16, 1.45939690e-16,
       1.06241403e-16, 7.73415299e-17, 5.63039681e-17, 4.09901618e-17,
       2.98428596e-17, 2.17283188e-17, 1.58212405e-17, 1.15209093e-17,
       8.39010296e-18, 6.11060383e-18, 4.45080785e-18, 3.24214676e-18,
       2.36192739e-18, 1.72084262e-18, 1.25388296e-18, 9.13722669e-19,
       6.65906923e-19, 4.85349346e-19]), 'dnde_hi': array([3.34230921e-12, 2.43346284e-12, 1.77196147e-12, 1.29049762e-12,
       9.40070308e-13, 6.85009118e-13, 4.99349858e-13, 3.64194853e-13,
       2.65790614e-13, 1.94128095e-13, 1.41923586e-13, 1.03876868e-13,
       7.61313056e-14, 5.58809879e-14, 4.10849262e-14, 3.02590936e-14,
       2.23249978e-14, 1.64992701e-14, 1.22130542e-14, 9.05314318e-15,
       6.71907624e-15, 4.99197950e-15, 3.71202905e-15, 2.76220130e-15,
       2.05657161e-15, 1.53188175e-15, 1.14144868e-15, 8.50749289e-16,
       6.34207734e-16, 4.72848714e-16, 3.52577039e-16, 2.62912342e-16,
       1.96055936e-16, 1.46201031e-16, 1.09021861e-16, 8.12947245e-17,
       6.06165147e-17, 4.51954455e-17, 3.36953262e-17, 2.51196071e-17,
       1.87249949e-17, 1.39570705e-17, 1.04022900e-17, 7.75219217e-18,
       5.77670326e-18, 4.30422382e-18, 3.20677435e-18, 2.38891338e-18,
       1.77947001e-18, 1.32537616e-18]), 'dnde_err': array([8.05390865e-13, 5.64282569e-13, 3.94765032e-13, 2.75790778e-13,
       1.92442769e-13, 1.34163384e-13, 9.34913161e-14, 6.51616645e-14,
       4.54654560e-14, 3.17943566e-14, 2.23174413e-14, 1.57520586e-14,
       1.12016810e-14, 8.04138212e-15, 5.83710375e-15, 4.28879203e-15,
       3.19029626e-15, 2.40098162e-15, 1.82555282e-15, 1.39971883e-15,
       1.08009702e-15, 8.37226649e-16, 6.50841806e-16, 5.06744077e-16,
       3.94769536e-16, 3.07479850e-16, 2.39319576e-16, 1.86068088e-16,
       1.44476170e-16, 1.12018582e-16, 8.67204078e-17, 6.70313940e-17,
       5.17324880e-17, 3.98647185e-17, 3.06741529e-17, 2.35687866e-17,
       1.80845251e-17, 1.38582304e-17, 1.06063275e-17, 8.10782547e-18,
       6.19085614e-18, 4.72202158e-18, 3.59798295e-18, 2.73883554e-18,
       2.08290391e-18, 1.58266327e-18, 1.20155124e-18, 9.11481720e-19,
       6.90910687e-19, 5.23334733e-19]), 'dnde_ferr': array([0.27921829, 0.26688616, 0.25471408, 0.24275121, 0.23105782,
       0.21970763, 0.20879026, 0.19841379, 0.18870679, 0.17981913,
       0.1719204 , 0.1651944 , 0.15982834, 0.1559962 , 0.15383796,
       0.15343891, 0.15481536, 0.15791177, 0.16261034, 0.16874964,
       0.17614603, 0.18461247, 0.19397204, 0.20406563, 0.21475513,
       0.22592346, 0.23747304, 0.24932334, 0.26140835, 0.2736742 ,
       0.28607698, 0.29858098, 0.31115711, 0.32378169, 0.33643545,
       0.34910271, 0.3617707 , 0.37442904, 0.38706931, 0.3996847 ,
       0.41226973, 0.42481998, 0.43733198, 0.44980297, 0.46223083,
       0.47461395, 0.48695115, 0.49924161, 0.5114848 , 0.52368044]), 'pivot_energy': 2788.0687251970166}}}
0.418 nan nan 0.000

Running extension on source 3FGL J0032.5+3912

2026-07-17 22:12:42 INFO    GTAnalysis._extension(): Fitting extended-source model.
2026-07-17 22:13:01 INFO    GTAnalysis._extension(): Generating TS map.
2026-07-17 22:13:03 INFO    GTAnalysis._extension(): Testing point-source model.
2026-07-17 22:13:05 INFO    GTAnalysis._extension(): Best-fit extension: 0.0032 +    nan -    nan
2026-07-17 22:13:05 INFO    GTAnalysis._extension(): TS_ext:        0.000
2026-07-17 22:13:05 INFO    GTAnalysis._extension(): Extension UL:    nan
2026-07-17 22:13:05 INFO    GTAnalysis._extension(): LogLike:  -246707.184 DeltaLogLike:        2.049
2026-07-17 22:13:05 INFO    GTAnalysis.extension(): Finished extension fit.
2026-07-17 22:13:05 WARNING GTAnalysis.extension(): Saving maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0032.5+3912_ext.npy
2026-07-17 22:13:05 INFO    GTAnalysis.extension(): Execution time: 58.95 s
2026-07-17 22:13:05 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2    *
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1    *
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3    *
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7    *
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1    *
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:13:05 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 22:13:05 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 22:13:05 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0048.0+3950     : ['Prefactor', 'Index']
2026-07-17 22:13:05 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0032.5+3912     : ['Prefactor', 'Index']
2026-07-17 22:13:05 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0041.9+3639     : ['Prefactor', 'Index']
2026-07-17 22:13:05 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 22:13:05 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:13:05 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0

2026-07-17 22:13:05 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0102.3+4217     : ['Prefactor', 'Index']
2026-07-17 22:13:05 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 22:13:05 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0105.3+3928     : ['Prefactor', 'Index']
2026-07-17 22:13:05 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0102.1+4458     : ['Prefactor', 'Index']
2026-07-17 22:13:05 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 22:13:05 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:13:05 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4    *
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1    *
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0    *
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1    *
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:13:05 INFO    GTAnalysis.extension(): Running extension fit for 3FGL J0102.3+4217
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'name': '3FGL J0032.5+3912', 'file': None, 'config': {'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}, 'width': array([0.        , 0.01      , 0.01364421, 0.01861646, 0.02540069,
       0.03465724, 0.04728708, 0.0645195 , 0.08803178, 0.12011244,
       0.16388398, 0.2236068 , 0.30509388, 0.4162766 , 0.56797668,
       0.77495949, 1.05737126, 1.44269991, 1.96845052, 2.68579588,
       3.66455719, 5.        ]), 'dloglike': array([ 0.00000000e+00,  2.57598003e-07,  1.00495527e-07, -1.55440648e-06,
       -5.82015491e-06, -1.14770955e-06, -2.48604920e-06, -6.15301542e-06,
       -1.45506056e-05, -2.83531554e-05, -4.72409592e-05, -1.44939986e-06,
       -3.86804459e-06, -4.91112587e-06, -4.90210368e-06, -4.85175406e-06,
       -7.82738789e-06, -4.78242873e-06, -2.59969966e-06, -1.44483056e-06,
       -5.36412699e-07, -1.30297849e-07]), 'loglike': array([-246707.18414312, -246707.18414286, -246707.18414302,
       -246707.18414468, -246707.18414894, -246707.18414427,
       -246707.18414561, -246707.18414927, -246707.18415767,
       -246707.18417147, -246707.18419036, -246707.18414457,
       -246707.18414699, -246707.18414803, -246707.18414802,
       -246707.18414797, -246707.18415095, -246707.1841479 ,
       -246707.18414572, -246707.18414457, -246707.18414366,
       -246707.18414325]), 'loglike_ptsrc': -246707.1841431208, 'loglike_ext': -246707.1841431208, 'loglike_init': -246709.23315368232, 'loglike_base': -246707.18414776505, 'ext': 0.0031622776601683794, 'ext_err_hi': np.float64(nan), 'ext_err_lo': np.float64(nan), 'ext_err': nan, 'ext_ul95': nan, 'ts_ext': 0.0, 'ebin_e_min': array([], dtype=float64), 'ebin_e_ctr': array([], dtype=float64), 'ebin_e_max': array([], dtype=float64), 'ebin_ext': array([], dtype=float64), 'ebin_ext_err': array([], dtype=float64), 'ebin_ext_err_hi': array([], dtype=float64), 'ebin_ext_err_lo': array([], dtype=float64), 'ebin_ext_ul95': array([], dtype=float64), 'ebin_ts_ext': array([], dtype=float64), 'ebin_dloglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike_ptsrc': array([], dtype=float64), 'ebin_loglike_ext': array([], dtype=float64), 'ra': np.float64(8.52845635600777), 'dec': np.float64(38.966298885517645), 'glon': np.float64(119.25299755586654), 'glat': np.float64(-23.781666364568487), 'ra_err': nan, 'dec_err': nan, 'glon_err': nan, 'glat_err': nan, 'pos_offset': 0.0, 'pos_err': nan, 'pos_r68': nan, 'pos_r95': nan, 'pos_r99': nan, 'pos_err_semimajor': nan, 'pos_err_semiminor': nan, 'pos_angle': nan, 'tsmap': <gammapy.maps.wcs.ndmap.WcsNDMap object at 0x7f7854187310>, 'ptsrc_tot_map': None, 'ptsrc_src_map': None, 'ptsrc_bkg_map': None, 'ext_tot_map': None, 'ext_src_map': None, 'ext_bkg_map': None, 'source_fit': {'param_names': array([b'Prefactor', b'Index', b'Scale', b'', b'', b'', b'', b'', b'',
       b''], dtype='|S32'), 'param_values': array([ 7.85886720e-13, -2.58389162e+00,  7.44708008e+02,             nan,
                   nan,             nan,             nan,             nan,
                   nan,             nan]), 'param_errors': array([1.16587964e-13, 1.41963498e-01,            nan,            nan,
                  nan,            nan,            nan,            nan,
                  nan,            nan]), 'ts': np.float64(69.88680818525609), 'loglike': np.float64(-246707.1841431208), 'loglike_scan': array([-246742.12754721, -246709.89488527, -246709.23922505,
       -246708.67963062, -246708.21308246, -246707.83677607,
       -246707.54809774, -246707.3446039 , -246707.22400355,
       -246707.18414312, -246707.21260222, -246707.29748802,
       -246707.43765102, -246707.63199346, -246707.87946564,
       -246708.17906249, -246708.5298206 , -246708.93081545,
       -246709.38115889, -246709.87999687]), 'dloglike_scan': array([-3.49434041e+01, -2.71074215e+00, -2.05508193e+00, -1.49548750e+00,
       -1.02893934e+00, -6.52632952e-01, -3.63954622e-01, -1.60460783e-01,
       -3.98604337e-02,  0.00000000e+00, -2.84590989e-02, -1.13344896e-01,
       -2.53507894e-01, -4.47850342e-01, -6.95322517e-01, -9.94919366e-01,
       -1.34567748e+00, -1.74667233e+00, -2.19701576e+00, -2.69585375e+00]), 'eflux_scan': array([0.00000000e+00, 8.56131639e-07, 9.05714904e-07, 9.55298168e-07,
       1.00488143e-06, 1.05446470e-06, 1.10404796e-06, 1.15363123e-06,
       1.20321449e-06, 1.25279775e-06, 1.29522623e-06, 1.33765470e-06,
       1.38008318e-06, 1.42251165e-06, 1.46494013e-06, 1.50736860e-06,
       1.54979708e-06, 1.59222555e-06, 1.63465403e-06, 1.67708250e-06]), 'flux_scan': array([0.00000000e+00, 1.06711461e-09, 1.12891705e-09, 1.19071949e-09,
       1.25252194e-09, 1.31432438e-09, 1.37612682e-09, 1.43792926e-09,
       1.49973170e-09, 1.56153415e-09, 1.61441859e-09, 1.66730303e-09,
       1.72018748e-09, 1.77307192e-09, 1.82595636e-09, 1.87884081e-09,
       1.93172525e-09, 1.98460969e-09, 2.03749414e-09, 2.09037858e-09]), 'norm_scan': array([0.        , 0.53705595, 0.5681598 , 0.59926364, 0.63036749,
       0.66147133, 0.69257518, 0.72367903, 0.75478287, 0.78588672,
       0.81250233, 0.83911794, 0.86573355, 0.89234916, 0.91896476,
       0.94558037, 0.97219598, 0.99881159, 1.0254272 , 1.05204281]), 'npred': 444.10105803005126, 'npred_wt': 444.10105803005126, 'pivot_energy': 1028.6249534295357, 'flux': 1.5615341454213245e-09, 'flux100': 8.899215073968834e-09, 'flux1000': 2.318031938380576e-10, 'flux10000': 6.015162810965554e-12, 'flux_err': np.float64(2.571640594538308e-10), 'flux100_err': np.float64(2.4839549804481943e-09), 'flux1000_err': np.float64(3.821509748938708e-11), 'flux10000_err': np.float64(2.609845250229062e-12), 'flux_ul95': 1.9340829725505976e-09, 'flux100_ul95': 1.1022378469338391e-08, 'flux1000_ul95': 2.87106504522876e-10, 'flux10000_ul95': 7.450252691508768e-12, 'eflux': 1.2527977539613986e-06, 'eflux100': 2.3893569869771003e-06, 'eflux1000': 6.06679880842888e-07, 'eflux10000': 1.420195881463485e-07, 'eflux_err': np.float64(1.8929333741059203e-07), 'eflux100_err': np.float64(4.1066302271078685e-07), 'eflux1000_err': np.float64(1.5333672455375522e-07), 'eflux10000_err': np.float64(7.251139473656953e-08), 'eflux_ul95': 1.5516886461247442e-06, 'eflux100_ul95': 2.9594067330563177e-06, 'eflux1000_ul95': 7.514207939466245e-07, 'eflux10000_ul95': 1.7590244056327656e-07, 'dnde': 3.41125988256894e-13, 'dnde100': 1.4075937453427066e-10, 'dnde1000': 3.6693210324066517e-13, 'dnde10000': 9.565200814091259e-16, 'dnde_err': np.float64(4.8126904438287624e-14), 'dnde100_err': np.float64(5.0635080569275755e-11), 'dnde1000_err': np.float64(5.178875509961828e-14), 'dnde10000_err': np.float64(3.3701798065831865e-16), 'dnde_index': np.float64(2.5838916181435785), 'dnde100_index': np.float64(2.5838916180880704), 'dnde1000_index': np.float64(2.5838916181435785), 'dnde10000_index': np.float64(2.5838916181435785), 'name': '3FGL J0032.5+3912', 'spectral_pars': {'Prefactor': {'name': 'Prefactor', 'value': 0.785886720462821, 'error': 0.11658796443323456, 'min': 1e-05, 'max': 1000.0, 'free': True, 'scale': 1e-12}, 'Index': {'name': 'Index', 'value': 2.5838916181176037, 'error': 0.14196349845384001, 'min': 0.0, 'max': 5.0, 'free': True, 'scale': -1.0}, 'Scale': {'name': 'Scale', 'value': 744.7080078, 'error': nan, 'min': 744.7080078, 'max': 744.7080078, 'free': False, 'scale': 1.0}}, 'model_counts': array([1.35902681e+02, 9.79625294e+01, 6.88730217e+01, 4.76193576e+01,
       3.23697890e+01, 2.16875703e+01, 1.42186453e+01, 9.20316386e+00,
       5.89867094e+00, 3.74685445e+00, 2.38471894e+00, 1.53561265e+00,
       9.79070123e-01, 6.22732648e-01, 3.95927219e-01, 2.53346252e-01,
       1.64100524e-01, 1.05462198e-01, 6.70356772e-02, 4.24082893e-02,
       2.68631157e-02, 1.69536464e-02, 1.07518806e-02, 6.81447587e-03,
       4.30338137e-03, 2.67354213e-03]), 'model_counts_wt': array([1.35902681e+02, 9.79625294e+01, 6.88730217e+01, 4.76193576e+01,
       3.23697890e+01, 2.16875703e+01, 1.42186453e+01, 9.20316386e+00,
       5.89867094e+00, 3.74685445e+00, 2.38471894e+00, 1.53561265e+00,
       9.79070123e-01, 6.22732648e-01, 3.95927219e-01, 2.53346252e-01,
       1.64100524e-01, 1.05462198e-01, 6.70356772e-02, 4.24082893e-02,
       2.68631157e-02, 1.69536464e-02, 1.07518806e-02, 6.81447587e-03,
       4.30338137e-03, 2.67354213e-03]), 'covar': array([[0.01359275, 0.00511762],
       [0.00511762, 0.02015363]]), 'model_flux': {'energies': array([2.99999133e+02, 3.49037461e+02, 4.06091671e+02, 4.72472050e+02,
       5.49703071e+02, 6.39558395e+02, 7.44101611e+02, 8.65733625e+02,
       1.00724780e+03, 1.17189410e+03, 1.36345374e+03, 1.58632602e+03,
       1.84562936e+03, 2.14731882e+03, 2.49832292e+03, 2.90670269e+03,
       3.38183686e+03, 3.93463720e+03, 4.57779916e+03, 5.32609337e+03,
       6.19670492e+03, 7.20962801e+03, 8.38812508e+03, 9.75926113e+03,
       1.13545252e+04, 1.32105537e+04, 1.53699715e+04, 1.78823711e+04,
       2.08054514e+04, 2.42063430e+04, 2.81631498e+04, 3.27667423e+04,
       3.81228452e+04, 4.43544652e+04, 5.16047155e+04, 6.00401030e+04,
       6.98543522e+04, 8.12728539e+04, 9.45578417e+04, 1.10014415e+05,
       1.27997543e+05, 1.48920221e+05, 1.73262954e+05, 2.01584787e+05,
       2.34536152e+05, 2.72873799e+05, 3.17478177e+05, 3.69373656e+05,
       4.29752052e+05, 4.99999995e+05]), 'log_energies': array([2.47712   , 2.54287204, 2.60862408, 2.67437612, 2.74012816,
       2.8058802 , 2.87163224, 2.93738429, 3.00313633, 3.06888837,
       3.13464041, 3.20039245, 3.26614449, 3.33189653, 3.39764857,
       3.46340061, 3.52915265, 3.59490469, 3.66065673, 3.72640878,
       3.79216082, 3.85791286, 3.9236649 , 3.98941694, 4.05516898,
       4.12092102, 4.18667306, 4.2524251 , 4.31817714, 4.38392918,
       4.44968122, 4.51543327, 4.58118531, 4.64693735, 4.71268939,
       4.77844143, 4.84419347, 4.90994551, 4.97569755, 5.04144959,
       5.10720163, 5.17295367, 5.23870571, 5.30445776, 5.3702098 ,
       5.43596184, 5.50171388, 5.56746592, 5.63321796, 5.69897   ]), 'dnde': array([8.23476025e-12, 5.56871270e-12, 3.76581226e-12, 2.54661046e-12,
       1.72213174e-12, 1.16458240e-12, 7.87542639e-13, 5.32571509e-13,
       3.60148643e-13, 2.43548599e-13, 1.64698441e-13, 1.11376442e-13,
       7.53177251e-14, 5.09332099e-14, 3.44433115e-14, 2.32921057e-14,
       1.57511623e-14, 1.06516395e-14, 7.20311438e-15, 4.87106768e-15,
       3.29403354e-15, 2.22757261e-15, 1.50638410e-15, 1.01868421e-15,
       6.88879765e-16, 4.65851267e-16, 3.15029435e-16, 2.13036975e-16,
       1.44065118e-16, 9.74232678e-17, 6.58819652e-17, 4.45523276e-17,
       3.01282739e-17, 2.03740845e-17, 1.37778660e-17, 9.31720840e-18,
       6.30071249e-18, 4.26082322e-18, 2.88135897e-18, 1.94850364e-18,
       1.31766519e-18, 8.91064059e-19, 6.02577317e-19, 4.07489697e-19,
       2.75562734e-19, 1.86347829e-19, 1.26016726e-19, 8.52181386e-20,
       5.76283117e-20, 3.89708385e-20]), 'dnde_lo': array([6.72365520e-12, 4.60814120e-12, 3.15612171e-12, 2.15963782e-12,
       1.47595139e-12, 1.00708481e-12, 6.85781019e-13, 4.65863269e-13,
       3.15611346e-13, 2.13210932e-13, 1.43635728e-13, 9.65220517e-14,
       6.47241309e-14, 4.33271583e-14, 2.89651353e-14, 1.93443945e-14,
       1.29096555e-14, 8.61082793e-15, 5.74137574e-15, 3.82720238e-15,
       2.55083382e-15, 1.70000173e-15, 1.13293980e-15, 7.55044911e-16,
       5.03223790e-16, 3.35415130e-16, 2.23586408e-16, 1.49058116e-16,
       9.93843563e-17, 6.62729211e-17, 4.41990009e-17, 2.94814529e-17,
       1.96673865e-17, 1.31221968e-17, 8.75646822e-18, 5.84405184e-18,
       3.90087180e-18, 2.60418314e-18, 1.73877399e-18, 1.16111688e-18,
       7.75477617e-19, 5.17991188e-19, 3.46046496e-19, 2.31208969e-19,
       1.54501309e-19, 1.03256171e-19, 6.90168810e-20, 4.61369819e-20,
       3.08458435e-20, 2.06251358e-20]), 'dnde_hi': array([1.00854780e-11, 6.72951626e-12, 4.49328108e-12, 3.00292242e-12,
       2.00937358e-12, 1.34671098e-12, 9.04404455e-13, 6.08831885e-13,
       4.10970792e-13, 2.78202995e-13, 1.88849785e-13, 1.28516869e-13,
       8.76452048e-14, 5.98744983e-14, 4.09575753e-14, 2.80454468e-14,
       1.92181048e-14, 1.31761341e-14, 9.03700770e-15, 6.19964612e-15,
       4.25376867e-15, 2.91886746e-15, 2.00292465e-15, 1.37437854e-15,
       9.43030398e-16, 6.47011371e-16, 4.43871100e-16, 3.04476898e-16,
       2.08833251e-16, 1.43215252e-16, 9.82020690e-17, 6.73274110e-17,
       4.61532035e-17, 3.16336760e-17, 2.16787850e-17, 1.48544836e-17,
       1.01769501e-17, 6.97132786e-18, 4.77476059e-18, 3.26984000e-18,
       2.23893188e-18, 1.53283526e-18, 1.04927930e-18, 7.18172196e-19,
       4.91483348e-19, 3.36304485e-19, 2.30091753e-19, 1.57403689e-19,
       1.07665148e-19, 7.36347273e-20]), 'dnde_err': array([1.85071772e-12, 1.16080356e-12, 7.27468821e-13, 4.56311959e-13,
       2.87241844e-13, 1.82128574e-13, 1.16861816e-13, 7.62603758e-14,
       5.08221496e-14, 3.46543963e-14, 2.41513442e-14, 1.71404270e-14,
       1.23274797e-14, 8.94128842e-15, 6.51426379e-15, 4.75334113e-15,
       3.46694252e-15, 2.52449461e-15, 1.83389332e-15, 1.32857844e-15,
       9.59735126e-16, 6.91294850e-16, 4.96540555e-16, 3.55694330e-16,
       2.54150632e-16, 1.81160104e-16, 1.28841665e-16, 9.14399232e-17,
       6.47681333e-17, 4.57919843e-17, 3.23201038e-17, 2.27750834e-17,
       1.60249295e-17, 1.12595915e-17, 7.90091898e-18, 5.53727523e-18,
       3.87623766e-18, 2.71050465e-18, 1.89340162e-18, 1.32133636e-18,
       9.21266690e-19, 6.41771200e-19, 4.46701978e-19, 3.10682499e-19,
       2.15920614e-19, 1.49956656e-19, 1.04075028e-19, 7.21855506e-20,
       5.00368366e-20, 3.46638889e-20]), 'dnde_ferr': array([0.2041239 , 0.19047266, 0.1775393 , 0.16557   , 0.15487265,
       0.14581457, 0.13880102, 0.13422481, 0.13238901, 0.1334273 ,
       0.13726316, 0.14363368, 0.15216255, 0.16244156, 0.17408953,
       0.18678114, 0.20025345, 0.21430063, 0.22876438, 0.243524  ,
       0.25848778, 0.27358608, 0.28876594, 0.30398706, 0.3192187 ,
       0.33443747, 0.34962557, 0.3647695 , 0.37985911, 0.39488683,
       0.40984713, 0.42473604, 0.43955085, 0.45428984, 0.46895204,
       0.4835371 , 0.49804513, 0.51247664, 0.52683241, 0.54111347,
       0.55532099, 0.56945629, 0.5835208 , 0.597516  , 0.61144342,
       0.62530461, 0.63910116, 0.65283465, 0.66650664, 0.68011869]), 'pivot_energy': 1028.6249534295357}}}
0.003 nan nan 0.000

Running extension on source 3FGL J0102.3+4217

2026-07-17 22:13:40 INFO    GTAnalysis._extension(): Fitting extended-source model.
2026-07-17 22:13:59 INFO    GTAnalysis._extension(): Generating TS map.
2026-07-17 22:14:21 INFO    GTAnalysis._extension(): Testing point-source model.
2026-07-17 22:14:23 INFO    GTAnalysis._extension(): Best-fit extension: 1.2688 +    nan -    nan
2026-07-17 22:14:23 INFO    GTAnalysis._extension(): TS_ext:        0.000
2026-07-17 22:14:23 INFO    GTAnalysis._extension(): Extension UL:    nan
2026-07-17 22:14:23 INFO    GTAnalysis._extension(): LogLike:  -246705.415 DeltaLogLike:        3.316
2026-07-17 22:14:23 INFO    GTAnalysis.extension(): Finished extension fit.
2026-07-17 22:14:23 WARNING GTAnalysis.extension(): Saving maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0102.3+4217_ext.npy
2026-07-17 22:14:23 INFO    GTAnalysis.extension(): Execution time: 77.92 s
2026-07-17 22:14:23 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4    *
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1    *
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0    *
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1    *
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:14:23 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 22:14:23 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0102.3+4217     : ['Prefactor', 'Index']
2026-07-17 22:14:23 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0105.3+3928     : ['Prefactor', 'Index']
2026-07-17 22:14:23 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0102.1+4458     : ['Prefactor', 'Index']
2026-07-17 22:14:23 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 22:14:23 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:14:23 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0

2026-07-17 22:14:23 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0041.9+3639     : ['Prefactor', 'Index']
2026-07-17 22:14:23 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0032.5+3912     : ['Prefactor', 'Index']
2026-07-17 22:14:23 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 22:14:23 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:14:23 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7    *
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1    *
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:14:23 INFO    GTAnalysis.extension(): Running extension fit for 3FGL J0041.9+3639
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'name': '3FGL J0102.3+4217', 'file': None, 'config': {'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}, 'width': array([0.        , 0.01      , 0.01364421, 0.01861646, 0.02540069,
       0.03465724, 0.04728708, 0.0645195 , 0.08803178, 0.12011244,
       0.16388398, 0.2236068 , 0.30509388, 0.4162766 , 0.56797668,
       0.77495949, 1.05737126, 1.44269991, 1.96845052, 2.68579588,
       3.66455719, 5.        ]), 'dloglike': array([-2.91038305e-11, -3.69473128e-06,  2.06829282e-06,  2.27207784e-06,
        1.63604273e-06,  2.35141488e-06,  1.30533590e-06, -1.00492616e-05,
        2.38473876e-06,  2.49157893e-06,  1.62323704e-06, -1.10070105e-05,
        1.94326276e-07, -3.09664756e-08,  2.33302126e-06,  2.56375642e-06,
        2.56672502e-06,  2.56672502e-06,  2.56672502e-06,  2.56672502e-06,
        2.56672502e-06,  2.56672502e-06]), 'loglike': array([-246705.41468172, -246705.41468542, -246705.41467966,
       -246705.41467945, -246705.41468009, -246705.41467937,
       -246705.41468042, -246705.41469177, -246705.41467934,
       -246705.41467923, -246705.4146801 , -246705.41469273,
       -246705.41468153, -246705.41468176, -246705.41467939,
       -246705.41467916, -246705.41467916, -246705.41467916,
       -246705.41467916, -246705.41467916, -246705.41467916,
       -246705.41467916]), 'loglike_ptsrc': -246705.4146817245, 'loglike_ext': -246705.41467934859, 'loglike_init': -246708.73054776064, 'loglike_base': -246705.4146832445, 'ext': np.float64(1.268845516128677), 'ext_err_hi': np.float64(nan), 'ext_err_lo': np.float64(nan), 'ext_err': nan, 'ext_ul95': nan, 'ts_ext': 4.751840606331825e-06, 'ebin_e_min': array([], dtype=float64), 'ebin_e_ctr': array([], dtype=float64), 'ebin_e_max': array([], dtype=float64), 'ebin_ext': array([], dtype=float64), 'ebin_ext_err': array([], dtype=float64), 'ebin_ext_err_hi': array([], dtype=float64), 'ebin_ext_err_lo': array([], dtype=float64), 'ebin_ext_ul95': array([], dtype=float64), 'ebin_ts_ext': array([], dtype=float64), 'ebin_dloglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike_ptsrc': array([], dtype=float64), 'ebin_loglike_ext': array([], dtype=float64), 'ra': np.float64(15.619669420657145), 'dec': np.float64(42.20940589603612), 'glon': np.float64(125.11594301756404), 'glat': np.float64(-20.615517250498943), 'ra_err': nan, 'dec_err': nan, 'glon_err': nan, 'glat_err': nan, 'pos_offset': 0.0, 'pos_err': nan, 'pos_r68': nan, 'pos_r95': nan, 'pos_r99': nan, 'pos_err_semimajor': nan, 'pos_err_semiminor': nan, 'pos_angle': nan, 'tsmap': <gammapy.maps.wcs.ndmap.WcsNDMap object at 0x7f78576e74d0>, 'ptsrc_tot_map': None, 'ptsrc_src_map': None, 'ptsrc_bkg_map': None, 'ext_tot_map': None, 'ext_src_map': None, 'ext_bkg_map': None, 'source_fit': {'param_names': array([b'Prefactor', b'Index', b'Scale', b'', b'', b'', b'', b'', b'',
       b''], dtype='|S32'), 'param_values': array([ 7.70543753e-12, -2.80898972e+00,  4.09733124e+02,             nan,
                   nan,             nan,             nan,             nan,
                   nan,             nan]), 'param_errors': array([8.35502617e-13, 1.04417524e-01,            nan,            nan,
                  nan,            nan,            nan,            nan,
                  nan,            nan]), 'ts': np.float64(176.90555299806874), 'loglike': np.float64(-246705.41467934859), 'loglike_scan': array([-246793.86745585, -246708.12682849, -246707.4793279 ,
       -246706.9230382 , -246706.45635343, -246706.0777257 ,
       -246705.78566183, -246705.57872029, -246705.45550832,
       -246705.41467935, -246705.44264261, -246705.52617331,
       -246705.66455887, -246705.85710509, -246706.10313536,
       -246706.40199003, -246706.75302563, -246707.15561437,
       -246707.60914342, -246708.11301444]), 'dloglike_scan': array([-8.84527765e+01, -2.71214915e+00, -2.06464855e+00, -1.50835885e+00,
       -1.04167408e+00, -6.63046348e-01, -3.70982481e-01, -1.64040937e-01,
       -4.08289680e-02,  0.00000000e+00, -2.79632648e-02, -1.11493964e-01,
       -2.49879524e-01, -4.42425738e-01, -6.88456015e-01, -9.87310677e-01,
       -1.33834629e+00, -1.74093502e+00, -2.19446407e+00, -2.69833509e+00]), 'eflux_scan': array([0.00000000e+00, 1.64495094e-06, 1.69598437e-06, 1.74701781e-06,
       1.79805125e-06, 1.84908469e-06, 1.90011813e-06, 1.95115157e-06,
       2.00218501e-06, 2.05321845e-06, 2.09574413e-06, 2.13826982e-06,
       2.18079550e-06, 2.22332119e-06, 2.26584687e-06, 2.30837256e-06,
       2.35089824e-06, 2.39342393e-06, 2.43594961e-06, 2.47847530e-06]), 'flux_scan': array([0.00000000e+00, 2.46119897e-09, 2.53755593e-09, 2.61391288e-09,
       2.69026984e-09, 2.76662680e-09, 2.84298376e-09, 2.91934071e-09,
       2.99569767e-09, 3.07205463e-09, 3.13568216e-09, 3.19930970e-09,
       3.26293723e-09, 3.32656477e-09, 3.39019230e-09, 3.45381983e-09,
       3.51744737e-09, 3.58107490e-09, 3.64470244e-09, 3.70832997e-09]), 'norm_scan': array([0.        , 0.61732675, 0.63647887, 0.655631  , 0.67478312,
       0.69393525, 0.71308738, 0.7322395 , 0.75139163, 0.77054375,
       0.78650304, 0.80246233, 0.81842161, 0.8343809 , 0.85034018,
       0.86629947, 0.88225876, 0.89821804, 0.91417733, 0.93013662]), 'npred': 861.5441209971523, 'npred_wt': 861.5441209971523, 'pivot_energy': 758.5015672759246, 'flux': 3.0720546285041784e-09, 'flux100': 2.2420952452419836e-08, 'flux1000': 3.4775055281456903e-10, 'flux10000': 5.385105965352705e-12, 'flux_err': np.float64(2.934595077890761e-10), 'flux100_err': np.float64(3.959251542949772e-09), 'flux1000_err': np.float64(4.27079628567009e-11), 'flux10000_err': np.float64(1.8183405278867406e-12), 'flux_ul95': 3.521556602967584e-09, 'flux100_ul95': 2.570157848790804e-08, 'flux1000_ul95': 3.986332938506557e-10, 'flux10000_ul95': 6.173052814233883e-12, 'eflux': 2.053218449731512e-06, 'eflux100': 4.998961172322106e-06, 'eflux1000': 7.696800900201887e-07, 'eflux10000': 1.1324039457502323e-07, 'eflux_err': np.float64(1.8964732649879681e-07), 'eflux100_err': np.float64(6.045360219380818e-07), 'eflux1000_err': np.float64(1.3498932709139614e-07), 'eflux10000_err': np.float64(4.3581063541255134e-08), 'eflux_ul95': 2.3536446656573636e-06, 'eflux100_ul95': 5.730407448171309e-06, 'eflux1000_ul95': 8.822994155227775e-07, 'eflux10000_ul95': 1.2980969008109722e-07, 'dnde': 1.3662111117626516e-12, 'dnde100': 4.048615430645883e-10, 'dnde1000': 6.285166784620476e-13, 'dnde10000': 9.757242244219395e-16, 'dnde_err': np.float64(1.192592415251126e-13), 'dnde100_err': np.float64(9.266656596586245e-11), 'dnde1000_err': np.float64(5.778227506486717e-14), 'dnde10000_err': np.float64(2.761990648617883e-16), 'dnde_index': np.float64(2.8089897193274536), 'dnde100_index': np.float64(2.808989719316352), 'dnde1000_index': np.float64(2.8089897193274536), 'dnde10000_index': np.float64(2.808989719305251), 'name': '3FGL J0102.3+4217', 'spectral_pars': {'Prefactor': {'name': 'Prefactor', 'value': 0.7705437531211374, 'error': 0.08355026173744015, 'min': 1e-05, 'max': 1000.0, 'free': True, 'scale': 1e-11}, 'Index': {'name': 'Index', 'value': 2.808989719307584, 'error': 0.10441752442013369, 'min': 0.0, 'max': 5.0, 'free': True, 'scale': -1.0}, 'Scale': {'name': 'Scale', 'value': 409.7331238, 'error': nan, 'min': 409.7331238, 'max': 409.7331238, 'free': False, 'scale': 1.0}}, 'model_counts': array([2.94992928e+02, 2.01061259e+02, 1.33451162e+02, 8.69469027e+01,
       5.55871570e+01, 3.50376702e+01, 2.15953242e+01, 1.31452258e+01,
       7.92192142e+00, 4.72933957e+00, 2.82667085e+00, 1.70881818e+00,
       1.02176691e+00, 6.09607344e-01, 3.63570674e-01, 2.17960671e-01,
       1.32217898e-01, 7.96612207e-02, 4.74802120e-02, 2.81672775e-02,
       1.67322592e-02, 9.90213599e-03, 5.88968238e-03, 3.50077736e-03,
       2.07423834e-03, 1.21050415e-03]), 'model_counts_wt': array([2.94992928e+02, 2.01061259e+02, 1.33451162e+02, 8.69469027e+01,
       5.55871570e+01, 3.50376702e+01, 2.15953242e+01, 1.31452258e+01,
       7.92192142e+00, 4.72933957e+00, 2.82667085e+00, 1.70881818e+00,
       1.02176691e+00, 6.09607344e-01, 3.63570674e-01, 2.17960671e-01,
       1.32217898e-01, 7.96612207e-02, 4.74802120e-02, 2.81672775e-02,
       1.67322592e-02, 9.90213599e-03, 5.88968238e-03, 3.50077736e-03,
       2.07423834e-03, 1.21050415e-03]), 'covar': array([[0.00698065, 0.00517518],
       [0.00517518, 0.01090302]]), 'model_flux': {'energies': array([2.99999133e+02, 3.49037461e+02, 4.06091671e+02, 4.72472050e+02,
       5.49703071e+02, 6.39558395e+02, 7.44101611e+02, 8.65733625e+02,
       1.00724780e+03, 1.17189410e+03, 1.36345374e+03, 1.58632602e+03,
       1.84562936e+03, 2.14731882e+03, 2.49832292e+03, 2.90670269e+03,
       3.38183686e+03, 3.93463720e+03, 4.57779916e+03, 5.32609337e+03,
       6.19670492e+03, 7.20962801e+03, 8.38812508e+03, 9.75926113e+03,
       1.13545252e+04, 1.32105537e+04, 1.53699715e+04, 1.78823711e+04,
       2.08054514e+04, 2.42063430e+04, 2.81631498e+04, 3.27667423e+04,
       3.81228452e+04, 4.43544652e+04, 5.16047155e+04, 6.00401030e+04,
       6.98543522e+04, 8.12728539e+04, 9.45578417e+04, 1.10014415e+05,
       1.27997543e+05, 1.48920221e+05, 1.73262954e+05, 2.01584787e+05,
       2.34536152e+05, 2.72873799e+05, 3.17478177e+05, 3.69373656e+05,
       4.29752052e+05, 4.99999995e+05]), 'log_energies': array([2.47712   , 2.54287204, 2.60862408, 2.67437612, 2.74012816,
       2.8058802 , 2.87163224, 2.93738429, 3.00313633, 3.06888837,
       3.13464041, 3.20039245, 3.26614449, 3.33189653, 3.39764857,
       3.46340061, 3.52915265, 3.59490469, 3.66065673, 3.72640878,
       3.79216082, 3.85791286, 3.9236649 , 3.98941694, 4.05516898,
       4.12092102, 4.18667306, 4.2524251 , 4.31817714, 4.38392918,
       4.44968122, 4.51543327, 4.58118531, 4.64693735, 4.71268939,
       4.77844143, 4.84419347, 4.90994551, 4.97569755, 5.04144959,
       5.10720163, 5.17295367, 5.23870571, 5.30445776, 5.3702098 ,
       5.43596184, 5.50171388, 5.56746592, 5.63321796, 5.69897   ]), 'dnde': array([1.84961505e-11, 1.20888376e-11, 7.90110326e-12, 5.16405586e-12,
       3.37515813e-12, 2.20595840e-12, 1.44178503e-12, 9.42331490e-13,
       6.15895311e-13, 4.02540972e-13, 2.63095418e-13, 1.71955661e-13,
       1.12387930e-13, 7.34552539e-14, 4.80093756e-14, 3.13782884e-14,
       2.05084314e-14, 1.34040376e-14, 8.76070045e-15, 5.72587713e-15,
       3.74235703e-15, 2.44595471e-15, 1.59864342e-15, 1.04485205e-15,
       6.82901381e-16, 4.46335247e-16, 2.91718773e-16, 1.90663504e-16,
       1.24615127e-16, 8.14467872e-17, 5.32325353e-17, 3.47920761e-17,
       2.27396375e-17, 1.48623242e-17, 9.71381715e-18, 6.34882151e-18,
       4.14950518e-18, 2.71206132e-18, 1.77256715e-18, 1.15852628e-18,
       7.57197348e-19, 4.94894101e-19, 3.23456193e-19, 2.11406660e-19,
       1.38172577e-19, 9.03077560e-20, 5.90239465e-20, 3.85772653e-20,
       2.52135868e-20, 1.64792645e-20]), 'dnde_lo': array([1.63624979e-11, 1.08020355e-11, 7.12462077e-12, 4.69321895e-12,
       3.08642837e-12, 2.02549912e-12, 1.32600456e-12, 8.65815443e-13,
       5.63916980e-13, 3.66480743e-13, 2.37747303e-13, 1.54024643e-13,
       9.96851713e-14, 6.44702230e-14, 4.16743117e-14, 2.69293980e-14,
       1.73973848e-14, 1.12376967e-14, 7.25828346e-15, 4.68785445e-15,
       3.02770169e-15, 1.95552001e-15, 1.26307846e-15, 8.15875429e-16,
       5.27045177e-16, 3.40491354e-16, 2.19989247e-16, 1.42146470e-16,
       9.18568494e-17, 5.93647962e-17, 3.83697675e-17, 2.48023371e-17,
       1.60339148e-17, 1.03664526e-17, 6.70292477e-18, 4.33452936e-18,
       2.80325578e-18, 1.81311918e-18, 1.17282292e-18, 7.58718326e-19,
       4.90874275e-19, 3.17615030e-19, 2.05528654e-19, 1.33009829e-19,
       8.60864048e-20, 5.57216971e-20, 3.60705256e-20, 2.33516953e-20,
       1.51189494e-20, 9.78952235e-21]), 'dnde_hi': array([2.09080292e-11, 1.35289312e-11, 8.76221132e-12, 5.68212844e-12,
       3.69089803e-12, 2.40249547e-12, 1.56767490e-12, 1.02560961e-12,
       6.72664679e-13, 4.42149383e-13, 2.91146095e-13, 1.91974147e-13,
       1.26709385e-13, 8.36925030e-14, 5.53074556e-14, 3.65621610e-14,
       2.41758036e-14, 1.59879938e-14, 1.05741079e-14, 6.99374719e-15,
       4.62569882e-15, 3.05938799e-15, 2.02335870e-15, 1.33809128e-15,
       8.84846910e-16, 5.85081384e-16, 3.86836372e-16, 2.55740236e-16,
       1.69055764e-16, 1.11742642e-16, 7.38524886e-17, 4.88054232e-17,
       3.22498354e-17, 2.13080298e-17, 1.40771748e-17, 9.29917212e-18,
       6.14228404e-18, 4.05669779e-18, 2.67900146e-18, 1.76901374e-18,
       1.16801359e-18, 7.71122737e-19, 5.09047799e-19, 3.36011076e-19,
       2.21773241e-19, 1.46361134e-19, 9.65837398e-20, 6.37300793e-20,
       4.20482232e-20, 2.77404911e-20]), 'dnde_err': array([2.41187867e-12, 1.44009358e-12, 8.61108061e-13, 5.18072586e-13,
       3.15739901e-13, 1.96537068e-13, 1.25889873e-13, 8.32781178e-14,
       5.67693680e-14, 3.96084106e-14, 2.80506771e-14, 2.00184857e-14,
       1.43214551e-14, 1.02372490e-14, 7.29807998e-15, 5.18387253e-15,
       3.66737224e-15, 2.58395618e-15, 1.81340743e-15, 1.26787006e-15,
       8.83341788e-16, 6.13433283e-16, 4.24715278e-16, 2.93239235e-16,
       2.01945529e-16, 1.38746137e-16, 9.51175996e-17, 6.50767316e-17,
       4.44406371e-17, 3.02958544e-17, 2.06199533e-17, 1.40133471e-17,
       9.51019791e-18, 6.44570555e-18, 4.36335763e-18, 2.95035061e-18,
       1.99277886e-18, 1.34463648e-18, 9.06434302e-19, 6.10487462e-19,
       4.10816241e-19, 2.76228635e-19, 1.85591606e-19, 1.24604417e-19,
       8.36006643e-20, 5.60533781e-20, 3.75597934e-20, 2.51528140e-20,
       1.68346364e-20, 1.12612266e-20]), 'dnde_ferr': array([0.12287777, 0.11278569, 0.1036305 , 0.0957493 , 0.08954687,
       0.08544956, 0.08380942, 0.0847866 , 0.08828424, 0.09398874,
       0.1014818 , 0.11034677, 0.12022738, 0.13084347, 0.14198418,
       0.15349408, 0.16525932, 0.1771965 , 0.18924425, 0.20135716,
       0.21350143, 0.22565176, 0.23778919, 0.24989943, 0.26197175,
       0.27399811, 0.28597255, 0.29789069, 0.30974937, 0.32154642,
       0.3332804 , 0.34495047, 0.35655627, 0.36809778, 0.37957529,
       0.39098932, 0.40234053, 0.41362977, 0.42485796, 0.43602611,
       0.44713529, 0.45818662, 0.46918122, 0.48012028, 0.49100494,
       0.50183639, 0.51261579, 0.5233443 , 0.53402307, 0.54465322]), 'pivot_energy': 758.5015672759246}}}
1.269 nan nan 0.000

Running extension on source 3FGL J0041.9+3639

2026-07-17 22:15:00 INFO    GTAnalysis._extension(): Fitting extended-source model.
2026-07-17 22:15:20 INFO    GTAnalysis._extension(): Generating TS map.
2026-07-17 22:16:54 INFO    GTAnalysis._extension(): Testing point-source model.
/home/runner/work/fermipy/fermipy/fermipy/extension.py:314: RuntimeWarning: invalid value encountered in sqrt
  np.sqrt(o['ts_ext']) > sqrt_ts_threshold):
2026-07-17 22:16:56 INFO    GTAnalysis._extension(): Best-fit extension: 4.3975 +    nan -    nan
2026-07-17 22:16:56 INFO    GTAnalysis._extension(): TS_ext:        -0.000
2026-07-17 22:16:56 INFO    GTAnalysis._extension(): Extension UL:    nan
2026-07-17 22:16:56 INFO    GTAnalysis._extension(): LogLike:  -246706.338 DeltaLogLike:        1.347
2026-07-17 22:16:56 INFO    GTAnalysis.extension(): Finished extension fit.
2026-07-17 22:16:56 WARNING GTAnalysis.extension(): Saving maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0041.9+3639_ext.npy
2026-07-17 22:16:56 INFO    GTAnalysis.extension(): Execution time: 152.51 s
2026-07-17 22:16:56 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7    *
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1    *
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:16:56 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0032.5+3912     : ['Prefactor', 'Index']
2026-07-17 22:16:56 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0041.9+3639     : ['Prefactor', 'Index']
2026-07-17 22:16:56 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 22:16:56 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:16:56 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0

2026-07-17 22:16:56 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0105.3+3928     : ['Prefactor', 'Index']
2026-07-17 22:16:56 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0102.3+4217     : ['Prefactor', 'Index']
2026-07-17 22:16:56 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 22:16:56 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:16:56 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1    *
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0    *
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:16:56 INFO    GTAnalysis.extension(): Running extension fit for 3FGL J0105.3+3928
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'name': '3FGL J0041.9+3639', 'file': None, 'config': {'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}, 'width': array([0.        , 0.01      , 0.01364421, 0.01861646, 0.02540069,
       0.03465724, 0.04728708, 0.0645195 , 0.08803178, 0.12011244,
       0.16388398, 0.2236068 , 0.30509388, 0.4162766 , 0.56797668,
       0.77495949, 1.05737126, 1.44269991, 1.96845052, 2.68579588,
       3.66455719, 5.        ]), 'dloglike': array([-1.45519152e-10,  5.21072070e-06,  4.16120747e-06,  2.45313277e-06,
        5.48927346e-06,  4.31292574e-06,  1.84829696e-06,  5.49087417e-06,
        4.57212445e-06,  1.73976878e-06,  5.26176882e-06,  4.30530054e-06,
        2.36462802e-06,  4.77669528e-06,  4.79348819e-06,  4.82625910e-06,
        4.82884934e-06,  4.84843622e-06,  4.85262717e-06,  5.81311178e-06,
        5.89308911e-06,  5.89308911e-06]), 'loglike': array([-246706.33823868, -246706.33823346, -246706.33823451,
       -246706.33823622, -246706.33823319, -246706.33823436,
       -246706.33823683, -246706.33823318, -246706.3382341 ,
       -246706.33823694, -246706.33823341, -246706.33823437,
       -246706.33823631, -246706.3382339 , -246706.33823388,
       -246706.33823385, -246706.33823385, -246706.33823383,
       -246706.33823382, -246706.33823286, -246706.33823278,
       -246706.33823278]), 'loglike_ptsrc': -246706.33823867547, 'loglike_ext': -246706.3382452338, 'loglike_init': -246707.68573162134, 'loglike_base': -246706.33824532264, 'ext': np.float64(4.397468631325612), 'ext_err_hi': np.float64(nan), 'ext_err_lo': np.float64(nan), 'ext_err': nan, 'ext_ul95': nan, 'ts_ext': -1.3116688933223486e-05, 'ebin_e_min': array([], dtype=float64), 'ebin_e_ctr': array([], dtype=float64), 'ebin_e_max': array([], dtype=float64), 'ebin_ext': array([], dtype=float64), 'ebin_ext_err': array([], dtype=float64), 'ebin_ext_err_hi': array([], dtype=float64), 'ebin_ext_err_lo': array([], dtype=float64), 'ebin_ext_ul95': array([], dtype=float64), 'ebin_ts_ext': array([], dtype=float64), 'ebin_dloglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike_ptsrc': array([], dtype=float64), 'ebin_loglike_ext': array([], dtype=float64), 'ra': np.float64(10.530501369170892), 'dec': np.float64(36.67208327063212), 'glon': np.float64(120.8508276625059), 'glat': np.float64(-26.162017906265916), 'ra_err': nan, 'dec_err': nan, 'glon_err': nan, 'glat_err': nan, 'pos_offset': 0.0, 'pos_err': nan, 'pos_r68': nan, 'pos_r95': nan, 'pos_r99': nan, 'pos_err_semimajor': nan, 'pos_err_semiminor': nan, 'pos_angle': nan, 'tsmap': <gammapy.maps.wcs.ndmap.WcsNDMap object at 0x7f7855e41650>, 'ptsrc_tot_map': None, 'ptsrc_src_map': None, 'ptsrc_bkg_map': None, 'ext_tot_map': None, 'ext_src_map': None, 'ext_bkg_map': None, 'source_fit': {'param_names': array([b'Prefactor', b'Index', b'Scale', b'', b'', b'', b'', b'', b'',
       b''], dtype='|S32'), 'param_values': array([ 1.83300566e-14, -2.32893197e+00,  3.54921436e+03,             nan,
                   nan,             nan,             nan,             nan,
                   nan,             nan]), 'param_errors': array([3.17402794e-15, 1.36938945e-01,            nan,            nan,
                  nan,            nan,            nan,            nan,
                  nan,            nan]), 'ts': np.float64(87.09175897575915), 'loglike': np.float64(-246706.3382452338), 'loglike_scan': array([-246749.88412472, -246709.0478367 , -246708.3833291 ,
       -246707.81989367, -246707.35306495, -246706.97879991,
       -246706.69341821, -246706.49355355, -246706.37611335,
       -246706.33824523, -246706.36815372, -246706.45502219,
       -246706.59731205, -246706.79357434, -246707.04244174,
       -246707.34262157, -246707.6928895 , -246708.09208405,
       -246708.53910159, -246709.03289197]), 'dloglike_scan': array([-4.35458795e+01, -2.70959146e+00, -2.04508387e+00, -1.48164843e+00,
       -1.01481972e+00, -6.40554674e-01, -3.55172980e-01, -1.55308318e-01,
       -3.78681120e-02,  0.00000000e+00, -2.99084897e-02, -1.16776960e-01,
       -2.59066817e-01, -4.55329101e-01, -7.04196506e-01, -1.00437633e+00,
       -1.35464427e+00, -1.75383881e+00, -2.20085636e+00, -2.69464674e+00]), 'eflux_scan': array([0.00000000e+00, 9.84948735e-07, 1.04238332e-06, 1.09981791e-06,
       1.15725250e-06, 1.21468709e-06, 1.27212168e-06, 1.32955627e-06,
       1.38699086e-06, 1.44442545e-06, 1.49455225e-06, 1.54467904e-06,
       1.59480584e-06, 1.64493264e-06, 1.69505943e-06, 1.74518623e-06,
       1.79531303e-06, 1.84543982e-06, 1.89556662e-06, 1.94569342e-06]), 'flux_scan': array([0.00000000e+00, 8.90857063e-10, 9.42804954e-10, 9.94752845e-10,
       1.04670074e-09, 1.09864863e-09, 1.15059652e-09, 1.20254441e-09,
       1.25449230e-09, 1.30644019e-09, 1.35177840e-09, 1.39711661e-09,
       1.44245482e-09, 1.48779302e-09, 1.53313123e-09, 1.57846944e-09,
       1.62380765e-09, 1.66914586e-09, 1.71448407e-09, 1.75982227e-09]), 'norm_scan': array([0.        , 1.24992024, 1.32280592, 1.3956916 , 1.46857728,
       1.54146295, 1.61434863, 1.68723431, 1.76011998, 1.83300566,
       1.8966176 , 1.96022954, 2.02384148, 2.08745341, 2.15106535,
       2.21467729, 2.27828923, 2.34190117, 2.4055131 , 2.46912504]), 'npred': 353.5395465982804, 'npred_wt': 353.5395465982804, 'pivot_energy': 1746.484442962712, 'flux': 1.3064401910577348e-09, 'flux100': 5.626355004638918e-09, 'flux1000': 2.6356686598792853e-10, 'flux10000': 1.2234758511819364e-11, 'flux_err': np.float64(2.599461905831755e-10), 'flux100_err': np.float64(1.8114705796724415e-09), 'flux1000_err': np.float64(3.839674613779544e-11), 'flux10000_err': np.float64(4.481764571757059e-12), 'flux_ul95': 1.6243067482997354e-09, 'flux100_ul95': 6.995288773966624e-09, 'flux1000_ul95': 3.2769463308212395e-10, 'flux10000_ul95': 1.5211565711612117e-11, 'eflux': 1.4444254487110042e-06, 'eflux100': 2.1107845225481757e-06, 'eflux1000': 9.045471511267108e-07, 'eflux10000': 3.389806879243761e-07, 'eflux_err': np.float64(2.3580764776987453e-07), 'eflux100_err': np.float64(3.273227890102651e-07), 'eflux1000_err': np.float64(2.2277496755734931e-07), 'eflux10000_err': np.float64(1.5416739139224033e-07), 'eflux_ul95': 1.7958648392909663e-06, 'eflux100_ul95': 2.6243540023104825e-06, 'eflux1000_ul95': 1.1246301604827824e-06, 'eflux10000_ul95': 4.2145719544425603e-07, 'dnde': 9.558707699738962e-14, 'dnde100': 7.469926233351926e-11, 'dnde1000': 3.502549995366367e-13, 'dnde10000': 1.6422995471182946e-15, 'dnde_err': np.float64(1.3702875221857082e-14), 'dnde100_err': np.float64(3.1154235856463445e-11), 'dnde1000_err': np.float64(5.68859542941388e-14), 'dnde10000_err': np.float64(4.576697153101571e-16), 'dnde_index': np.float64(2.3289319700148736), 'dnde100_index': np.float64(2.3289319700037723), 'dnde1000_index': np.float64(2.3289319700148736), 'dnde10000_index': np.float64(2.32893196999267), 'name': '3FGL J0041.9+3639', 'spectral_pars': {'Prefactor': {'name': 'Prefactor', 'value': 1.8330056616953612, 'error': 0.31740279394785226, 'min': 1e-05, 'max': 1000.0, 'free': True, 'scale': 1e-14}, 'Index': {'name': 'Index', 'value': 2.3289319699955815, 'error': 0.13693894492389377, 'min': 0.0, 'max': 5.0, 'free': True, 'scale': -1.0}, 'Scale': {'name': 'Scale', 'value': 3549.214355, 'error': nan, 'min': 3549.214355, 'max': 3549.214355, 'free': False, 'scale': 1.0}}, 'model_counts': array([8.75428797e+01, 6.94465156e+01, 5.36628499e+01, 4.06362247e+01,
       3.01150561e+01, 2.19021718e+01, 1.55288287e+01, 1.08438287e+01,
       7.49013281e+00, 5.12312627e+00, 3.51177052e+00, 2.43464865e+00,
       1.67109159e+00, 1.14368392e+00, 7.82048917e-01, 5.38742055e-01,
       3.75709012e-01, 2.59771746e-01, 1.77635435e-01, 1.20911623e-01,
       8.23883520e-02, 5.59366430e-02, 3.81561973e-02, 2.60082783e-02,
       1.76539869e-02, 1.17753121e-02]), 'model_counts_wt': array([8.75428797e+01, 6.94465156e+01, 5.36628499e+01, 4.06362247e+01,
       3.01150561e+01, 2.19021718e+01, 1.55288287e+01, 1.08438287e+01,
       7.49013281e+00, 5.12312627e+00, 3.51177052e+00, 2.43464865e+00,
       1.67109159e+00, 1.14368392e+00, 7.82048917e-01, 5.38742055e-01,
       3.75709012e-01, 2.59771746e-01, 1.77635435e-01, 1.20911623e-01,
       8.23883520e-02, 5.59366430e-02, 3.81561973e-02, 2.60082783e-02,
       1.76539869e-02, 1.17753121e-02]), 'covar': array([[ 0.10074453, -0.02437986],
       [-0.02437986,  0.01875227]]), 'model_flux': {'energies': array([2.99999133e+02, 3.49037461e+02, 4.06091671e+02, 4.72472050e+02,
       5.49703071e+02, 6.39558395e+02, 7.44101611e+02, 8.65733625e+02,
       1.00724780e+03, 1.17189410e+03, 1.36345374e+03, 1.58632602e+03,
       1.84562936e+03, 2.14731882e+03, 2.49832292e+03, 2.90670269e+03,
       3.38183686e+03, 3.93463720e+03, 4.57779916e+03, 5.32609337e+03,
       6.19670492e+03, 7.20962801e+03, 8.38812508e+03, 9.75926113e+03,
       1.13545252e+04, 1.32105537e+04, 1.53699715e+04, 1.78823711e+04,
       2.08054514e+04, 2.42063430e+04, 2.81631498e+04, 3.27667423e+04,
       3.81228452e+04, 4.43544652e+04, 5.16047155e+04, 6.00401030e+04,
       6.98543522e+04, 8.12728539e+04, 9.45578417e+04, 1.10014415e+05,
       1.27997543e+05, 1.48920221e+05, 1.73262954e+05, 2.01584787e+05,
       2.34536152e+05, 2.72873799e+05, 3.17478177e+05, 3.69373656e+05,
       4.29752052e+05, 4.99999995e+05]), 'log_energies': array([2.47712   , 2.54287204, 2.60862408, 2.67437612, 2.74012816,
       2.8058802 , 2.87163224, 2.93738429, 3.00313633, 3.06888837,
       3.13464041, 3.20039245, 3.26614449, 3.33189653, 3.39764857,
       3.46340061, 3.52915265, 3.59490469, 3.66065673, 3.72640878,
       3.79216082, 3.85791286, 3.9236649 , 3.98941694, 4.05516898,
       4.12092102, 4.18667306, 4.2524251 , 4.31817714, 4.38392918,
       4.44968122, 4.51543327, 4.58118531, 4.64693735, 4.71268939,
       4.77844143, 4.84419347, 4.90994551, 4.97569755, 5.04144959,
       5.10720163, 5.17295367, 5.23870571, 5.30445776, 5.3702098 ,
       5.43596184, 5.50171388, 5.56746592, 5.63321796, 5.69897   ]), 'dnde': array([5.78277496e-12, 4.06447318e-12, 2.85674997e-12, 2.00789132e-12,
       1.41126370e-12, 9.91918846e-13, 6.97178703e-13, 4.90018055e-13,
       3.44413409e-13, 2.42073931e-13, 1.70143747e-13, 1.19586998e-13,
       8.40527510e-14, 5.90771998e-14, 4.15229186e-14, 2.91847409e-14,
       2.05127465e-14, 1.44175605e-14, 1.01335065e-14, 7.12242234e-15,
       5.00605587e-15, 3.51854948e-15, 2.47304280e-15, 1.73819943e-15,
       1.22170844e-15, 8.58688295e-16, 6.03536462e-16, 4.24200800e-16,
       2.98153185e-16, 2.09559534e-16, 1.47290723e-16, 1.03524553e-16,
       7.27631234e-17, 5.11421879e-17, 3.59457271e-17, 2.52647639e-17,
       1.77575568e-17, 1.24810517e-17, 8.77241469e-18, 6.16576721e-18,
       4.33366258e-18, 3.04595206e-18, 2.14087363e-18, 1.50473147e-18,
       1.05761347e-18, 7.43352735e-19, 5.22471871e-19, 3.67223854e-19,
       2.58106448e-19, 1.81412340e-19]), 'dnde_lo': array([4.51570340e-12, 3.21815299e-12, 2.29299126e-12, 1.63331238e-12,
       1.16292399e-12, 8.27516780e-13, 5.88375464e-13, 4.17899130e-13,
       2.96409707e-13, 2.09877414e-13, 1.48298650e-13, 1.04538035e-13,
       7.35012592e-14, 5.15451913e-14, 3.60594403e-14, 2.51715009e-14,
       1.75391919e-14, 1.22032233e-14, 8.48094950e-15, 5.88895873e-15,
       4.08651877e-15, 2.83443253e-15, 1.96533342e-15, 1.36241757e-15,
       9.44330381e-16, 6.54493182e-16, 4.53602208e-16, 3.14376923e-16,
       2.17893610e-16, 1.51031190e-16, 1.04694733e-16, 7.25813474e-17,
       5.03236116e-17, 3.48954370e-17, 2.42001556e-17, 1.67850357e-17,
       1.16434675e-17, 8.07791495e-18, 5.60497461e-18, 3.88960702e-18,
       2.69957588e-18, 1.87388503e-18, 1.30091113e-18, 9.03252519e-19,
       6.27230365e-19, 4.35612881e-19, 3.02572489e-19, 2.10190238e-19,
       1.46032421e-19, 1.01470289e-19]), 'dnde_hi': array([7.40537702e-12, 5.13336136e-12, 3.55911536e-12, 2.46837506e-12,
       1.71263578e-12, 1.18898253e-12, 8.26101993e-13, 5.74582900e-13,
       4.00191336e-13, 2.79209596e-13, 1.95206729e-13, 1.36802360e-13,
       9.61189648e-14, 6.77098184e-14, 4.78141857e-14, 3.38378353e-14,
       2.39904307e-14, 1.70337004e-14, 1.21080729e-14, 8.61423935e-15,
       6.13250466e-15, 4.36778449e-15, 3.11190998e-15, 2.21762940e-15,
       1.58056072e-15, 1.12659017e-15, 8.03030178e-16, 5.72390354e-16,
       4.07975808e-16, 2.90769066e-16, 2.07217273e-16, 1.47659604e-16,
       1.05208509e-16, 7.49531630e-17, 5.33920245e-17, 3.80284145e-17,
       2.70822094e-17, 1.92842650e-17, 1.37298141e-17, 9.77391420e-18,
       6.95688217e-18, 4.95111696e-18, 3.52317680e-18, 2.50673731e-18,
       1.78331011e-18, 1.26849621e-18, 9.02186637e-19, 6.41577649e-19,
       4.56192796e-19, 3.24335698e-19]), 'dnde_err': array([1.62260207e-12, 1.06888818e-12, 7.02365387e-13, 4.60483743e-13,
       3.01372077e-13, 1.97063688e-13, 1.28923290e-13, 8.45648452e-14,
       5.57779265e-14, 3.71356651e-14, 2.50629828e-14, 1.72153628e-14,
       1.20662138e-14, 8.63261854e-15, 6.29126703e-15, 4.65309441e-15,
       3.47768424e-15, 2.61613995e-15, 1.97456637e-15, 1.49181701e-15,
       1.12644878e-15, 8.49235013e-16, 6.38867183e-16, 4.79429973e-16,
       3.58852280e-16, 2.67901879e-16, 1.99493715e-16, 1.48189555e-16,
       1.09822623e-16, 8.12095329e-17, 5.99265499e-17, 4.41350514e-17,
       3.24453853e-17, 2.38109752e-17, 1.74462974e-17, 1.27636506e-17,
       9.32465256e-18, 6.80321326e-18, 4.95739943e-18, 3.60814699e-18,
       2.62321960e-18, 1.90516490e-18, 1.38230316e-18, 1.00200585e-18,
       7.25696642e-19, 5.25143476e-19, 3.79714766e-19, 2.74353795e-19,
       1.98086348e-19, 1.42923358e-19]), 'dnde_ferr': array([0.24985181, 0.23560352, 0.22160219, 0.20794519, 0.19475871,
       0.18220531, 0.17049182, 0.15987551, 0.15066433, 0.14320456,
       0.13784838, 0.13489897, 0.13454471, 0.13680935, 0.14154527,
       0.14847373, 0.15724951, 0.16752061, 0.17896685, 0.19131698,
       0.20435108, 0.21789547, 0.23181495, 0.2460051 , 0.2603855 ,
       0.27489427, 0.28948373, 0.3041171 , 0.318766  , 0.33340854,
       0.34802783, 0.36261087, 0.37714775, 0.39163094, 0.40605478,
       0.42041515, 0.43470907, 0.44893452, 0.46309025, 0.47717559,
       0.49119033, 0.50513466, 0.51900907, 0.53281427, 0.54655116,
       0.5602208 , 0.57382433, 0.587363  , 0.6008381 , 0.61425096]), 'pivot_energy': 1746.484442962712}}}
4.397 nan nan -0.000

Running extension on source 3FGL J0105.3+3928

2026-07-17 22:17:28 INFO    GTAnalysis._extension(): Fitting extended-source model.
2026-07-17 22:17:47 INFO    GTAnalysis._extension(): Generating TS map.
2026-07-17 22:18:03 INFO    GTAnalysis._extension(): Testing point-source model.
2026-07-17 22:18:05 INFO    GTAnalysis._extension(): Best-fit extension: 1.2688 +    nan -    nan
2026-07-17 22:18:05 INFO    GTAnalysis._extension(): TS_ext:        0.000
2026-07-17 22:18:05 INFO    GTAnalysis._extension(): Extension UL:    nan
2026-07-17 22:18:05 INFO    GTAnalysis._extension(): LogLike:  -246705.962 DeltaLogLike:        1.493
2026-07-17 22:18:05 INFO    GTAnalysis.extension(): Finished extension fit.
2026-07-17 22:18:05 WARNING GTAnalysis.extension(): Saving maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0105.3+3928_ext.npy
2026-07-17 22:18:05 INFO    GTAnalysis.extension(): Execution time: 69.61 s
2026-07-17 22:18:05 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1    *
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0    *
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:18:05 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0102.3+4217     : ['Prefactor', 'Index']
2026-07-17 22:18:05 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0105.3+3928     : ['Prefactor', 'Index']
2026-07-17 22:18:05 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 22:18:05 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:18:05 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0

2026-07-17 22:18:05 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0023.5+4454     : ['Prefactor', 'Index']
2026-07-17 22:18:05 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0022.7+4651     : ['Prefactor', 'Index']
2026-07-17 22:18:05 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 22:18:05 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:18:05 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9    *
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0    *
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:18:05 INFO    GTAnalysis.extension(): Running extension fit for 3FGL J0023.5+4454
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'name': '3FGL J0105.3+3928', 'file': None, 'config': {'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}, 'width': array([0.        , 0.01      , 0.01364421, 0.01861646, 0.02540069,
       0.03465724, 0.04728708, 0.0645195 , 0.08803178, 0.12011244,
       0.16388398, 0.2236068 , 0.30509388, 0.4162766 , 0.56797668,
       0.77495949, 1.05737126, 1.44269991, 1.96845052, 2.68579588,
       3.66455719, 5.        ]), 'dloglike': array([7.56699592e-10, 1.54741574e-05, 1.79161143e-05, 1.43800571e-05,
       2.13461462e-05, 2.10225699e-05, 1.91534637e-05, 2.13342719e-05,
       2.11255974e-05, 2.05000397e-05, 2.09285645e-05, 2.12329905e-05,
       1.94984605e-05, 2.11790029e-05, 2.13269959e-05, 2.13450403e-05,
       2.13482417e-05, 2.13482417e-05, 2.13482417e-05, 2.13482417e-05,
       2.13482417e-05, 2.13482417e-05]), 'loglike': array([-246705.96233872, -246705.96232324, -246705.9623208 ,
       -246705.96232434, -246705.96231737, -246705.9623177 ,
       -246705.96231957, -246705.96231738, -246705.96231759,
       -246705.96231822, -246705.96231779, -246705.96231749,
       -246705.96231922, -246705.96231754, -246705.96231739,
       -246705.96231737, -246705.96231737, -246705.96231737,
       -246705.96231737, -246705.96231737, -246705.96231737,
       -246705.96231737]), 'loglike_ptsrc': -246705.96233871876, 'loglike_ext': -246705.96231737663, 'loglike_init': -246707.45503826975, 'loglike_base': -246705.96231906314, 'ext': np.float64(1.268845516128677), 'ext_err_hi': np.float64(nan), 'ext_err_lo': np.float64(nan), 'ext_err': nan, 'ext_ul95': nan, 'ts_ext': 4.2684259824454784e-05, 'ebin_e_min': array([], dtype=float64), 'ebin_e_ctr': array([], dtype=float64), 'ebin_e_max': array([], dtype=float64), 'ebin_ext': array([], dtype=float64), 'ebin_ext_err': array([], dtype=float64), 'ebin_ext_err_hi': array([], dtype=float64), 'ebin_ext_err_lo': array([], dtype=float64), 'ebin_ext_ul95': array([], dtype=float64), 'ebin_ts_ext': array([], dtype=float64), 'ebin_dloglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike_ptsrc': array([], dtype=float64), 'ebin_loglike_ext': array([], dtype=float64), 'ra': np.float64(16.306550101735052), 'dec': np.float64(39.48501978708362), 'glon': np.float64(125.82826240605303), 'glat': np.float64(-23.309173854222827), 'ra_err': nan, 'dec_err': nan, 'glon_err': nan, 'glat_err': nan, 'pos_offset': 0.0, 'pos_err': nan, 'pos_r68': nan, 'pos_r95': nan, 'pos_r99': nan, 'pos_err_semimajor': nan, 'pos_err_semiminor': nan, 'pos_angle': nan, 'tsmap': <gammapy.maps.wcs.ndmap.WcsNDMap object at 0x7f7856fac950>, 'ptsrc_tot_map': None, 'ptsrc_src_map': None, 'ptsrc_bkg_map': None, 'ext_tot_map': None, 'ext_src_map': None, 'ext_bkg_map': None, 'source_fit': {'param_names': array([b'Prefactor', b'Index', b'Scale', b'', b'', b'', b'', b'', b'',
       b''], dtype='|S32'), 'param_values': array([ 6.46301296e-13, -2.28247041e+00,  9.96943298e+02,             nan,
                   nan,             nan,             nan,             nan,
                   nan,             nan]), 'param_errors': array([5.68447008e-14, 7.50078176e-02,            nan,            nan,
                  nan,            nan,            nan,            nan,
                  nan,            nan]), 'ts': np.float64(250.74229021789506), 'loglike': np.float64(-246705.96231737663), 'loglike_scan': array([-246831.33346249, -246708.67641842, -246708.02245991,
       -246707.46311933, -246706.99589213, -246706.61840296,
       -246706.32839581, -246706.12372523, -246706.0023483 ,
       -246705.96231738, -246705.9908483 , -246706.07569279,
       -246706.2157978 , -246706.41014873, -246706.65776737,
       -246706.95770993, -246707.30906528, -246707.71095322,
       -246708.16252294, -246708.66295159]), 'dloglike_scan': array([-1.25371145e+02, -2.71410105e+00, -2.06014253e+00, -1.50080195e+00,
       -1.03357476e+00, -6.56085579e-01, -3.66078432e-01, -1.61407856e-01,
       -4.00309230e-02,  0.00000000e+00, -2.85309204e-02, -1.13375415e-01,
       -2.53480424e-01, -4.47831356e-01, -6.95449993e-01, -9.95392557e-01,
       -1.34674790e+00, -1.74863584e+00, -2.20020557e+00, -2.70063421e+00]), 'eflux_scan': array([0.00000000e+00, 2.26420624e-06, 2.33116504e-06, 2.39812383e-06,
       2.46508263e-06, 2.53204143e-06, 2.59900022e-06, 2.66595902e-06,
       2.73291781e-06, 2.79987661e-06, 2.85678133e-06, 2.91368605e-06,
       2.97059076e-06, 3.02749548e-06, 3.08440020e-06, 3.14130492e-06,
       3.19820964e-06, 3.25511436e-06, 3.31201908e-06, 3.36892380e-06]), 'flux_scan': array([0.00000000e+00, 1.89675077e-09, 1.95284290e-09, 2.00893503e-09,
       2.06502715e-09, 2.12111928e-09, 2.17721141e-09, 2.23330354e-09,
       2.28939567e-09, 2.34548780e-09, 2.39315751e-09, 2.44082723e-09,
       2.48849695e-09, 2.53616666e-09, 2.58383638e-09, 2.63150610e-09,
       2.67917581e-09, 2.72684553e-09, 2.77451525e-09, 2.82218496e-09]), 'norm_scan': array([0.        , 0.5226514 , 0.53810764, 0.55356387, 0.56902011,
       0.58447635, 0.59993258, 0.61538882, 0.63084506, 0.6463013 ,
       0.65943673, 0.67257216, 0.6857076 , 0.69884303, 0.71197846,
       0.7251139 , 0.73824933, 0.75138477, 0.7645202 , 0.77765563]), 'npred': 666.9114305592084, 'npred_wt': 666.9114305592084, 'pivot_energy': 1359.057545116593, 'flux': 2.3454877954329006e-09, 'flux100': 9.598504016021355e-09, 'flux1000': 5.003616107447138e-10, 'flux10000': 2.5807560225059927e-11, 'flux_err': np.float64(2.3678163111541956e-10), 'flux100_err': np.float64(1.5473631007348142e-09), 'flux1000_err': np.float64(4.593412822803735e-11), 'flux10000_err': np.float64(5.726149681019376e-12), 'flux_ul95': 2.6809485698218927e-09, 'flux100_ul95': 1.097131934102972e-08, 'flux1000_ul95': 5.719252717203895e-10, 'flux10000_ul95': 2.949865772513934e-11, 'eflux': 2.799876607087625e-06, 'eflux100': 3.90732426938655e-06, 'eflux1000': 1.8251986938827044e-06, 'eflux10000': 7.387151206089495e-07, 'eflux_err': np.float64(3.1549435306806417e-07), 'eflux100_err': np.float64(3.314461137803057e-07), 'eflux1000_err': np.float64(2.937848708548572e-07), 'eflux10000_err': np.float64(2.009746144179582e-07), 'eflux_ul95': 3.2003258341678646e-06, 'eflux100_ul95': 4.466164962460971e-06, 'eflux1000_ul95': 2.0862457001625484e-06, 'eflux10000_ul95': 8.443690263316175e-07, 'dnde': 3.1863167419570275e-13, 'dnde100': 1.2299028322222582e-10, 'dnde1000': 6.418009964751104e-13, 'dnde10000': 3.3491143225695737e-15, 'dnde_err': np.float64(2.7028862729416187e-14), 'dnde100_err': np.float64(2.6235605473065297e-11), 'dnde1000_err': np.float64(5.6410119915264354e-14), 'dnde10000_err': np.float64(5.762643139338907e-16), 'dnde_index': np.float64(2.282470414572691), 'dnde100_index': np.float64(2.282470414561589), 'dnde1000_index': np.float64(2.282470414572691), 'dnde10000_index': np.float64(2.282470414561589), 'name': '3FGL J0105.3+3928', 'spectral_pars': {'Prefactor': {'name': 'Prefactor', 'value': 0.6463012958668248, 'error': 0.05684470081564189, 'min': 1e-05, 'max': 1000.0, 'free': True, 'scale': 1e-12}, 'Index': {'name': 'Index', 'value': 2.2824704145490555, 'error': 0.07500781755616874, 'min': 0.0, 'max': 5.0, 'free': True, 'scale': -1.0}, 'Scale': {'name': 'Scale', 'value': 996.9432983, 'error': nan, 'min': 996.9432983, 'max': 996.9432983, 'free': False, 'scale': 1.0}}, 'model_counts': array([1.61033747e+02, 1.28867108e+02, 1.00408107e+02, 7.66826914e+01,
       5.73540831e+01, 4.21256206e+01, 3.01936766e+01, 2.13318602e+01,
       1.49195924e+01, 1.03355533e+01, 7.17929168e+00, 5.04270981e+00,
       3.50525970e+00, 2.43059100e+00, 1.68472287e+00, 1.17553025e+00,
       8.29693191e-01, 5.81024319e-01, 4.02565663e-01, 2.77617201e-01,
       1.91678177e-01, 1.31893591e-01, 9.11951779e-02, 6.30021441e-02,
       4.33310888e-02, 2.92849698e-02]), 'model_counts_wt': array([1.61033747e+02, 1.28867108e+02, 1.00408107e+02, 7.66826914e+01,
       5.73540831e+01, 4.21256206e+01, 3.01936766e+01, 2.13318602e+01,
       1.49195924e+01, 1.03355533e+01, 7.17929168e+00, 5.04270981e+00,
       3.50525970e+00, 2.43059100e+00, 1.68472287e+00, 1.17553025e+00,
       8.29693191e-01, 5.81024319e-01, 4.02565663e-01, 2.77617201e-01,
       1.91678177e-01, 1.31893591e-01, 9.11951779e-02, 6.30021441e-02,
       4.33310888e-02, 2.92849698e-02]), 'covar': array([[0.00323132, 0.00112663],
       [0.00112663, 0.00562617]]), 'model_flux': {'energies': array([2.99999133e+02, 3.49037461e+02, 4.06091671e+02, 4.72472050e+02,
       5.49703071e+02, 6.39558395e+02, 7.44101611e+02, 8.65733625e+02,
       1.00724780e+03, 1.17189410e+03, 1.36345374e+03, 1.58632602e+03,
       1.84562936e+03, 2.14731882e+03, 2.49832292e+03, 2.90670269e+03,
       3.38183686e+03, 3.93463720e+03, 4.57779916e+03, 5.32609337e+03,
       6.19670492e+03, 7.20962801e+03, 8.38812508e+03, 9.75926113e+03,
       1.13545252e+04, 1.32105537e+04, 1.53699715e+04, 1.78823711e+04,
       2.08054514e+04, 2.42063430e+04, 2.81631498e+04, 3.27667423e+04,
       3.81228452e+04, 4.43544652e+04, 5.16047155e+04, 6.00401030e+04,
       6.98543522e+04, 8.12728539e+04, 9.45578417e+04, 1.10014415e+05,
       1.27997543e+05, 1.48920221e+05, 1.73262954e+05, 2.01584787e+05,
       2.34536152e+05, 2.72873799e+05, 3.17478177e+05, 3.69373656e+05,
       4.29752052e+05, 4.99999995e+05]), 'log_energies': array([2.47712   , 2.54287204, 2.60862408, 2.67437612, 2.74012816,
       2.8058802 , 2.87163224, 2.93738429, 3.00313633, 3.06888837,
       3.13464041, 3.20039245, 3.26614449, 3.33189653, 3.39764857,
       3.46340061, 3.52915265, 3.59490469, 3.66065673, 3.72640878,
       3.79216082, 3.85791286, 3.9236649 , 3.98941694, 4.05516898,
       4.12092102, 4.18667306, 4.2524251 , 4.31817714, 4.38392918,
       4.44968122, 4.51543327, 4.58118531, 4.64693735, 4.71268939,
       4.77844143, 4.84419347, 4.90994551, 4.97569755, 5.04144959,
       5.10720163, 5.17295367, 5.23870571, 5.30445776, 5.3702098 ,
       5.43596184, 5.50171388, 5.56746592, 5.63321796, 5.69897   ]), 'dnde': array([1.00197876e-11, 7.09220744e-12, 5.02000722e-12, 3.55326218e-12,
       2.51507052e-12, 1.78021755e-12, 1.26007383e-12, 8.91905624e-13,
       6.31308758e-13, 4.46853050e-13, 3.16291586e-13, 2.23877553e-13,
       1.58465039e-13, 1.12164745e-13, 7.93924652e-14, 5.61955854e-14,
       3.97763668e-14, 2.81545133e-14, 1.99283314e-14, 1.41056742e-14,
       9.98428019e-15, 7.06707454e-15, 5.00221765e-15, 3.54067037e-15,
       2.50615778e-15, 1.77390893e-15, 1.25560846e-15, 8.88744948e-16,
       6.29071569e-16, 4.45269522e-16, 3.15170733e-16, 2.23084190e-16,
       1.57903482e-16, 1.11767264e-16, 7.91111195e-17, 5.59964432e-17,
       3.96354100e-17, 2.80547412e-17, 1.98577107e-17, 1.40556874e-17,
       9.94889857e-18, 7.04203072e-18, 4.98449113e-18, 3.52812318e-18,
       2.49727662e-18, 1.76762267e-18, 1.25115892e-18, 8.85595473e-19,
       6.26842307e-19, 4.43691606e-19]), 'dnde_lo': array([8.77734295e-12, 6.26168873e-12, 4.46573108e-12, 3.18367729e-12,
       2.26858382e-12, 1.61552688e-12, 1.14958709e-12, 8.17269986e-13,
       5.80378662e-13, 4.11636431e-13, 2.91559129e-13, 2.06221426e-13,
       1.45664196e-13, 1.02761592e-13, 7.24159323e-14, 5.09843155e-14,
       3.58682644e-14, 2.52185604e-14, 1.77223662e-14, 1.24497398e-14,
       8.74325104e-15, 6.13888253e-15, 4.30956045e-15, 3.02498121e-15,
       2.12311442e-15, 1.49003714e-15, 1.04569097e-15, 7.33837530e-16,
       5.14983155e-16, 3.61399659e-16, 2.53622736e-16, 1.77990869e-16,
       1.24916297e-16, 8.76707191e-17, 6.15326984e-17, 4.31891622e-17,
       3.03153266e-17, 2.12798895e-17, 1.49381541e-17, 1.04868630e-17,
       7.36233977e-18, 5.16901883e-18, 3.62929834e-18, 2.54835393e-18,
       1.78944968e-18, 1.25661431e-18, 8.82484977e-19, 6.19776998e-19,
       4.35297695e-19, 3.05745448e-19]), 'dnde_hi': array([1.14381021e-11, 8.03288194e-12, 5.64307882e-12, 3.96575123e-12,
       2.78833855e-12, 1.96169718e-12, 1.38117943e-12, 9.73357221e-13,
       6.86708135e-13, 4.85082548e-13, 3.43122054e-13, 2.43045350e-13,
       1.72390810e-13, 1.22428330e-13, 8.70411156e-14, 6.19395158e-14,
       4.41102848e-14, 3.14322707e-14, 2.24088807e-14, 1.59818637e-14,
       1.14014627e-14, 8.13560813e-15, 5.80620268e-15, 4.14427257e-15,
       2.95830820e-15, 2.11186206e-15, 1.50766589e-15, 1.07635212e-15,
       7.68434918e-16, 5.48603029e-16, 3.91654914e-16, 2.79601737e-16,
       1.99601734e-16, 1.42486811e-16, 1.01711275e-16, 7.26015854e-17,
       5.18208411e-17, 3.69864939e-17, 2.63974163e-17, 1.88390321e-17,
       1.34441748e-17, 9.59373496e-18, 6.84571767e-18, 4.88458570e-18,
       3.48508851e-18, 2.48643509e-18, 1.77385302e-18, 1.26542183e-18,
       9.02672543e-19, 6.43876277e-19]), 'dnde_err': array([1.41831441e-12, 9.40674507e-13, 6.23071602e-13, 4.12489049e-13,
       2.73268030e-13, 1.81479631e-13, 1.21105605e-13, 8.14515966e-14,
       5.53993763e-14, 3.82294974e-14, 2.68304684e-14, 1.91677975e-14,
       1.39257705e-14, 1.02635845e-14, 7.64865035e-15, 5.74393037e-15,
       4.33391797e-15, 3.27775745e-15, 2.48054935e-15, 1.87618952e-15,
       1.41718254e-15, 1.06853359e-15, 8.03985028e-16, 6.03602202e-16,
       4.52150425e-16, 3.37953128e-16, 2.52057428e-16, 1.87607174e-16,
       1.39363349e-16, 1.03333507e-16, 7.64841808e-17, 5.65175465e-17,
       4.16982524e-17, 3.07195477e-17, 2.26001558e-17, 1.66051422e-17,
       1.21854312e-17, 8.93175268e-18, 6.53970564e-18, 4.78334468e-18,
       3.49527622e-18, 2.55170424e-18, 1.86122654e-18, 1.35646252e-18,
       9.87811892e-19, 7.18812420e-19, 5.22694099e-19, 3.79826356e-19,
       2.75830236e-19, 2.00184672e-19]), 'dnde_ferr': array([0.13277522, 0.12486897, 0.11726554, 0.11005013, 0.10332806,
       0.09722697, 0.09189634, 0.0875021 , 0.08421353, 0.08218151,
       0.08151169, 0.08224122, 0.08432969, 0.08766898, 0.09210687,
       0.09747385, 0.10360449, 0.11035016, 0.11758422, 0.12520224,
       0.13311985, 0.1412696 , 0.14959787, 0.15806207, 0.16662833,
       0.17526969, 0.18396456, 0.19269566, 0.20144907, 0.21021355,
       0.21898001, 0.22774108, 0.23649079, 0.24522427, 0.25393761,
       0.2626276 , 0.27129169, 0.27992781, 0.28853432, 0.29710995,
       0.30565368, 0.31416478, 0.3226427 , 0.33108705, 0.3394976 ,
       0.34787424, 0.35621696, 0.36452582, 0.37280098, 0.38104263]), 'pivot_energy': 1359.057545116593}}}
1.269 nan nan 0.000

Running extension on source 3FGL J0023.5+4454

2026-07-17 22:18:16 INFO    GTAnalysis._extension(): Fitting extended-source model.
2026-07-17 22:18:22 INFO    GTAnalysis._extension(): Generating TS map.
2026-07-17 22:18:23 INFO    GTAnalysis._extension(): Testing point-source model.
2026-07-17 22:18:24 INFO    GTAnalysis._extension(): Best-fit extension: 0.0935 + 0.0399 - 0.0415
2026-07-17 22:18:24 INFO    GTAnalysis._extension(): TS_ext:        3.202
2026-07-17 22:18:24 INFO    GTAnalysis._extension(): Extension UL: 0.1561
2026-07-17 22:18:24 INFO    GTAnalysis._extension(): LogLike:  -246704.949 DeltaLogLike:        1.571
2026-07-17 22:18:24 INFO    GTAnalysis.extension(): Finished extension fit.
2026-07-17 22:18:24 WARNING GTAnalysis.extension(): Saving maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0023.5+4454_ext.npy
2026-07-17 22:18:24 INFO    GTAnalysis.extension(): Execution time: 19.10 s
2026-07-17 22:18:24 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9    *
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0    *
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:18:24 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0023.5+4454     : ['Prefactor', 'Index']
2026-07-17 22:18:24 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0022.7+4651     : ['Prefactor', 'Index']
2026-07-17 22:18:24 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 22:18:24 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:18:24 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0

2026-07-17 22:18:24 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0102.1+4458     : ['Prefactor', 'Index']
2026-07-17 22:18:24 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0102.3+4217     : ['Prefactor', 'Index']
2026-07-17 22:18:24 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 22:18:24 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:18:24 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1    *
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1    *
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:18:24 INFO    GTAnalysis.extension(): Running extension fit for 3FGL J0102.1+4458
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'name': '3FGL J0023.5+4454', 'file': None, 'config': {'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}, 'width': array([0.        , 0.01      , 0.01364421, 0.01861646, 0.02540069,
       0.03465724, 0.04728708, 0.0645195 , 0.08803178, 0.12011244,
       0.16388398, 0.2236068 , 0.30509388, 0.4162766 , 0.56797668,
       0.77495949, 1.05737126, 1.44269991, 1.96845052, 2.68579588,
       3.66455719, 5.        ]), 'dloglike': array([ 7.38211349e-03,  7.38398545e-02,  1.34392580e-01,  2.39532659e-01,
        4.11858338e-01,  6.68671149e-01,  1.00107322e+00,  1.34911558e+00,
        1.58131369e+00,  1.39873007e+00, -1.35386040e-01, -4.40771799e+00,
       -1.25650841e+01, -2.45298697e+01, -3.99151273e+01, -5.80624394e+01,
       -7.73215495e+01, -9.41089103e+01, -1.05076286e+02, -1.09071994e+02,
       -1.10310447e+02, -1.10722817e+02]), 'loglike': array([-246706.54324583, -246706.47678809, -246706.41623536,
       -246706.31109528, -246706.1387696 , -246705.88195679,
       -246705.54955472, -246705.20151236, -246704.96931425,
       -246705.15189787, -246706.68601398, -246710.95834593,
       -246719.11571208, -246731.08049765, -246746.46575525,
       -246764.61306739, -246783.87217739, -246800.65953827,
       -246811.62691422, -246815.62262145, -246816.86107543,
       -246817.27344509]), 'loglike_ptsrc': -246706.55062794, 'loglike_ext': -246704.9494481117, 'loglike_init': -246706.5205179373, 'loglike_base': -246706.37744336107, 'ext': 0.09354706142420013, 'ext_err_hi': np.float64(0.03988403125978551), 'ext_err_lo': np.float64(0.041460235620794865), 'ext_err': np.float64(0.04067213344029019), 'ext_ul95': 0.1561278566559612, 'ts_ext': 3.202359656628687, 'ebin_e_min': array([], dtype=float64), 'ebin_e_ctr': array([], dtype=float64), 'ebin_e_max': array([], dtype=float64), 'ebin_ext': array([], dtype=float64), 'ebin_ext_err': array([], dtype=float64), 'ebin_ext_err_hi': array([], dtype=float64), 'ebin_ext_err_lo': array([], dtype=float64), 'ebin_ext_ul95': array([], dtype=float64), 'ebin_ts_ext': array([], dtype=float64), 'ebin_dloglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike_ptsrc': array([], dtype=float64), 'ebin_loglike_ext': array([], dtype=float64), 'ra': np.float64(5.953824933494801), 'dec': np.float64(44.951986278945014), 'glon': np.float64(117.809114077699), 'glat': np.float64(-17.644829318665355), 'ra_err': nan, 'dec_err': nan, 'glon_err': nan, 'glat_err': nan, 'pos_offset': 0.0, 'pos_err': nan, 'pos_r68': nan, 'pos_r95': nan, 'pos_r99': nan, 'pos_err_semimajor': nan, 'pos_err_semiminor': nan, 'pos_angle': nan, 'tsmap': <gammapy.maps.wcs.ndmap.WcsNDMap object at 0x7f7855da6a50>, 'ptsrc_tot_map': None, 'ptsrc_src_map': None, 'ptsrc_bkg_map': None, 'ext_tot_map': None, 'ext_src_map': None, 'ext_bkg_map': None, 'source_fit': {'param_names': array([b'Prefactor', b'Index', b'Scale', b'', b'', b'', b'', b'', b'',
       b''], dtype='|S32'), 'param_values': array([ 2.27173233e-12, -2.42985741e+00,  6.20380676e+02,             nan,
                   nan,             nan,             nan,             nan,
                   nan,             nan]), 'param_errors': array([2.18178328e-13, 8.05270249e-02,            nan,            nan,
                  nan,            nan,            nan,            nan,
                  nan,            nan]), 'ts': np.float64(228.58764375624014), 'loglike': np.float64(-246704.9494481117), 'loglike_scan': array([-246819.24326999, -246707.65845436, -246707.00848449,
       -246706.45127195, -246705.9848126 , -246705.60718927,
       -246705.31656597, -246705.11118271, -246704.98935072,
       -246704.94944811, -246704.97804435, -246705.06234343,
       -246705.20148432, -246705.39463257, -246705.64097905,
       -246705.93973875, -246706.29014974, -246706.69147212,
       -246707.14298702, -246707.64399573]), 'dloglike_scan': array([-1.14293822e+02, -2.70900625e+00, -2.05903638e+00, -1.50182383e+00,
       -1.03536449e+00, -6.57741163e-01, -3.67117861e-01, -1.61734597e-01,
       -3.99026115e-02,  0.00000000e+00, -2.85962369e-02, -1.12895315e-01,
       -2.52036210e-01, -4.45184463e-01, -6.91530935e-01, -9.90290637e-01,
       -1.34070163e+00, -1.74202401e+00, -2.19353891e+00, -2.69454762e+00]), 'eflux_scan': array([0.00000000e+00, 2.16718073e-06, 2.22944413e-06, 2.29170753e-06,
       2.35397094e-06, 2.41623434e-06, 2.47849774e-06, 2.54076114e-06,
       2.60302455e-06, 2.66528795e-06, 2.71753546e-06, 2.76978296e-06,
       2.82203047e-06, 2.87427797e-06, 2.92652548e-06, 2.97877299e-06,
       3.03102049e-06, 3.08326800e-06, 3.13551551e-06, 3.18776301e-06]), 'flux_scan': array([0.00000000e+00, 2.26700708e-09, 2.33213851e-09, 2.39726994e-09,
       2.46240137e-09, 2.52753279e-09, 2.59266422e-09, 2.65779565e-09,
       2.72292708e-09, 2.78805850e-09, 2.84271268e-09, 2.89736685e-09,
       2.95202102e-09, 3.00667519e-09, 3.06132936e-09, 3.11598353e-09,
       3.17063770e-09, 3.22529187e-09, 3.27994604e-09, 3.33460022e-09]), 'norm_scan': array([0.        , 1.84717547, 1.90024507, 1.95331468, 2.00638429,
       2.0594539 , 2.1125235 , 2.16559311, 2.21866272, 2.27173233,
       2.31626498, 2.36079763, 2.40533029, 2.44986294, 2.4943956 ,
       2.53892825, 2.58346091, 2.62799356, 2.67252622, 2.71705887]), 'npred': 810.0105559101776, 'npred_wt': 810.0105559101776, 'pivot_energy': 1144.9090512777095, 'flux': 2.7880585045549845e-09, 'flux100': 1.3415183530706746e-08, 'flux1000': 4.981819314360874e-10, 'flux10000': 1.8380753284372375e-11, 'flux_err': np.float64(2.7071906638636933e-10), 'flux100_err': np.float64(2.176831640378176e-09), 'flux1000_err': np.float64(4.682040187721247e-11), 'flux10000_err': np.float64(4.469787512921654e-12), 'flux_ul95': 3.173233902777907e-09, 'flux100_ul95': 1.5268515751042747e-08, 'flux1000_ul95': 5.670066793798138e-10, 'flux10000_ul95': 2.0920088077519215e-11, 'eflux': 2.665287950560392e-06, 'eflux100': 4.318315467863107e-06, 'eflux1000': 1.5171937730668182e-06, 'eflux10000': 4.762009602641937e-07, 'eflux_err': np.float64(2.622881397133609e-07), 'eflux100_err': np.float64(3.785603370555193e-07), 'eflux1000_err': np.float64(2.38426493691067e-07), 'eflux10000_err': np.float64(1.391652960797956e-07), 'eflux_ul95': 3.0335023714768275e-06, 'eflux100_ul95': 4.914898673441093e-06, 'eflux1000_ul95': 1.7267968767203503e-06, 'eflux10000_ul95': 5.419889967075594e-07, 'dnde': 5.125558295292785e-13, 'dnde100': 1.9160361846349005e-10, 'dnde1000': 7.121087131360664e-13, 'dnde10000': 2.6466035630790135e-15, 'dnde_err': np.float64(4.2235588571817014e-14), 'dnde100_err': np.float64(4.0792549249423686e-11), 'dnde1000_err': np.float64(5.918908030192836e-14), 'dnde10000_err': np.float64(5.108143294188874e-16), 'dnde_index': np.float64(2.4298574068674146), 'dnde100_index': np.float64(2.4298574068341092), 'dnde1000_index': np.float64(2.4298574068674146), 'dnde10000_index': np.float64(2.4298574068563132), 'name': '3FGL J0023.5+4454', 'spectral_pars': {'Prefactor': {'name': 'Prefactor', 'value': 2.2717323251917323, 'error': 0.21817832825745023, 'min': 1e-05, 'max': 1000.0, 'free': True, 'scale': 1e-12}, 'Index': {'name': 'Index', 'value': 2.4298574068456786, 'error': 0.08052702494736255, 'min': 0.0, 'max': 5.0, 'free': True, 'scale': -1.0}, 'Scale': {'name': 'Scale', 'value': 620.3806763, 'error': nan, 'min': 620.3806763, 'max': 620.3806763, 'free': False, 'scale': 1.0}}, 'model_counts': array([2.18280819e+02, 1.67561710e+02, 1.25075141e+02, 9.14354746e+01,
       6.54256462e+01, 4.60173959e+01, 3.16167209e+01, 2.14352010e+01,
       1.43866426e+01, 9.56626829e+00, 6.37467653e+00, 4.29266470e+00,
       2.85831688e+00, 1.90064964e+00, 1.26356705e+00, 8.44285583e-01,
       5.70246183e-01, 3.82595974e-01, 2.54090268e-01, 1.67993722e-01,
       1.11206984e-01, 7.33598275e-02, 4.86294637e-02, 3.22066478e-02,
       2.12534797e-02, 1.37929949e-02]), 'model_counts_wt': array([2.18280819e+02, 1.67561710e+02, 1.25075141e+02, 9.14354746e+01,
       6.54256462e+01, 4.60173959e+01, 3.16167209e+01, 2.14352010e+01,
       1.43866426e+01, 9.56626829e+00, 6.37467653e+00, 4.29266470e+00,
       2.85831688e+00, 1.90064964e+00, 1.26356705e+00, 8.44285583e-01,
       5.70246183e-01, 3.82595974e-01, 2.54090268e-01, 1.67993722e-01,
       1.11206984e-01, 7.33598275e-02, 4.86294637e-02, 3.22066478e-02,
       2.12534797e-02, 1.37929949e-02]), 'covar': array([[0.04760178, 0.00902469],
       [0.00902469, 0.0064846 ]]), 'model_flux': {'energies': array([2.99999133e+02, 3.49037461e+02, 4.06091671e+02, 4.72472050e+02,
       5.49703071e+02, 6.39558395e+02, 7.44101611e+02, 8.65733625e+02,
       1.00724780e+03, 1.17189410e+03, 1.36345374e+03, 1.58632602e+03,
       1.84562936e+03, 2.14731882e+03, 2.49832292e+03, 2.90670269e+03,
       3.38183686e+03, 3.93463720e+03, 4.57779916e+03, 5.32609337e+03,
       6.19670492e+03, 7.20962801e+03, 8.38812508e+03, 9.75926113e+03,
       1.13545252e+04, 1.32105537e+04, 1.53699715e+04, 1.78823711e+04,
       2.08054514e+04, 2.42063430e+04, 2.81631498e+04, 3.27667423e+04,
       3.81228452e+04, 4.43544652e+04, 5.16047155e+04, 6.00401030e+04,
       6.98543522e+04, 8.12728539e+04, 9.45578417e+04, 1.10014415e+05,
       1.27997543e+05, 1.48920221e+05, 1.73262954e+05, 2.01584787e+05,
       2.34536152e+05, 2.72873799e+05, 3.17478177e+05, 3.69373656e+05,
       4.29752052e+05, 4.99999995e+05]), 'log_energies': array([2.47712   , 2.54287204, 2.60862408, 2.67437612, 2.74012816,
       2.8058802 , 2.87163224, 2.93738429, 3.00313633, 3.06888837,
       3.13464041, 3.20039245, 3.26614449, 3.33189653, 3.39764857,
       3.46340061, 3.52915265, 3.59490469, 3.66065673, 3.72640878,
       3.79216082, 3.85791286, 3.9236649 , 3.98941694, 4.05516898,
       4.12092102, 4.18667306, 4.2524251 , 4.31817714, 4.38392918,
       4.44968122, 4.51543327, 4.58118531, 4.64693735, 4.71268939,
       4.77844143, 4.84419347, 4.90994551, 4.97569755, 5.04144959,
       5.10720163, 5.17295367, 5.23870571, 5.30445776, 5.3702098 ,
       5.43596184, 5.50171388, 5.56746592, 5.63321796, 5.69897   ]), 'dnde': array([1.32760886e-11, 9.18971530e-12, 6.36112564e-12, 4.40317443e-12,
       3.04787960e-12, 2.10974382e-12, 1.46036575e-12, 1.01086592e-12,
       6.99721911e-13, 4.84347865e-13, 3.35265841e-13, 2.32071187e-13,
       1.60639794e-13, 1.11194948e-13, 7.69692001e-14, 5.32781198e-14,
       3.68791418e-14, 2.55277609e-14, 1.76703292e-14, 1.22314109e-14,
       8.46658890e-15, 5.86057718e-15, 4.05669453e-15, 2.80804603e-15,
       1.94373090e-15, 1.34545153e-15, 9.31322236e-16, 6.44661729e-16,
       4.46235180e-16, 3.08884220e-16, 2.13809816e-16, 1.47999264e-16,
       1.02445166e-16, 7.09125967e-17, 4.90857358e-17, 3.39771715e-17,
       2.35190155e-17, 1.62798746e-17, 1.12689375e-17, 7.80036434e-18,
       5.39941620e-18, 3.73747866e-18, 2.58708464e-18, 1.79078132e-18,
       1.23957975e-18, 8.58037735e-19, 5.93934160e-19, 4.11121530e-19,
       2.84578534e-19, 1.96985407e-19]), 'dnde_lo': array([1.16895950e-11, 8.15958238e-12, 5.69339411e-12, 3.97060276e-12,
       2.76730611e-12, 1.92705067e-12, 1.34051573e-12, 9.31314988e-13,
       6.46069777e-13, 4.47466136e-13, 3.09401189e-13, 2.13597564e-13,
       1.47249512e-13, 1.01388131e-13, 6.97417339e-14, 4.79357876e-14,
       3.29279420e-14, 2.26083527e-14, 1.55175119e-14, 1.06478669e-14,
       7.30500448e-15, 5.01093794e-15, 3.43697520e-15, 2.35725645e-15,
       1.61667047e-15, 1.10873879e-15, 7.60391149e-16, 5.21495440e-16,
       3.57663062e-16, 2.45307798e-16, 1.68253912e-16, 1.15408513e-16,
       7.91646369e-17, 5.43058705e-17, 3.72550959e-17, 2.55592949e-17,
       1.75362630e-17, 1.20323591e-17, 8.25639549e-18, 5.66573759e-18,
       3.88820265e-18, 2.66850436e-18, 1.83152809e-18, 1.25714649e-18,
       8.62948306e-19, 5.92393344e-19, 4.06688538e-19, 2.79215752e-19,
       1.91709636e-19, 1.31635739e-19]), 'dnde_hi': array([1.50778985e-11, 1.03499007e-11, 7.10716994e-12, 4.88287201e-12,
       3.35690006e-12, 2.30975711e-12, 1.59093108e-12, 1.09721193e-12,
       7.57829525e-13, 5.24269517e-13, 3.63292670e-13, 2.52142557e-13,
       1.75247736e-13, 1.21950335e-13, 8.49456620e-14, 5.92158424e-14,
       4.13044672e-14, 2.88241511e-14, 2.01218169e-14, 1.40504586e-14,
       9.81287934e-15, 6.85427863e-15, 4.78815513e-15, 3.34504228e-15,
       2.33695728e-15, 1.63270179e-15, 1.14067754e-15, 7.96917314e-16,
       5.56741404e-16, 3.88937744e-16, 2.71700293e-16, 1.89793469e-16,
       1.32571973e-16, 9.25976569e-17, 6.46732855e-17, 4.51674502e-17,
       3.15428714e-17, 2.20267957e-17, 1.53806771e-17, 1.07392344e-17,
       7.49798760e-18, 5.23467263e-18, 3.65432941e-18, 2.55093400e-18,
       1.78059095e-18, 1.24280389e-18, 8.67390530e-19, 6.05341610e-19,
       4.22435428e-19, 2.94777473e-19]), 'dnde_err': array([1.80180996e-12, 1.16018540e-12, 7.46044293e-13, 4.79697574e-13,
       3.09020464e-13, 2.00013291e-13, 1.30565330e-13, 8.63460071e-14,
       5.81076142e-14, 3.99216513e-14, 2.80268293e-14, 2.00713697e-14,
       1.46079417e-14, 1.07553866e-14, 7.97646196e-15, 5.93772265e-15,
       4.42532544e-15, 3.29639024e-15, 2.45148775e-15, 1.81904766e-15,
       1.34629044e-15, 9.93701458e-16, 7.31460609e-16, 5.36996253e-16,
       3.93226377e-16, 2.87250261e-16, 2.09355307e-16, 1.52255585e-16,
       1.10506225e-16, 8.00535242e-17, 5.78904773e-17, 4.17942054e-17,
       3.01268067e-17, 2.16850603e-17, 1.55875497e-17, 1.11902787e-17,
       8.02385591e-18, 5.74692113e-18, 4.11173958e-18, 2.93887003e-18,
       2.09857141e-18, 1.49719397e-18, 1.06724477e-18, 7.60152679e-19,
       5.41011205e-19, 3.84766159e-19, 2.73456370e-19, 1.94220080e-19,
       1.37856894e-19, 9.77920660e-20]), 'dnde_ferr': array([0.12760925, 0.11917226, 0.11112623, 0.10359222, 0.09672199,
       0.09069974, 0.08573721, 0.08205685, 0.07986012, 0.07928535,
       0.08037127, 0.08304562, 0.08714598, 0.09246015, 0.09876631,
       0.10586011, 0.11356725, 0.12174586, 0.13028351, 0.13909236,
       0.14810421, 0.15726614, 0.16653706, 0.17588491, 0.1852846 ,
       0.19471641, 0.20416478, 0.21361736, 0.22306437, 0.23249803,
       0.24191214, 0.25130178, 0.26066304, 0.26999284, 0.27928877,
       0.28854896, 0.297772  , 0.30695681, 0.31610263, 0.32520896,
       0.33427549, 0.34330206, 0.35228869, 0.36123548, 0.37014264,
       0.37901046, 0.38783928, 0.39662951, 0.40538158, 0.41409599]), 'pivot_energy': 1144.9090512777095}}}
0.094 0.041 0.156 3.202

Running extension on source 3FGL J0102.1+4458

2026-07-17 22:19:00 INFO    GTAnalysis._extension(): Fitting extended-source model.
2026-07-17 22:19:20 INFO    GTAnalysis._extension(): Generating TS map.
2026-07-17 22:21:01 INFO    GTAnalysis._extension(): Testing point-source model.
2026-07-17 22:21:03 INFO    GTAnalysis._extension(): Best-fit extension: 9.0000 +    nan -    nan
2026-07-17 22:21:03 INFO    GTAnalysis._extension(): TS_ext:        0.000
2026-07-17 22:21:03 INFO    GTAnalysis._extension(): Extension UL:    nan
2026-07-17 22:21:03 INFO    GTAnalysis._extension(): LogLike:  -246705.592 DeltaLogLike:        0.638
2026-07-17 22:21:03 INFO    GTAnalysis.extension(): Finished extension fit.
2026-07-17 22:21:03 WARNING GTAnalysis.extension(): Saving maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0102.1+4458_ext.npy
2026-07-17 22:21:03 INFO    GTAnalysis.extension(): Execution time: 158.23 s
2026-07-17 22:21:03 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1    *
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1    *
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:21:03 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0102.3+4217     : ['Prefactor', 'Index']
2026-07-17 22:21:03 INFO    GTAnalysis.free_source(): Fixing parameters for 3FGL J0102.1+4458     : ['Prefactor', 'Index']
2026-07-17 22:21:03 INFO    GTAnalysis.free_source(): Fixing parameters for isodiff               : ['Normalization']
2026-07-17 22:21:03 INFO    GTAnalysis.free_source(): Fixing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:21:03 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0

2026-07-17 22:21:03 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0022.7+4651     : ['Prefactor', 'Index']
2026-07-17 22:21:03 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0023.5+4454     : ['Prefactor', 'Index']
2026-07-17 22:21:03 INFO    GTAnalysis.free_source(): Freeing parameters for isodiff               : ['Normalization']
2026-07-17 22:21:03 INFO    GTAnalysis.free_source(): Freeing parameters for galdiff               : ['Prefactor', 'Index']
2026-07-17 22:21:03 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9    *
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0    *
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

2026-07-17 22:21:03 INFO    GTAnalysis.extension(): Running extension fit for 3FGL J0022.7+4651
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'name': '3FGL J0102.1+4458', 'file': None, 'config': {'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}, 'width': array([0.        , 0.01      , 0.01364421, 0.01861646, 0.02540069,
       0.03465724, 0.04728708, 0.0645195 , 0.08803178, 0.12011244,
       0.16388398, 0.2236068 , 0.30509388, 0.4162766 , 0.56797668,
       0.77495949, 1.05737126, 1.44269991, 1.96845052, 2.68579588,
       3.66455719, 5.        ]), 'dloglike': array([ 5.52972779e-10,  1.99796341e-05,  3.24519351e-06,  2.31710728e-05,
        8.68836651e-06,  2.33697065e-05,  1.40031334e-05,  2.07226258e-05,
        2.00495706e-05,  2.08802521e-05,  2.00480281e-05,  2.11096776e-05,
        2.03897944e-05, -4.44456236e-06,  9.34887794e-06,  1.70356652e-05,
        2.08384299e-05,  2.31136801e-05,  2.35480838e-05,  2.35669140e-05,
        2.35887128e-05,  2.35905172e-05]), 'loglike': array([-246705.5919211 , -246705.59190113, -246705.59191786,
       -246705.59189793, -246705.59191242, -246705.59189774,
       -246705.5919071 , -246705.59190038, -246705.59190106,
       -246705.59190023, -246705.59190106, -246705.5919    ,
       -246705.59190072, -246705.59192555, -246705.59191176,
       -246705.59190407, -246705.59190027, -246705.59189799,
       -246705.59189756, -246705.59189754, -246705.59189752,
       -246705.59189751]), 'loglike_ptsrc': -246705.5919211054, 'loglike_ext': -246705.5919188452, 'loglike_init': -246706.23030146884, 'loglike_base': -246705.5919672069, 'ext': np.float64(9.000000000000004), 'ext_err_hi': np.float64(nan), 'ext_err_lo': np.float64(nan), 'ext_err': nan, 'ext_ul95': nan, 'ts_ext': 4.520406946539879e-06, 'ebin_e_min': array([], dtype=float64), 'ebin_e_ctr': array([], dtype=float64), 'ebin_e_max': array([], dtype=float64), 'ebin_ext': array([], dtype=float64), 'ebin_ext_err': array([], dtype=float64), 'ebin_ext_err_hi': array([], dtype=float64), 'ebin_ext_err_lo': array([], dtype=float64), 'ebin_ext_ul95': array([], dtype=float64), 'ebin_ts_ext': array([], dtype=float64), 'ebin_dloglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike_ptsrc': array([], dtype=float64), 'ebin_loglike_ext': array([], dtype=float64), 'ra': np.float64(15.564823293965377), 'dec': np.float64(44.98747160167069), 'glon': np.float64(124.94165109785158), 'glat': np.float64(-17.842044698812686), 'ra_err': nan, 'dec_err': nan, 'glon_err': nan, 'glat_err': nan, 'pos_offset': 0.0, 'pos_err': nan, 'pos_r68': nan, 'pos_r95': nan, 'pos_r99': nan, 'pos_err_semimajor': nan, 'pos_err_semiminor': nan, 'pos_angle': nan, 'tsmap': <gammapy.maps.wcs.ndmap.WcsNDMap object at 0x7f78563aaed0>, 'ptsrc_tot_map': None, 'ptsrc_src_map': None, 'ptsrc_bkg_map': None, 'ext_tot_map': None, 'ext_src_map': None, 'ext_bkg_map': None, 'source_fit': {'param_names': array([b'Prefactor', b'Index', b'Scale', b'', b'', b'', b'', b'', b'',
       b''], dtype='|S32'), 'param_values': array([ 3.36614869e-14, -1.86734234e+00,  1.64542835e+03,             nan,
                   nan,             nan,             nan,             nan,
                   nan,             nan]), 'param_errors': array([1.22871892e-14, 1.79273020e-01,            nan,            nan,
                  nan,            nan,            nan,            nan,
                  nan,            nan]), 'ts': np.float64(22.52964494295884), 'loglike': np.float64(-246705.5919188452), 'loglike_scan': array([-246716.85674132, -246708.29735529, -246707.56839817,
       -246706.9834178 , -246706.52123112, -246706.16571366,
       -246705.90424493, -246705.72671948, -246705.62489054,
       -246705.59191885, -246705.62451222, -246705.71990072,
       -246705.87338668, -246706.08091237, -246706.33894161,
       -246706.64436814, -246706.99444389, -246707.38672199,
       -246707.81901102, -246708.28933788]), 'dloglike_scan': array([-11.26482247,  -2.70543645,  -1.97647933,  -1.39149895,
        -0.92931228,  -0.57379481,  -0.31232608,  -0.13480064,
        -0.03297169,   0.        ,  -0.03259338,  -0.12798188,
        -0.28146783,  -0.48899353,  -0.74702277,  -1.05244929,
        -1.40252504,  -1.79480314,  -2.22709218,  -2.69741904]), 'eflux_scan': array([0.00000000e+00, 3.68174953e-07, 4.36957565e-07, 5.05740177e-07,
       5.74522789e-07, 6.43305401e-07, 7.12088013e-07, 7.80870624e-07,
       8.49653236e-07, 9.18435848e-07, 9.89983558e-07, 1.06153127e-06,
       1.13307898e-06, 1.20462669e-06, 1.27617440e-06, 1.34772211e-06,
       1.41926981e-06, 1.49081752e-06, 1.56236523e-06, 1.63391294e-06]), 'flux_scan': array([0.00000000e+00, 1.11888674e-10, 1.32791767e-10, 1.53694860e-10,
       1.74597953e-10, 1.95501045e-10, 2.16404138e-10, 2.37307231e-10,
       2.58210324e-10, 2.79113417e-10, 3.00856825e-10, 3.22600234e-10,
       3.44343642e-10, 3.66087050e-10, 3.87830459e-10, 4.09573867e-10,
       4.31317275e-10, 4.53060684e-10, 4.74804092e-10, 4.96547500e-10]), 'norm_scan': array([0.        , 0.13493938, 0.16014882, 0.18535825, 0.21056769,
       0.23577712, 0.26098656, 0.286196  , 0.31140543, 0.33661487,
       0.36283774, 0.38906061, 0.41528348, 0.44150634, 0.46772921,
       0.49395208, 0.52017495, 0.54639782, 0.57262069, 0.59884356]), 'npred': 89.87779555150681, 'npred_wt': 89.87779555150681, 'pivot_energy': 5315.3149748051355, 'flux': 2.791134169370881e-10, 'flux100': 7.24322762171141e-10, 'flux1000': 9.771118852213653e-11, 'flux10000': 1.2683034265658308e-11, 'flux_err': np.float64(1.2021526067575445e-10), 'flux100_err': np.float64(4.258987333863258e-10), 'flux1000_err': np.float64(3.074105188624367e-11), 'flux10000_err': np.float64(5.2542927237676045e-12), 'flux_ul95': 4.283453176860223e-10, 'flux100_ul95': 1.111592079929812e-09, 'flux1000_ul95': 1.4995384510099446e-10, 'flux10000_ul95': 1.946419631619015e-11, 'eflux': 9.184358481124914e-07, 'eflux100': 9.062968808723917e-07, 'eflux1000': 7.370240225554251e-07, 'eflux10000': 5.072838404875058e-07, 'eflux_err': np.float64(3.6169953965200476e-07), 'eflux100_err': np.float64(2.973747436744414e-07), 'eflux1000_err': np.float64(3.023728867040212e-07), 'eflux10000_err': np.float64(2.724123947153529e-07), 'eflux_ul95': 1.4094904481881295e-06, 'eflux100_ul95': 1.3908612119589994e-06, 'eflux1000_ul95': 1.1310842472144304e-06, 'eflux10000_ul95': 7.785102564939893e-07, 'dnde': 3.768679024890159e-15, 'dnde100': 6.285538978282433e-12, 'dnde1000': 8.53100471440414e-14, 'dnde10000': 1.1578647700482919e-15, 'dnde_err': np.float64(1.12463107620116e-15), 'dnde100_err': np.float64(4.854121795976719e-12), 'dnde1000_err': np.float64(3.6067754849558373e-14), 'dnde10000_err': np.float64(3.6959027245183083e-16), 'dnde_index': np.float64(1.867342341957303), 'dnde100_index': np.float64(1.8673423419462012), 'dnde1000_index': np.float64(1.867342341957303), 'dnde10000_index': np.float64(1.8673423419462012), 'name': '3FGL J0102.1+4458', 'spectral_pars': {'Prefactor': {'name': 'Prefactor', 'value': 0.33661486866946877, 'error': 0.12287189244279717, 'min': 1e-05, 'max': 1000.0, 'free': True, 'scale': 1e-13}, 'Index': {'name': 'Index', 'value': 1.8673423419526058, 'error': 0.17927301967144252, 'min': 0.0, 'max': 5.0, 'free': True, 'scale': -1.0}, 'Scale': {'name': 'Scale', 'value': 1645.428345, 'error': nan, 'min': 1645.428345, 'max': 1645.428345, 'free': False, 'scale': 1.0}}, 'model_counts': array([14.62076797, 13.15715514, 11.5297074 ,  9.89609448,  8.31282139,
        6.84845889,  5.50974347,  4.37041883,  3.43526342,  2.67648705,
        2.0947301 ,  1.65596477,  1.29492065,  1.0114576 ,  0.78973461,
        0.62017698,  0.49194681,  0.38755888,  0.30238043,  0.23488574,
        0.18265892,  0.14160887,  0.11028374,  0.08578207,  0.06639493,
        0.05039239]), 'model_counts_wt': array([14.62076797, 13.15715514, 11.5297074 ,  9.89609448,  8.31282139,
        6.84845889,  5.50974347,  4.37041883,  3.43526342,  2.67648705,
        2.0947301 ,  1.65596477,  1.29492065,  1.0114576 ,  0.78973461,
        0.62017698,  0.49194681,  0.38755888,  0.30238043,  0.23488574,
        0.18265892,  0.14160887,  0.11028374,  0.08578207,  0.06639493,
        0.05039239]), 'covar': array([[0.0150975 , 0.01268551],
       [0.01268551, 0.03213882]]), 'model_flux': {'energies': array([2.99999133e+02, 3.49037461e+02, 4.06091671e+02, 4.72472050e+02,
       5.49703071e+02, 6.39558395e+02, 7.44101611e+02, 8.65733625e+02,
       1.00724780e+03, 1.17189410e+03, 1.36345374e+03, 1.58632602e+03,
       1.84562936e+03, 2.14731882e+03, 2.49832292e+03, 2.90670269e+03,
       3.38183686e+03, 3.93463720e+03, 4.57779916e+03, 5.32609337e+03,
       6.19670492e+03, 7.20962801e+03, 8.38812508e+03, 9.75926113e+03,
       1.13545252e+04, 1.32105537e+04, 1.53699715e+04, 1.78823711e+04,
       2.08054514e+04, 2.42063430e+04, 2.81631498e+04, 3.27667423e+04,
       3.81228452e+04, 4.43544652e+04, 5.16047155e+04, 6.00401030e+04,
       6.98543522e+04, 8.12728539e+04, 9.45578417e+04, 1.10014415e+05,
       1.27997543e+05, 1.48920221e+05, 1.73262954e+05, 2.01584787e+05,
       2.34536152e+05, 2.72873799e+05, 3.17478177e+05, 3.69373656e+05,
       4.29752052e+05, 4.99999995e+05]), 'log_energies': array([2.47712   , 2.54287204, 2.60862408, 2.67437612, 2.74012816,
       2.8058802 , 2.87163224, 2.93738429, 3.00313633, 3.06888837,
       3.13464041, 3.20039245, 3.26614449, 3.33189653, 3.39764857,
       3.46340061, 3.52915265, 3.59490469, 3.66065673, 3.72640878,
       3.79216082, 3.85791286, 3.9236649 , 3.98941694, 4.05516898,
       4.12092102, 4.18667306, 4.2524251 , 4.31817714, 4.38392918,
       4.44968122, 4.51543327, 4.58118531, 4.64693735, 4.71268939,
       4.77844143, 4.84419347, 4.90994551, 4.97569755, 5.04144959,
       5.10720163, 5.17295367, 5.23870571, 5.30445776, 5.3702098 ,
       5.43596184, 5.50171388, 5.56746592, 5.63321796, 5.69897   ]), 'dnde': array([8.07971693e-13, 6.08996190e-13, 4.59021477e-13, 3.45980352e-13,
       2.60777349e-13, 1.96556901e-13, 1.48151730e-13, 1.11667079e-13,
       8.41673370e-14, 6.34398309e-14, 4.78167932e-14, 3.60411697e-14,
       2.71654752e-14, 2.04755576e-14, 1.54331354e-14, 1.16324876e-14,
       8.76780793e-15, 6.60859987e-15, 4.98113013e-15, 3.75444994e-15,
       2.82985868e-15, 2.13296229e-15, 1.60768740e-15, 1.21176956e-15,
       9.13352598e-16, 6.88425421e-16, 5.18890033e-16, 3.91105352e-16,
       2.94789621e-16, 2.22193126e-16, 1.67474639e-16, 1.26231423e-16,
       9.51449866e-17, 7.17140648e-17, 5.40533693e-17, 4.07418926e-17,
       3.07085726e-17, 2.31461125e-17, 1.74460250e-17, 1.31496720e-17,
       9.91136227e-18, 7.47053630e-18, 5.63080141e-18, 4.24412963e-18,
       3.19894719e-18, 2.41115706e-18, 1.81737241e-18, 1.36981640e-18,
       1.03247796e-18, 7.78214326e-19]), 'dnde_lo': array([5.06407102e-13, 3.87359768e-13, 2.96296494e-13, 2.26631980e-13,
       1.73332896e-13, 1.32551562e-13, 1.01346227e-13, 7.74674416e-14,
       5.91948911e-14, 4.52127423e-14, 3.45144064e-14, 2.63297604e-14,
       2.00695210e-14, 1.52827211e-14, 1.16241940e-14, 8.82970483e-15,
       6.69692436e-15, 5.07087148e-15, 3.83277596e-15, 2.89156298e-15,
       2.17735005e-15, 1.63648829e-15, 1.22778522e-15, 9.19626705e-16,
       6.87778455e-16, 5.13699099e-16, 3.83238900e-16, 2.85631366e-16,
       2.12709850e-16, 1.58298881e-16, 1.17742276e-16, 8.75386459e-17,
       6.50611352e-17, 4.83429578e-17, 3.59140524e-17, 2.66772022e-17,
       1.98144390e-17, 1.47165628e-17, 1.09302131e-17, 8.11821501e-18,
       6.02992782e-18, 4.47910800e-18, 3.32740419e-18, 2.47206398e-18,
       1.83678559e-18, 1.36491451e-18, 1.01438674e-18, 7.53971761e-19,
       5.60482138e-19, 4.16701426e-19]), 'dnde_hi': array([1.28911750e-12, 9.57446774e-13, 7.11114442e-13, 5.28179667e-13,
       3.92336524e-13, 2.91468579e-13, 2.16573777e-13, 1.60964869e-13,
       1.19674865e-13, 8.90149976e-14, 6.62461258e-14, 4.93345131e-14,
       3.67703366e-14, 2.74328411e-14, 2.04901664e-14, 1.53249480e-14,
       1.14790689e-14, 8.61264034e-15, 6.47354754e-15, 4.87483567e-15,
       3.67791120e-15, 2.78005542e-15, 2.10513918e-15, 1.59671903e-15,
       1.21290942e-15, 9.22582034e-16, 7.02556203e-16, 5.35527307e-16,
       4.08542061e-16, 3.11877032e-16, 2.38213117e-16, 1.82026716e-16,
       1.39139418e-16, 1.06383791e-16, 8.13544150e-17, 6.22217353e-17,
       4.75923861e-17, 3.64040525e-17, 2.78460983e-17, 2.12994942e-17,
       1.62912567e-17, 1.24598274e-17, 9.52872651e-18, 7.28647660e-18,
       5.57128888e-18, 4.25937180e-18, 3.25599928e-18, 2.48868335e-18,
       1.90195311e-18, 1.45336085e-18]), 'dnde_err': array([4.81145805e-13, 3.48450584e-13, 2.52092965e-13, 1.82199315e-13,
       1.31559175e-13, 9.49116781e-14, 6.84220468e-14, 4.92977895e-14,
       3.55075282e-14, 2.55751667e-14, 1.84293326e-14, 1.32933434e-14,
       9.60486140e-15, 6.95728351e-15, 5.05703099e-15, 3.69246040e-15,
       2.71126094e-15, 2.00404047e-15, 1.49241740e-15, 1.12038573e-15,
       8.48052524e-16, 6.47093125e-16, 4.97451783e-16, 3.84949475e-16,
       2.99556824e-16, 2.34156613e-16, 1.83666170e-16, 1.44421955e-16,
       1.13752440e-16, 8.96839062e-17, 7.07384787e-17, 5.57952926e-17,
       4.39944312e-17, 3.46697258e-17, 2.73010458e-17, 2.14798427e-17,
       1.68838135e-17, 1.32579400e-17, 1.04000733e-17, 8.14982223e-18,
       6.37989445e-18, 4.98929112e-18, 3.89792510e-18, 3.04234697e-18,
       2.37234169e-18, 1.84821474e-18, 1.43862687e-18, 1.11886695e-18,
       8.69475148e-19, 6.75146519e-19]), 'dnde_ferr': array([0.48436746, 0.46805466, 0.45185026, 0.4357873 , 0.41990539,
       0.40425194, 0.38888358, 0.3738677 , 0.35928411, 0.34522677,
       0.33180518, 0.31914548, 0.30739046, 0.29669815, 0.28723821,
       0.27918548, 0.27271038, 0.26796666, 0.26507755, 0.26412294,
       0.26513005, 0.26807017, 0.27286211, 0.27938164, 0.28747439,
       0.29696967, 0.30769265, 0.31947395, 0.33215588, 0.34559609,
       0.35966891, 0.37426525, 0.38929157, 0.40466841, 0.42032868,
       0.43621603, 0.45228327, 0.46849098, 0.48480629, 0.50120183,
       0.51765482, 0.53414635, 0.55066072, 0.56718492, 0.58370818,
       0.60022164, 0.616718  , 0.63319128, 0.64963661, 0.66605007]), 'pivot_energy': 5315.3149748051355}}}
9.000 nan nan 0.000

Running extension on source 3FGL J0022.7+4651

2026-07-17 22:21:12 INFO    GTAnalysis._extension(): Fitting extended-source model.
2026-07-17 22:21:17 INFO    GTAnalysis._extension(): Generating TS map.
2026-07-17 22:21:18 INFO    GTAnalysis._extension(): Testing point-source model.
2026-07-17 22:21:19 INFO    GTAnalysis._extension(): Best-fit extension: 0.3428 + 0.8401 -    nan
2026-07-17 22:21:19 INFO    GTAnalysis._extension(): TS_ext:        0.190
2026-07-17 22:21:19 INFO    GTAnalysis._extension(): Extension UL: 1.7686
2026-07-17 22:21:19 INFO    GTAnalysis._extension(): LogLike:  -246706.105 DeltaLogLike:        0.085
2026-07-17 22:21:19 INFO    GTAnalysis.extension(): Finished extension fit.
2026-07-17 22:21:19 WARNING GTAnalysis.extension(): Saving maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/3fgl_j0022.7+4651_ext.npy
2026-07-17 22:21:19 INFO    GTAnalysis.extension(): Execution time: 16.73 s
2026-07-17 22:21:19 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.053  8.52e-07   2.58     30.07       324.2
3FGL J0040.3+4049      0.624   0.222  1.99e-06   1.77     73.87       149.1
3FGL J0049.0+4224      1.650   0.278  1.33e-06   1.63     29.89        61.4
3FGL J0048.0+3950      1.771   0.603  5.84e-06   1.94    545.61       728.3
3FGL J0039.1+4330      2.337   0.225  1.54e-06   1.89     62.65       169.0
3FGL J0032.5+3912      2.833   0.550  9.81e-07   2.45     46.83       318.7
3FGL J0102.3+4217      3.800   0.575  1.65e-06   2.73    126.19       692.1
3FGL J0041.9+3639      4.600   1.601  1.28e-06   2.19     70.10       260.1
3FGL J0105.3+3928      4.639   0.549  2.55e-06   2.23    215.82       582.0
3FGL J0023.5+4454      5.046   2.144  2.46e-06   2.45    220.86       792.9    *
3FGL J0102.1+4458      5.147   0.208  8.65e-07   1.72     16.48        55.1
3FGL J0022.7+4651      6.635   1.107  2.89e-07   5.00      4.97       128.0    *
isodiff                  ---   0.875    0.0389   2.12    924.97     31907.6    *
galdiff                  ---   1.096     0.229   0.02   6739.38     91244.0    *

{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'name': '3FGL J0022.7+4651', 'file': None, 'config': {'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 5.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': False, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'ra_format': 'hour', 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}, 'width': array([0.        , 0.01      , 0.01364421, 0.01861646, 0.02540069,
       0.03465724, 0.04728708, 0.0645195 , 0.08803178, 0.12011244,
       0.16388398, 0.2236068 , 0.30509388, 0.4162766 , 0.56797668,
       0.77495949, 1.05737126, 1.44269991, 1.96845052, 2.68579588,
       3.66455719, 5.        ]), 'dloglike': array([ 1.94717431e-05,  3.00720101e-04,  5.73768048e-04,  1.07852602e-03,
        2.01103935e-03,  3.72076107e-03,  6.81039371e-03,  1.22668995e-02,
        2.15365068e-02,  3.61934325e-02,  5.65964100e-02,  7.92568040e-02,
        9.43714764e-02,  8.57049956e-02,  3.71236684e-02, -6.20885650e-02,
       -2.68461120e-01, -7.53064614e-01, -1.59216778e+00, -2.34148627e+00,
       -2.52590712e+00, -2.52577545e+00]), 'loglike': array([-246706.20003528, -246706.19975404, -246706.19948099,
       -246706.19897623, -246706.19804372, -246706.196334  ,
       -246706.19324436, -246706.18778786, -246706.17851825,
       -246706.16386132, -246706.14345835, -246706.12079795,
       -246706.10568328, -246706.11434976, -246706.16293109,
       -246706.26214332, -246706.46851588, -246706.95311937,
       -246707.79222254, -246708.54154102, -246708.72596187,
       -246708.7258302 ]), 'loglike_ptsrc': -246706.20005475625, 'loglike_ext': -246706.10514994172, 'loglike_init': -246706.19026714965, 'loglike_base': -246706.19024228893, 'ext': 0.3427807317319466, 'ext_err_hi': np.float64(0.8400546412921881), 'ext_err_lo': np.float64(nan), 'ext_err': np.float64(0.8400546412921881), 'ext_ul95': 1.7686011125713825, 'ts_ext': 0.1898096290533431, 'ebin_e_min': array([], dtype=float64), 'ebin_e_ctr': array([], dtype=float64), 'ebin_e_max': array([], dtype=float64), 'ebin_ext': array([], dtype=float64), 'ebin_ext_err': array([], dtype=float64), 'ebin_ext_err_hi': array([], dtype=float64), 'ebin_ext_err_lo': array([], dtype=float64), 'ebin_ext_ul95': array([], dtype=float64), 'ebin_ts_ext': array([], dtype=float64), 'ebin_dloglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike_ptsrc': array([], dtype=float64), 'ebin_loglike_ext': array([], dtype=float64), 'ra': np.float32(5.6872), 'dec': np.float32(46.8528), 'glon': np.float64(117.8426231303472), 'glat': np.float64(-15.735255577899073), 'ra_err': nan, 'dec_err': nan, 'glon_err': nan, 'glat_err': nan, 'pos_offset': 0.0, 'pos_err': nan, 'pos_r68': nan, 'pos_r95': nan, 'pos_r99': nan, 'pos_err_semimajor': nan, 'pos_err_semiminor': nan, 'pos_angle': nan, 'tsmap': <gammapy.maps.wcs.ndmap.WcsNDMap object at 0x7f7855690bd0>, 'ptsrc_tot_map': None, 'ptsrc_src_map': None, 'ptsrc_bkg_map': None, 'ext_tot_map': None, 'ext_src_map': None, 'ext_bkg_map': None, 'source_fit': {'param_names': array([b'Prefactor', b'Index', b'Scale', b'', b'', b'', b'', b'', b'',
       b''], dtype='|S32'), 'param_values': array([ 1.21811055e-12, -4.99999983e+00,  4.62097046e+02,             nan,
                   nan,             nan,             nan,             nan,
                   nan,             nan]), 'param_errors': array([5.45112994e-13, 8.05563205e-04,            nan,            nan,
                  nan,            nan,            nan,            nan,
                  nan,            nan]), 'ts': np.float64(5.241355842386838), 'loglike': np.float64(-246706.10514994172), 'loglike_scan': array([-246708.72582786, -246708.16473798, -246707.67367067,
       -246707.25148601, -246706.89707781, -246706.6093721 ,
       -246706.38732583, -246706.22992555, -246706.1361862 ,
       -246706.10514994, -246706.13344112, -246706.21777926,
       -246706.35738404, -246706.55149482, -246706.79936998,
       -246707.10028619, -246707.45353776, -246707.85843603,
       -246708.31430876, -246708.82049957]), 'dloglike_scan': array([-2.62067792, -2.05958804, -1.56852073, -1.14633607, -0.79192786,
       -0.50422216, -0.28217589, -0.12477561, -0.03103625,  0.        ,
       -0.02829118, -0.11262932, -0.25223409, -0.44634488, -0.69422004,
       -0.99513625, -1.34838782, -1.75328608, -2.20915882, -2.71534963]), 'eflux_scan': array([0.00000000e+00, 3.53551379e-08, 7.07102757e-08, 1.06065414e-07,
       1.41420551e-07, 1.76775689e-07, 2.12130827e-07, 2.47485965e-07,
       2.82841103e-07, 3.18196241e-07, 3.52113132e-07, 3.86030023e-07,
       4.19946914e-07, 4.53863805e-07, 4.87780696e-07, 5.21697588e-07,
       5.55614479e-07, 5.89531370e-07, 6.23448261e-07, 6.57365152e-07]), 'flux_scan': array([0.00000000e+00, 8.86757352e-11, 1.77351470e-10, 2.66027206e-10,
       3.54702941e-10, 4.43378676e-10, 5.32054411e-10, 6.20730146e-10,
       7.09405881e-10, 7.98081617e-10, 8.83150024e-10, 9.68218431e-10,
       1.05328684e-09, 1.13835524e-09, 1.22342365e-09, 1.30849206e-09,
       1.39356047e-09, 1.47862887e-09, 1.56369728e-09, 1.64876569e-09]), 'norm_scan': array([0.        , 0.13534562, 0.27069123, 0.40603685, 0.54138247,
       0.67672808, 0.8120737 , 0.94741932, 1.08276493, 1.21811055,
       1.34795031, 1.47779007, 1.60762982, 1.73746958, 1.86730934,
       1.9971491 , 2.12698885, 2.25682861, 2.38666837, 2.51650813]), 'npred': 139.27029460702371, 'npred_wt': 139.27029460702371, 'pivot_energy': np.float64(499999.995007974), 'flux': 7.980816165980983e-10, 'flux100': 6.473009886067541e-08, 'flux1000': 6.4453183973673036e-12, 'flux10000': 6.426825226184318e-16, 'flux_err': np.float64(3.545282051305971e-10), 'flux100_err': np.float64(2.8719435077427888e-08), 'flux1000_err': np.float64(2.871288989999034e-12), 'flux10000_err': np.float64(2.870721560861888e-16), 'flux_ul95': 1.3956412633092508e-09, 'flux100_ul95': 1.1319643889697509e-07, 'flux1000_ul95': 1.1271218536364284e-11, 'flux10000_ul95': 1.12388786951054e-15, 'eflux': 3.1819624078545333e-07, 'eflux100': 8.597700172234989e-06, 'eflux1000': 8.576908566771224e-09, 'eflux10000': 8.562767045367441e-12, 'eflux_err': np.float64(1.418053587722543e-07), 'eflux100_err': np.float64(3.829085816420361e-06), 'eflux1000_err': np.float64(3.828286589014987e-09), 'eflux10000_err': np.float64(3.827462790377316e-12), 'eflux_ul95': 5.564440957342595e-07, 'eflux100_ul95': 1.5035185475240527e-05, 'eflux1000_ul95': 1.499882625844843e-08, 'eflux10000_ul95': 1.497409634312822e-11, 'dnde': 8.213025814076876e-28, 'dnde100': 2.5665666728502096e-09, 'dnde1000': 2.5665676909506337e-14, 'dnde10000': 2.566568709051463e-19, 'dnde_err': np.float64(3.673615156269569e-28), 'dnde100_err': np.float64(1.1487020372994945e-09), 'dnde1000_err': np.float64(1.1484869216597549e-14), 'dnde10000_err': np.float64(1.1482915026900698e-19), 'dnde_index': np.float64(4.999999827767667), 'dnde100_index': np.float64(4.9999998277010596), 'dnde1000_index': np.float64(4.999999827767667), 'dnde10000_index': np.float64(4.999999827734364), 'name': '3FGL J0022.7+4651', 'spectral_pars': {'Prefactor': {'name': 'Prefactor', 'value': 1.2181105491185011, 'error': 0.5451129944528251, 'min': 1e-05, 'max': 1000.0, 'free': True, 'scale': 1e-12}, 'Index': {'name': 'Index', 'value': 4.999999827724986, 'error': 0.0008055632047251457, 'min': 0.0, 'max': 5.0, 'free': True, 'scale': -1.0}, 'Scale': {'name': 'Scale', 'value': 462.0970459, 'error': nan, 'min': 462.0970459, 'max': 462.0970459, 'free': False, 'scale': 1.0}}, 'model_counts': array([8.85470705e+01, 3.26420270e+01, 1.17268626e+01, 4.15068915e+00,
       1.44642660e+00, 5.01313999e-01, 1.70248508e-01, 5.73609765e-02,
       1.90333975e-02, 6.24768297e-03, 2.03073228e-03, 6.66227425e-04,
       2.15218897e-04, 6.92336046e-05, 2.22332412e-05, 7.14189338e-06,
       2.32077471e-06, 7.50709063e-07, 2.40117259e-07, 7.64275683e-08,
       2.43672389e-08, 7.72610065e-09, 2.46458853e-09, 7.84893928e-10,
       2.46302534e-10, 5.76676484e-11]), 'model_counts_wt': array([8.85470705e+01, 3.26420270e+01, 1.17268626e+01, 4.15068915e+00,
       1.44642660e+00, 5.01313999e-01, 1.70248508e-01, 5.73609765e-02,
       1.90333975e-02, 6.24768297e-03, 2.03073228e-03, 6.66227425e-04,
       2.15218897e-04, 6.92336046e-05, 2.22332412e-05, 7.14189338e-06,
       2.32077471e-06, 7.50709063e-07, 2.40117259e-07, 7.64275683e-08,
       2.43672389e-08, 7.72610065e-09, 2.46458853e-09, 7.84893928e-10,
       2.46302534e-10, 5.76676484e-11]), 'covar': array([[2.97148177e-01, 1.95850610e-05],
       [1.95850610e-05, 6.48932077e-07]]), 'model_flux': {'energies': array([2.99999133e+02, 3.49037461e+02, 4.06091671e+02, 4.72472050e+02,
       5.49703071e+02, 6.39558395e+02, 7.44101611e+02, 8.65733625e+02,
       1.00724780e+03, 1.17189410e+03, 1.36345374e+03, 1.58632602e+03,
       1.84562936e+03, 2.14731882e+03, 2.49832292e+03, 2.90670269e+03,
       3.38183686e+03, 3.93463720e+03, 4.57779916e+03, 5.32609337e+03,
       6.19670492e+03, 7.20962801e+03, 8.38812508e+03, 9.75926113e+03,
       1.13545252e+04, 1.32105537e+04, 1.53699715e+04, 1.78823711e+04,
       2.08054514e+04, 2.42063430e+04, 2.81631498e+04, 3.27667423e+04,
       3.81228452e+04, 4.43544652e+04, 5.16047155e+04, 6.00401030e+04,
       6.98543522e+04, 8.12728539e+04, 9.45578417e+04, 1.10014415e+05,
       1.27997543e+05, 1.48920221e+05, 1.73262954e+05, 2.01584787e+05,
       2.34536152e+05, 2.72873799e+05, 3.17478177e+05, 3.69373656e+05,
       4.29752052e+05, 4.99999995e+05]), 'log_energies': array([2.47712   , 2.54287204, 2.60862408, 2.67437612, 2.74012816,
       2.8058802 , 2.87163224, 2.93738429, 3.00313633, 3.06888837,
       3.13464041, 3.20039245, 3.26614449, 3.33189653, 3.39764857,
       3.46340061, 3.52915265, 3.59490469, 3.66065673, 3.72640878,
       3.79216082, 3.85791286, 3.9236649 , 3.98941694, 4.05516898,
       4.12092102, 4.18667306, 4.2524251 , 4.31817714, 4.38392918,
       4.44968122, 4.51543327, 4.58118531, 4.64693735, 4.71268939,
       4.77844143, 4.84419347, 4.90994551, 4.97569755, 5.04144959,
       5.10720163, 5.17295367, 5.23870571, 5.30445776, 5.3702098 ,
       5.43596184, 5.50171388, 5.56746592, 5.63321796, 5.69897   ]), 'dnde': array([1.05621573e-11, 4.95441566e-12, 2.32397926e-12, 1.09011434e-12,
       5.11342466e-13, 2.39856598e-13, 1.12510091e-13, 5.27753696e-14,
       2.47554651e-14, 1.16121035e-14, 5.44691634e-15, 2.55499769e-15,
       1.19847870e-15, 5.62173186e-16, 2.63699881e-16, 1.23694315e-16,
       5.80215797e-17, 2.72163171e-17, 1.27664210e-17, 5.98837475e-18,
       2.80898085e-18, 1.31761517e-18, 6.18056805e-19, 2.89913340e-19,
       1.35990323e-19, 6.37892967e-20, 2.99217935e-20, 1.40354851e-20,
       6.58365759e-21, 3.08821155e-21, 1.44859456e-21, 6.79495613e-22,
       3.18732585e-22, 1.49508633e-22, 7.01303618e-23, 3.28962116e-23,
       1.54307023e-23, 7.23811537e-24, 3.39519958e-24, 1.59259415e-24,
       7.47041834e-25, 3.50416647e-25, 1.64370750e-25, 7.71017693e-26,
       3.61663059e-26, 1.69646131e-26, 7.95763044e-27, 3.73270418e-27,
       1.75090822e-27, 8.21302581e-28]), 'dnde_lo': array([7.29671299e-12, 3.42269915e-12, 1.60549952e-12, 7.53098221e-13,
       3.53258853e-13, 1.65704567e-13, 7.77277132e-14, 3.64600528e-14,
       1.71024641e-14, 8.02232163e-15, 3.76306260e-15, 1.76515483e-15,
       8.27988223e-16, 3.88387731e-16, 1.82182575e-16, 8.54571017e-17,
       4.00857001e-17, 1.88031572e-17, 8.82007077e-18, 4.13726514e-18,
       1.94068311e-18, 9.10323786e-19, 4.27009114e-19, 2.00298819e-19,
       9.39549405e-20, 4.40718058e-20, 2.06729312e-20, 9.69713102e-21,
       4.54867028e-21, 2.13366209e-21, 1.00084498e-21, 4.69470145e-22,
       2.20216134e-22, 1.03297611e-22, 4.84541983e-23, 2.27285922e-23,
       1.06613856e-23, 5.00097583e-24, 2.34582629e-24, 1.10036542e-24,
       5.16152468e-25, 2.42113537e-25, 1.13569085e-25, 5.32722662e-26,
       2.49886162e-26, 1.17215011e-26, 5.49824700e-27, 2.57908260e-27,
       1.20977957e-27, 5.67475649e-28]), 'dnde_hi': array([1.52889620e-11, 7.17160157e-12, 3.36398705e-12, 1.57794727e-12,
       7.40168620e-13, 3.47191321e-13, 1.62857237e-13, 7.63915415e-14,
       3.58330268e-14, 1.68082201e-14, 7.88424239e-15, 3.69826663e-15,
       1.73474834e-15, 8.13719552e-16, 3.81691978e-16, 1.79040517e-16,
       8.39826597e-17, 3.93938054e-17, 1.84784805e-17, 8.66771429e-18,
       4.06577114e-18, 1.90713431e-18, 8.94580938e-19, 4.19621769e-19,
       1.96832311e-19, 9.23282879e-20, 4.33085040e-20, 2.03147552e-20,
       9.52905895e-21, 4.46980363e-21, 2.09665457e-21, 9.83479553e-22,
       4.61321606e-22, 2.16392531e-22, 1.01503436e-22, 4.76123082e-23,
       2.23335487e-23, 1.04760183e-23, 4.91399564e-24, 2.30501256e-24,
       1.08121444e-24, 5.07166298e-25, 2.37896990e-25, 1.11590575e-25,
       5.23439023e-26, 2.45530069e-26, 1.15171039e-26, 5.40233978e-27,
       2.53408113e-27, 1.18866410e-27]), 'dnde_err': array([4.72680468e-12, 2.21718591e-12, 1.04000779e-12, 4.87832928e-13,
       2.28826154e-13, 1.07334723e-13, 5.03471458e-14, 2.36161718e-14,
       1.10775617e-14, 5.19611660e-15, 2.43732605e-15, 1.14326894e-15,
       5.36269639e-16, 2.51546366e-16, 1.17992097e-16, 5.53462017e-17,
       2.59610800e-17, 1.21774884e-17, 5.71205949e-18, 2.67933954e-18,
       1.25679029e-18, 5.89519144e-19, 2.76524134e-19, 1.29708429e-19,
       6.08419875e-20, 2.85389912e-20, 1.33867106e-20, 6.27927006e-21,
       2.94540136e-21, 1.38159208e-21, 6.48060007e-22, 3.03983939e-22,
       1.42589021e-22, 6.68838971e-23, 3.13730747e-23, 1.47160966e-23,
       6.90284638e-24, 3.23790289e-24, 1.51879606e-24, 7.12418415e-25,
       3.34172605e-25, 1.56749651e-25, 7.35262396e-26, 3.44888060e-26,
       1.61775963e-26, 7.58839384e-27, 3.55947350e-27, 1.66963560e-27,
       7.83172918e-28, 3.67361516e-28]), 'dnde_ferr': array([0.37834359, 0.37833951, 0.37833546, 0.37833144, 0.37832743,
       0.37832346, 0.3783195 , 0.37831558, 0.37831167, 0.37830779,
       0.37830394, 0.37830011, 0.3782963 , 0.37829252, 0.37828876,
       0.37828503, 0.37828132, 0.37827764, 0.37827398, 0.37827034,
       0.37826673, 0.37826315, 0.37825959, 0.37825605, 0.37825254,
       0.37824905, 0.37824559, 0.37824215, 0.37823874, 0.37823535,
       0.37823198, 0.37822864, 0.37822533, 0.37822204, 0.37821877,
       0.37821553, 0.37821231, 0.37820912, 0.37820595, 0.3782028 ,
       0.37819968, 0.37819659, 0.37819352, 0.37819047, 0.37818745,
       0.37818445, 0.37818148, 0.37817853, 0.37817561, 0.37817271]), 'pivot_energy': np.float64(499999.995007974)}}}
0.343 0.840 1.769 0.190
[28]:
print("Ext_best  Ext_err  Ext_UL  TS_ext")
for t in range(len(gta.roi.sources)-2):
    print("%.3f     %.3f    %.3f   %.3f"%(extension_best[t],extension_error[t],extension_ul[t],extension_TS[t]))
Ext_best  Ext_err  Ext_UL  TS_ext
5.250     nan    nan   0.000
2.220     nan    nan   0.000
0.806     nan    nan   -0.000
1.082     nan    nan   -0.000
0.418     nan    nan   0.000
0.003     nan    nan   0.000
1.269     nan    nan   0.000
4.397     nan    nan   -0.000
1.269     nan    nan   0.000
0.094     0.041    0.156   3.202
9.000     nan    nan   0.000
0.343     0.840    1.769   0.190

So the only source for which we have found an extension is 3FGL J0042.5+4117

Let’s calculate the TS map and the residual map.

[29]:
tsmap_ext = gta.tsmap(prefix='TSmap_ext',make_plots=True,write_fits=True,write_npy=True)
2026-07-17 22:21:19 INFO    GTAnalysis.tsmap(): Generating TS map
2026-07-17 22:21:20 INFO    GTAnalysis._make_tsmap_fast(): Fitting test source.
2026-07-17 22:23:06 INFO    GTAnalysis.tsmap(): Finished TS map
2026-07-17 22:23:06 WARNING GTAnalysis.tsmap(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/TSmap_ext_pointsource_powerlaw_2.00_tsmap.npy
2026-07-17 22:23:06 INFO    GTAnalysis.tsmap(): Execution time: 106.61 s
[30]:
plt.clf()
fig = plt.figure(figsize=(14,6))
ROIPlotter(tsmap_ext['sqrt_ts'],roi=gta.roi).plot(levels=[0,3,5,7],vmin=0,vmax=5,subplot=121,cmap='magma')
plt.gca().set_title('Sqrt(TS)')
ROIPlotter(tsmap_ext['npred'],roi=gta.roi).plot(vmin=0,vmax=100,subplot=122,cmap='magma')
plt.gca().set_title('NPred')
plt.show()
<Figure size 800x600 with 0 Axes>
../_images/notebooks_optimize_model_56_1.png
[31]:
resid_ext = gta.residmap('Residual_ext',model={'SpatialModel' : 'PointSource', 'Index' : 2.0},write_fits=True,write_npy=True,make_plots=True)
2026-07-17 22:23:07 INFO    GTAnalysis.residmap(): Generating residual maps
2026-07-17 22:23:07 INFO    GTAnalysis.add_source(): Adding source residmap_testsource
2026-07-17 22:23:08 INFO    GTAnalysis.delete_source(): Deleting source residmap_testsource
2026-07-17 22:23:09 INFO    GTAnalysis.residmap(): Finished residual maps
2026-07-17 22:23:09 WARNING GTAnalysis.residmap(): Saving maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/Residual_ext_pointsource_powerlaw_2.00_residmap.npy
2026-07-17 22:23:09 INFO    GTAnalysis.residmap(): Execution time: 2.69 s
[32]:
plt.clf()
fig = plt.figure(figsize=(14,6))
ROIPlotter(resid_ext['data'],roi=gta.roi).plot(vmin=1000,vmax=3000,subplot=121,cmap='magma')
plt.gca().set_title('Data')
ROIPlotter(resid_ext['model'],roi=gta.roi).plot(vmin=1000,vmax=3000,subplot=122,cmap='magma')
plt.gca().set_title('Model')
plt.show()
<Figure size 640x480 with 0 Axes>
../_images/notebooks_optimize_model_58_1.png
[33]:
plt.clf()
fig = plt.figure(figsize=(14,6))
ROIPlotter(resid_ext['sigma'],roi=gta.roi).plot(vmin=-5,vmax=5,levels=[-5,-3,3,5],subplot=121,cmap='RdBu_r')
plt.gca().set_title('Significance')
ROIPlotter(resid_ext['excess'],roi=gta.roi).plot(vmin=-100,vmax=100,subplot=122,cmap='RdBu_r')
plt.gca().set_title('Excess')
plt.show()
<Figure size 640x480 with 0 Axes>
../_images/notebooks_optimize_model_59_1.png
[34]:
gta.write_roi('extension',make_plots=True,save_model_map=True)
2026-07-17 22:23:10 INFO    GTBinnedAnalysis.write_xml(): Writing /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/extension_00.xml...
2026-07-17 22:23:10 INFO    GTAnalysis.write_fits(): Writing /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/extension.fits...
WARNING: Format %s cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %s cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %s cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
2026-07-17 22:23:11 INFO    GTBinnedAnalysis.write_model_map(): Generating model map for component 00.
2026-07-17 22:23:12 INFO    GTAnalysis.write_roi(): Writing /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/extension.npy...

Find new sources

After we have renormalized the 3FGL sources and we have found if the sources are extended, we will try to find new sources with the tool find_sources().

find_sources() is an iterative source-finding algorithm that uses peak detection on a TS map to find new source candidates. The procedure for adding new sources at each iteration is as follows: Generate a TS map for the test source model defined with the model argument. Identify peaks with sqrt(TS) > sqrt_ts_threshold and an angular distance of at least min_separation from a higher amplitude peak in the map. Order the peaks by TS and add a source at each peak starting from the highest TS peak. Set the source position by fitting a 2D parabola to the log-likelihood surface around the peak maximum. After adding each source, re-fit its spectral parameters. Add sources at the N highest peaks up to N = sources_per_iter. Source finding is repeated up to max_iter iterations or until no peaks are found in a given iteration. Sources found by the method are added to the model and given designations PS JXXXX.X+XXXX according to their position in celestial coordinates.

Finding sources will take tens of minutes.

[35]:
gta.free_sources()
findsource = gta.find_sources(sqrt_ts_threshold=5,min_separation=0.2,tsmap_fitter='tsmap')
2026-07-17 22:23:14 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0042.5+4117     : ['Prefactor', 'Index']
2026-07-17 22:23:14 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0040.3+4049     : ['Prefactor', 'Index']
2026-07-17 22:23:14 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0049.0+4224     : ['Prefactor', 'Index']
2026-07-17 22:23:14 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0048.0+3950     : ['Prefactor', 'Index']
2026-07-17 22:23:14 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0039.1+4330     : ['Prefactor', 'Index']
2026-07-17 22:23:14 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0032.5+3912     : ['Prefactor', 'Index']
2026-07-17 22:23:14 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0102.3+4217     : ['Prefactor', 'Index']
2026-07-17 22:23:14 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0041.9+3639     : ['Prefactor', 'Index']
2026-07-17 22:23:14 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0105.3+3928     : ['Prefactor', 'Index']
2026-07-17 22:23:14 INFO    GTAnalysis.free_source(): Freeing parameters for 3FGL J0102.1+4458     : ['Prefactor', 'Index']
2026-07-17 22:23:14 INFO    GTAnalysis.find_sources(): Starting.
2026-07-17 22:23:14 INFO    GTAnalysis.tsmap(): Generating TS map
2026-07-17 22:23:15 INFO    GTAnalysis._make_tsmap_fast(): Fitting test source.
2026-07-17 22:24:59 INFO    GTAnalysis.tsmap(): Finished TS map
2026-07-17 22:24:59 WARNING GTAnalysis.tsmap(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/sourcefind_00_pointsource_powerlaw_2.00_tsmap.npy
2026-07-17 22:24:59 INFO    GTAnalysis.tsmap(): Execution time: 104.51 s
2026-07-17 22:24:59 INFO    GTAnalysis._build_src_dicts_from_peaks(): Found source
name: PS J0028.7+3553
ts: 53.177538
2026-07-17 22:24:59 INFO    GTAnalysis._build_src_dicts_from_peaks(): Found source
name: PS J0041.4+3800
ts: 47.544168
2026-07-17 22:24:59 INFO    GTAnalysis._build_src_dicts_from_peaks(): Found source
name: PS J0013.6+4051
ts: 42.903976
2026-07-17 22:24:59 INFO    GTAnalysis._build_src_dicts_from_peaks(): Found source
name: PS J0037.7+3652
ts: 41.571487
2026-07-17 22:24:59 INFO    GTAnalysis._build_src_dicts_from_peaks(): Found source
name: PS J0015.3+3538
ts: 36.042134
2026-07-17 22:24:59 INFO    GTAnalysis.add_source(): Adding source PS J0028.7+3553
2026-07-17 22:25:00 INFO    GTAnalysis.free_source(): Fixing parameters for PS J0028.7+3553       : ['Prefactor']
2026-07-17 22:25:00 INFO    GTAnalysis.add_source(): Adding source PS J0041.4+3800
2026-07-17 22:25:01 INFO    GTAnalysis.free_source(): Fixing parameters for PS J0041.4+3800       : ['Prefactor']
2026-07-17 22:25:01 INFO    GTAnalysis.add_source(): Adding source PS J0013.6+4051
2026-07-17 22:25:02 INFO    GTAnalysis.free_source(): Fixing parameters for PS J0013.6+4051       : ['Prefactor']
2026-07-17 22:25:02 INFO    GTAnalysis.add_source(): Adding source PS J0037.7+3652
2026-07-17 22:25:03 INFO    GTAnalysis.free_source(): Fixing parameters for PS J0037.7+3652       : ['Prefactor']
2026-07-17 22:25:03 INFO    GTAnalysis._find_sources_iterate(): Performing spectral fit for PS J0028.7+3553.
2026-07-17 22:25:03 INFO    GTAnalysis.free_source(): Freeing parameters for PS J0028.7+3553       : ['Prefactor', 'Index']
2026-07-17 22:25:03 INFO    GTAnalysis.fit(): Starting fit.
2026-07-17 22:25:25 INFO    GTAnalysis.fit(): Fit returned successfully. Quality:   2 Status: 102
2026-07-17 22:25:25 INFO    GTAnalysis.fit(): LogLike:  -246590.991 DeltaLogLike:       23.154
2026-07-17 22:25:25 INFO    GTAnalysis._find_sources_iterate(): {'Index': {'error': np.float64(0.1528065402797435),
           'value': -2.4491187002453096},
 'Prefactor': {'error': np.float64(5.405118706568639e-14),
               'value': 3.532326319678012e-13},
 'Scale': {'error': np.float64(nan), 'value': 1000.0}}
2026-07-17 22:25:25 INFO    GTAnalysis.free_source(): Fixing parameters for PS J0028.7+3553       : ['Prefactor', 'Index']
2026-07-17 22:25:25 INFO    GTAnalysis._find_sources_iterate(): Performing spectral fit for PS J0041.4+3800.
2026-07-17 22:25:25 INFO    GTAnalysis.free_source(): Freeing parameters for PS J0041.4+3800       : ['Prefactor', 'Index']
2026-07-17 22:25:25 INFO    GTAnalysis.fit(): Starting fit.
2026-07-17 22:25:47 INFO    GTAnalysis.fit(): Fit returned successfully. Quality:   2 Status: 102
2026-07-17 22:25:47 INFO    GTAnalysis.fit(): LogLike:  -246590.956 DeltaLogLike:        0.035
2026-07-17 22:25:47 INFO    GTAnalysis._find_sources_iterate(): {'Index': {'error': np.float64(0.18586355789608583),
           'value': -2.0563387663498727},
 'Prefactor': {'error': np.float64(5.368725811325188e-14),
               'value': 1.6692515327613884e-13},
 'Scale': {'error': np.float64(nan), 'value': 1000.0}}
2026-07-17 22:25:47 INFO    GTAnalysis.free_source(): Fixing parameters for PS J0041.4+3800       : ['Prefactor', 'Index']
2026-07-17 22:25:47 INFO    GTAnalysis._find_sources_iterate(): Performing spectral fit for PS J0013.6+4051.
2026-07-17 22:25:47 INFO    GTAnalysis.free_source(): Freeing parameters for PS J0013.6+4051       : ['Prefactor', 'Index']
2026-07-17 22:25:47 INFO    GTAnalysis.fit(): Starting fit.
2026-07-17 22:26:10 INFO    GTAnalysis.fit(): Fit returned successfully. Quality:   2 Status: 102
2026-07-17 22:26:10 INFO    GTAnalysis.fit(): LogLike:  -246587.059 DeltaLogLike:        3.897
2026-07-17 22:26:10 INFO    GTAnalysis._find_sources_iterate(): {'Index': {'error': np.float64(0.15303409350426875),
           'value': -2.4479254390319265},
 'Prefactor': {'error': np.float64(5.071719689757155e-14),
               'value': 2.8563273317439967e-13},
 'Scale': {'error': np.float64(nan), 'value': 1000.0}}
2026-07-17 22:26:10 INFO    GTAnalysis.free_source(): Fixing parameters for PS J0013.6+4051       : ['Prefactor', 'Index']
2026-07-17 22:26:10 INFO    GTAnalysis._find_sources_iterate(): Performing spectral fit for PS J0037.7+3652.
2026-07-17 22:26:10 INFO    GTAnalysis.free_source(): Freeing parameters for PS J0037.7+3652       : ['Prefactor', 'Index']
2026-07-17 22:26:10 INFO    GTAnalysis.fit(): Starting fit.
2026-07-17 22:26:32 INFO    GTAnalysis.fit(): Fit returned successfully. Quality:   2 Status: 102
2026-07-17 22:26:32 INFO    GTAnalysis.fit(): LogLike:  -246583.288 DeltaLogLike:        3.771
2026-07-17 22:26:32 INFO    GTAnalysis._find_sources_iterate(): {'Index': {'error': np.float64(0.16365787340213833),
           'value': -2.464390314959023},
 'Prefactor': {'error': np.float64(5.1874530189232386e-14),
               'value': 2.822475486640936e-13},
 'Scale': {'error': np.float64(nan), 'value': 1000.0}}
2026-07-17 22:26:32 INFO    GTAnalysis.free_source(): Fixing parameters for PS J0037.7+3652       : ['Prefactor', 'Index']
2026-07-17 22:26:32 INFO    GTAnalysis.find_sources(): Found 4 sources in iteration 0.
2026-07-17 22:26:32 INFO    GTAnalysis.tsmap(): Generating TS map
2026-07-17 22:26:33 INFO    GTAnalysis._make_tsmap_fast(): Fitting test source.
2026-07-17 22:28:17 INFO    GTAnalysis.tsmap(): Finished TS map
2026-07-17 22:28:17 WARNING GTAnalysis.tsmap(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/sourcefind_01_pointsource_powerlaw_2.00_tsmap.npy
2026-07-17 22:28:17 INFO    GTAnalysis.tsmap(): Execution time: 105.53 s
2026-07-17 22:28:17 INFO    GTAnalysis._build_src_dicts_from_peaks(): Found source
name: PS J0015.3+3538
ts: 38.384876
2026-07-17 22:28:17 INFO    GTAnalysis._build_src_dicts_from_peaks(): Found source
name: PS J0110.9+4345
ts: 25.786013
2026-07-17 22:28:17 INFO    GTAnalysis.add_source(): Adding source PS J0015.3+3538
2026-07-17 22:28:18 INFO    GTAnalysis.free_source(): Fixing parameters for PS J0015.3+3538       : ['Prefactor']
2026-07-17 22:28:18 INFO    GTAnalysis.add_source(): Adding source PS J0110.9+4345
2026-07-17 22:28:19 INFO    GTAnalysis.free_source(): Fixing parameters for PS J0110.9+4345       : ['Prefactor']
2026-07-17 22:28:19 INFO    GTAnalysis._find_sources_iterate(): Performing spectral fit for PS J0015.3+3538.
2026-07-17 22:28:19 INFO    GTAnalysis.free_source(): Freeing parameters for PS J0015.3+3538       : ['Prefactor', 'Index']
2026-07-17 22:28:19 INFO    GTAnalysis.fit(): Starting fit.
2026-07-17 22:28:41 INFO    GTAnalysis.fit(): Fit returned successfully. Quality:   2 Status: 102
2026-07-17 22:28:41 INFO    GTAnalysis.fit(): LogLike:  -246549.104 DeltaLogLike:        0.409
2026-07-17 22:28:41 INFO    GTAnalysis._find_sources_iterate(): {'Index': {'error': np.float64(0.1846261098195611),
           'value': -1.8851676678998723},
 'Prefactor': {'error': np.float64(4.374614264599326e-14),
               'value': 1.0395025027950407e-13},
 'Scale': {'error': np.float64(nan), 'value': 1000.0}}
2026-07-17 22:28:41 INFO    GTAnalysis.free_source(): Fixing parameters for PS J0015.3+3538       : ['Prefactor', 'Index']
2026-07-17 22:28:41 INFO    GTAnalysis._find_sources_iterate(): Performing spectral fit for PS J0110.9+4345.
2026-07-17 22:28:41 INFO    GTAnalysis.free_source(): Freeing parameters for PS J0110.9+4345       : ['Prefactor', 'Index']
2026-07-17 22:28:41 INFO    GTAnalysis.fit(): Starting fit.
2026-07-17 22:29:03 INFO    GTAnalysis.fit(): Fit returned successfully. Quality:   2 Status: 102
2026-07-17 22:29:03 INFO    GTAnalysis.fit(): LogLike:  -246548.816 DeltaLogLike:        0.288
2026-07-17 22:29:03 INFO    GTAnalysis._find_sources_iterate(): {'Index': {'error': np.float64(0.23828427976723307),
           'value': -2.2086616577134595},
 'Prefactor': {'error': np.float64(5.62027480998621e-14),
               'value': 1.6107356764510112e-13},
 'Scale': {'error': np.float64(nan), 'value': 1000.0}}
2026-07-17 22:29:03 INFO    GTAnalysis.free_source(): Fixing parameters for PS J0110.9+4345       : ['Prefactor', 'Index']
2026-07-17 22:29:03 INFO    GTAnalysis.find_sources(): Found 2 sources in iteration 1.
2026-07-17 22:29:03 INFO    GTAnalysis.tsmap(): Generating TS map
2026-07-17 22:29:04 INFO    GTAnalysis._make_tsmap_fast(): Fitting test source.
2026-07-17 22:30:48 INFO    GTAnalysis.tsmap(): Finished TS map
2026-07-17 22:30:48 WARNING GTAnalysis.tsmap(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/sourcefind_02_pointsource_powerlaw_2.00_tsmap.npy
2026-07-17 22:30:48 INFO    GTAnalysis.tsmap(): Execution time: 105.14 s
2026-07-17 22:30:48 INFO    GTAnalysis.find_sources(): Found 0 sources in iteration 2.
2026-07-17 22:30:48 INFO    GTAnalysis.find_sources(): Done.
2026-07-17 22:30:48 INFO    GTAnalysis.find_sources(): Execution time: 454.04 s
[36]:
gta.print_model()
2026-07-17 22:30:48 INFO    GTAnalysis.print_model():
sourcename            offset    norm  eflux     index        ts       npred free
--------------------------------------------------------------------------------
3FGL J0042.5+4117      0.031   1.823  1.27e-06   2.78     67.43       559.4    *
3FGL J0040.3+4049      0.624   0.204   1.9e-06   1.89     83.92       205.7    *
3FGL J0049.0+4224      1.650   0.370   1.3e-06   1.79     37.92       103.2    *
3FGL J0048.0+3950      1.771   0.649  5.76e-06   2.01    604.41       851.2    *
3FGL J0039.1+4330      2.337   0.297  1.56e-06   2.05     83.30       265.1    *
3FGL J0032.5+3912      2.833   0.748  1.21e-06   2.57     70.16       441.0    *
PS J0041.4+3800        3.271   1.669  1.08e-06   2.06     48.92       175.6
3FGL J0102.3+4217      3.800   0.800  2.06e-06   2.85    191.36       926.9    *
PS J0037.7+3652        4.503   2.822  1.03e-06   2.46     49.83       316.4
3FGL J0041.9+3639      4.600   1.620  1.32e-06   2.16     71.79       251.9    *
3FGL J0105.3+3928      4.639   0.669  2.77e-06   2.32    272.67       727.4    *
3FGL J0023.5+4454      5.046   2.342  2.55e-06   2.49    244.52       863.9    *
3FGL J0102.1+4458      5.147   0.364  9.11e-07   1.90     24.42       101.6    *
PS J0013.6+4051        5.496   2.856  1.05e-06   2.45     55.49       271.5
PS J0110.9+4345        5.768   1.611  7.81e-07   2.21     27.40       160.8
PS J0028.7+3553        6.025   3.532   1.3e-06   2.45     66.39       346.8
3FGL J0022.7+4651      6.635   1.495  3.91e-07   5.00      9.14       174.7    *
PS J0015.3+3538        7.780   1.040  1.06e-06   1.89     41.89        69.9
isodiff                  ---   0.795    0.0353   2.12    774.56     28988.2    *
galdiff                  ---   1.103     0.231   0.02  11183.55     91701.4    *

So 6 sources have been found with TS between about 20-50.

[37]:
tsmap_final = gta.tsmap(prefix='TSmap_final',make_plots=True,write_fits=True,write_npy=True)
2026-07-17 22:30:48 INFO    GTAnalysis.tsmap(): Generating TS map
2026-07-17 22:30:49 INFO    GTAnalysis._make_tsmap_fast(): Fitting test source.
2026-07-17 22:32:35 INFO    GTAnalysis.tsmap(): Finished TS map
2026-07-17 22:32:35 WARNING GTAnalysis.tsmap(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/TSmap_final_pointsource_powerlaw_2.00_tsmap.npy
2026-07-17 22:32:35 INFO    GTAnalysis.tsmap(): Execution time: 106.99 s
[38]:
plt.clf()
fig = plt.figure(figsize=(14,6))
ROIPlotter(tsmap_final['sqrt_ts'],roi=gta.roi).plot(levels=[0,3,5,7],vmin=0,vmax=5,subplot=121,cmap='magma')
plt.gca().set_title('Sqrt(TS)')
ROIPlotter(tsmap_final['npred'],roi=gta.roi).plot(vmin=0,vmax=100,subplot=122,cmap='magma')
plt.gca().set_title('NPred')
plt.show()
<Figure size 800x600 with 0 Axes>
../_images/notebooks_optimize_model_69_1.png
[39]:
resid_final = gta.residmap('Residual_final',model={'SpatialModel' : 'PointSource', 'Index' : 2.0},write_fits=True,write_npy=True,make_plots=True)
2026-07-17 22:32:36 INFO    GTAnalysis.residmap(): Generating residual maps
2026-07-17 22:32:36 INFO    GTAnalysis.add_source(): Adding source residmap_testsource
2026-07-17 22:32:37 INFO    GTAnalysis.delete_source(): Deleting source residmap_testsource
2026-07-17 22:32:39 INFO    GTAnalysis.residmap(): Finished residual maps
2026-07-17 22:32:39 WARNING GTAnalysis.residmap(): Saving maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/Residual_final_pointsource_powerlaw_2.00_residmap.npy
2026-07-17 22:32:39 INFO    GTAnalysis.residmap(): Execution time: 2.88 s
[40]:
plt.clf()
fig = plt.figure(figsize=(14,6))
ROIPlotter(resid_final['data'],roi=gta.roi).plot(vmin=1000,vmax=3000,subplot=121,cmap='magma')
plt.gca().set_title('Data')
ROIPlotter(resid_final['model'],roi=gta.roi).plot(vmin=1000,vmax=3000,subplot=122,cmap='magma')
plt.gca().set_title('Model')
plt.show()
<Figure size 640x480 with 0 Axes>
../_images/notebooks_optimize_model_71_1.png
[41]:
plt.clf()
fig = plt.figure(figsize=(14,6))
ROIPlotter(resid_final['sigma'],roi=gta.roi).plot(vmin=-5,vmax=5,levels=[-5,-3,3,5],subplot=121,cmap='RdBu_r')
plt.gca().set_title('Significance')
ROIPlotter(resid_final['excess'],roi=gta.roi).plot(vmin=-100,vmax=100,subplot=122,cmap='RdBu_r')
plt.gca().set_title('Excess')
plt.show()
<Figure size 640x480 with 0 Axes>
../_images/notebooks_optimize_model_72_1.png
[42]:
gta.write_roi('rel_extension_TS25',make_plots=True,save_model_map=True)
2026-07-17 22:32:40 INFO    GTBinnedAnalysis.write_xml(): Writing /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/rel_extension_TS25_00.xml...
2026-07-17 22:32:40 INFO    GTAnalysis.write_fits(): Writing /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/rel_extension_TS25.fits...
WARNING: Format %s cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %s cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %s cannot be mapped to the accepted TDISPn keyword values.  Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
2026-07-17 22:32:40 INFO    GTBinnedAnalysis.write_model_map(): Generating model map for component 00.
2026-07-17 22:32:41 INFO    GTAnalysis.write_roi(): Writing /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/M31_data/rel_extension_TS25.npy...
[43]:
Image(filename='./M31_data/rel_extension_TS25_counts_spectrum.png')
[43]:
../_images/notebooks_optimize_model_74_0.png
[44]:
Image(filename='./M31_data/rel_extension_TS25_counts_map_2.477_5.699.png')
[44]:
../_images/notebooks_optimize_model_75_0.png
[45]:
Image(filename='./M31_data/rel_extension_TS25_counts_map_xproj_2.477_5.699.png')
[45]:
../_images/notebooks_optimize_model_76_0.png
[46]:
Image(filename='./M31_data/rel_extension_TS25_counts_map_yproj_2.477_5.699.png')
[46]:
../_images/notebooks_optimize_model_77_0.png
[ ]: