def run_analysis(self, argv): """Run this analysis""" args = self._parser.parse_args(argv) if not HAVE_ST: raise RuntimeError("Trying to run fermipy analysis, but don't have ST") gta = GTAnalysis(args.config, logging={'verbosity': 3}, fileio={'workdir_regex': '\.xml$|\.npy$'}) gta.setup(overwrite=False) gta.load_roi('fit_baseline') gta.print_roi() basedir = os.path.dirname(args.config) # This should be a no-op, b/c it was done in the baseline analysis gta.free_sources(skydir=gta.roi.skydir, distance=1.0, pars='norm') for profile in args.profiles: pkey, pdict = SEDAnalysis._build_profile_dict(basedir, profile) # test_case need to be a dict with spectrum and morphology gta.add_source(pkey, pdict) # refit the ROI gta.fit() # build the SED gta.sed(pkey, outfile="sed_%s.fits" % pkey) # remove the source gta.delete_source(pkey) # put the ROI back to how it was gta.load_xml('fit_baseline') return gta
def run_analysis(self, argv): """Run this analysis""" args = self._parser.parse_args(argv) if not HAVE_ST: raise RuntimeError( "Trying to run fermipy analysis, but don't have ST") if is_null(args.skydirs): skydir_dict = None else: skydir_dict = load_yaml(args.skydirs) gta = GTAnalysis(args.config, logging={'verbosity': 3}, fileio={'workdir_regex': '\.xml$|\.npy$'}) #gta.setup(overwrite=False) gta.load_roi(args.roi_baseline) gta.print_roi() basedir = os.path.dirname(args.config) # This should be a no-op, b/c it was done in the baseline analysis for profile in args.profiles: if skydir_dict is None: skydir_keys = [None] else: skydir_keys = sorted(skydir_dict.keys()) for skydir_key in skydir_keys: if skydir_key is None: pkey, pdict = AnalyzeSED._build_profile_dict( basedir, profile) else: skydir_val = skydir_dict[skydir_key] pkey, pdict = AnalyzeSED._build_profile_dict( basedir, profile) pdict['ra'] = skydir_val['ra'] pdict['dec'] = skydir_val['dec'] pkey += "_%06i" % skydir_key outfile = "sed_%s.fits" % pkey # Add the source and get the list of correlated soruces correl_dict = add_source_get_correlated(gta, pkey, pdict, correl_thresh=0.25) # Write the list of correlated sources correl_yaml = os.path.join(basedir, "correl_%s.yaml" % pkey) write_yaml(correl_dict, correl_yaml) gta.free_sources(False) for src_name in correl_dict.keys(): gta.free_source(src_name, pars='norm') # build the SED gta.sed(pkey, outfile=outfile, make_plots=args.make_plots) # remove the source gta.delete_source(pkey) # put the ROI back to how it was gta.load_xml(args.roi_baseline) return gta
# 'SpatialWidth' : 1.0 # } gta = GTAnalysis(args.config, logging={"verbosity": 3}) gta.setup() gta.simulate_roi(restore=True) ext_fit_data = [] halo_fit_data = [] gta.write_roi("base_model", save_model_map=False, make_plots=False) for i in range(1): gta.load_xml("base_model") gta.simulate_roi(randomize=False) gta.free_source("testsource") gta.update_source("testsource") # gta.fit() gta.free_sources(free=False) gta.extension("testsource", width=np.logspace(-2.5, -0.5, 9)) ext_fit_data += [copy.deepcopy(gta.roi["testsource"])] gta.write_roi("fit%04i" % i, save_model_map=False, make_plots=False, format="npy") fit_halo(gta, "fit%04i" % i, "testsource", halo_width, halo_index)
# 'SpatialWidth' : 1.0 # } gta = GTAnalysis(args.config,logging={'verbosity' : 3}) gta.setup() gta.simulate_roi(restore=True) ext_fit_data = [] halo_fit_data = [] gta.write_roi('base_model',save_model_map=False,make_plots=False) for i in range(10): gta.load_xml('base_model') gta.simulate_roi() gta.free_source('testsource') gta.free_source('galdiff',pars='norm') gta.free_source('isodiff',pars='norm') gta.fit() gta.update_source('testsource',reoptimize=True,npts=9) gta.free_sources(free=False) gta.extension('testsource',width=np.logspace(-2.5,-0.5,9)) ext_fit_data += [copy.deepcopy(gta.roi['testsource'])]
def run_analysis(self, argv): """Run this analysis""" args = self._parser.parse_args(argv) if not HAVE_ST: raise RuntimeError( "Trying to run fermipy analysis, but don't have ST") if is_null(args.skydirs): skydir_dict = None else: skydir_dict = load_yaml(args.skydirs) gta = GTAnalysis(args.config, logging={'verbosity': 3}, fileio={'workdir_regex': '\.xml$|\.npy$'}) #gta.setup(overwrite=False) gta.load_roi(args.roi_baseline) gta.print_roi() basedir = os.path.dirname(args.config) # This should be a no-op, b/c it was done in the baseline analysis for profile in args.profiles: if skydir_dict is None: skydir_keys = [None] else: skydir_keys = sorted(skydir_dict.keys()) for skydir_key in skydir_keys: if skydir_key is None: pkey, psrc_name, pdict = build_profile_dict(basedir, profile) else: skydir_val = skydir_dict[skydir_key] pkey, psrc_name, pdict = build_profile_dict(basedir, profile) pdict['ra'] = skydir_val['ra'] pdict['dec'] = skydir_val['dec'] pkey += "_%06i" % skydir_key outfile = "sed_%s.fits" % pkey # Add the source and get the list of correlated soruces correl_dict, test_src_name = add_source_get_correlated(gta, psrc_name, pdict, correl_thresh=0.25, non_null_src=args.non_null_src) # Write the list of correlated sources correl_yaml = os.path.join(basedir, "correl_%s.yaml" % pkey) write_yaml(correl_dict, correl_yaml) gta.free_sources(False) for src_name in correl_dict.keys(): gta.free_source(src_name, pars='norm') # build the SED if args.non_null_src: gta.update_source(test_src_name, reoptimize=True) gta.write_roi("base_%s"% pkey, make_plots=False) gta.sed(test_src_name, prefix=pkey, outfile=outfile, make_plots=args.make_plots) # remove the source gta.delete_source(test_src_name) # put the ROI back to how it was gta.load_xml(args.roi_baseline) return gta