def initialize_optics(tel_id, filename, file_closed = 1): if 'simtel.gz' in filename: if file_closed: ld.clear_lists_optics() load_hessio(filename) nextevent_hessio() else: pass ld.mirror_area.append(h.get_mirror_area(tel_id)) ld.mirror_number.append(h.get_mirror_number(tel_id)) if file_closed: close_hessio() elif 'fits' in filename: hdulist = file_closed if file_closed == 1: ld.clear_lists_optics() ld.clear_lists_telescope() hdulist = load_fits(filename) teles = hdulist[1].data ld.telescope = teles["TelID"].tolist() else: pass index = ld.telescope_id.index(tel_id) ld.mirror_area.append(hdulist[1].data[index]["MirrorArea"]) if file_closed == 1: close_fits(hdulist)
def initialize_optics(tel_id, filename, file_closed=1): if 'simtel.gz' in filename: if file_closed: ld.clear_lists_optics() load_hessio(filename) nextevent_hessio() else: pass ld.mirror_area.append(h.get_mirror_area(tel_id)) ld.mirror_number.append(h.get_mirror_number(tel_id)) if file_closed: close_hessio() elif 'fits' in filename: hdulist = file_closed if file_closed == 1: ld.clear_lists_optics() ld.clear_lists_telescope() hdulist = load_fits(filename) teles = hdulist[1].data ld.telescope = teles["TelID"].tolist() else: pass index = ld.telescope_id.index(tel_id) ld.mirror_area.append(hdulist[1].data[index]["MirrorArea"]) if file_closed == 1: close_fits(hdulist)
def initialize_hessio(filename,tel_id, file_closed): if file_closed: util_functions.load_hessio(filename) util_functions.nextevent_hessio() else: pass ld.mirror_area.append(h.get_mirror_area(tel_id)) ld.mirror_number.append(h.get_mirror_number(tel_id)) if file_closed: util_functions.close_hessio()
# TODO: use io.fits instead and make the table be variable length # TODO: make this a tool (ctapipe-eventio2tels) if __name__ == '__main__': filename = sys.argv.pop(1) h.file_open(filename) event = h.move_to_next_event() next(event) for telid in range(1, h.get_num_telescope()): try: px, py = h.get_pixel_position(telid) camtab = Table(names=['PIX_POS_X', 'PIX_POS_Y'], data=[px * u.m, py * u.m]) camtab.meta['N_PIX'] = h.get_num_pixels(telid) camtab.meta['N_SAMPS'] = h.get_num_samples(telid) camtab.meta['N_TIMES'] = h.get_pixel_timing_num_times_types(telid) camtab.meta['MIR_AREA'] = h.get_mirror_area(telid) geom = io.guess_camera_geometry(px * u.m, py * u.m) camtab.meta['TELCLASS'] = geom.cam_id camtab.meta['PIXTYPE'] = geom.pix_type filename = "cam_{:03d}.fits".format(telid) camtab.write(filename) print("WROTE ", filename) except h.HessioTelescopeIndexError: break