'on_count': on_count, 'off_count': off_count, 'alpha': alpha, 'excess_count': excess_count, 'li_ma': li_ma(on_count, off_count, alpha), 'phm_on': photometrics_results['on'], 'phm_off': photometrics_results['off'], 'phm_excess': photometrics_results['excess'], 'phm_li_ma': li_ma(photometrics_results['on'], photometrics_results['off'], photometrics_results['alpha']), }) try: csvex.save(os.path.join(args.dir, 'results_{}.tsv'.format(str(args.seed))), results, headers=list(results[0].keys()), delimiter="\t") except: print(results) exit(0)
def write_energies_spectra_tsv(cls, output_filename, energies, spectra): if not len(energies) == len(spectra): raise Exception('Need the same number of elements between energies and spectra') data = [ [energy, spectra[i]] for i, energy in enumerate(energies) ] csvex.save(output_filename, data, delimiter=" ")
output[filename] = [] z = { 'name': name, 'ra': ra, 'dec': dec, 'seed': seed, 'tmax': d['tmax'], 'ts': ts_arr[i], 'on_count': N_on_arr[i], 'off_count': N_off_arr[i], 'alpha': alpha_arr[i], 'li_ma': li_ma_arr[i], #### 'flux': flux_arr[i], 'eflux': eflux_arr[i], } output[filename].append(z) # debug # for k,v in d.items(): # if k == "name" or k == "event_file": # print(" ", k, ":", v) # else: # print(" ", k) # break print(len(output)) for fn, data in output.items(): csvex.save(fn, data, headers=list(data[0].keys()), delimiter="\t")
logging.debug("saving {}".format(img_filename)) else: plt.show() plt.close() return None if __name__ == '__main__': parser = argparse.ArgumentParser(description="Analyze data from tsv") parser.add_argument('files', help='the tsv file', nargs='+') args = parser.parse_args() original_data = [] file_count = 0 for fn in args.files: file_data = csvex.load(fn, header=True, sep='\t') file_count += 1 for fd in file_data: original_data.append(fd) print("File read: {}".format(file_count), file=sys.stderr) print(" data: {}".format(len(original_data)), file=sys.stderr) ds = data_summary(original_data) if not data_summary_is_ok( ds, pointings=5, time_slots=8, different_seeds=5000): exit(1) # inplace augment data_augmentation(ds, bins_number=50) print_data_summary(ds.values())
help="the final observations time in seconds", type=int) parser.add_argument("-d", "--dir", help="the savings directory (default: data/)", default="data") parser.add_argument("--save", help="save the time slices metadata in file") parser.add_argument("--force", help="force the overwriting", default=False, action="store_true") parser.add_argument("-v", "--verbose", action="count", default=0) args = parser.parse_args() # export the model for each time slice exporter = TimeSliceExporter(args.input_fits, template_model=args.template_model, savings_dir=args.dir, verbosity=args.verbose, tmax=args.tmax) time_slices = exporter.export(force=args.force, ebl=args.ebl) if args.save: csvex.save(args.save, time_slices, headers=['id', 'tsec', 'model_file', 'ene_flux_file'], delimiter="\t") logging.warning("Timeslices saved in {}".format(args.save)) elif args.verbose: print(time_slices) exit(0)