def get_all_wfs(filename, max_events=1000000, telid=0): inputfile_reader = NectarCAMEventSource(input_url=filename, max_events=max_events) all_wfs = [] expected_pixs = inputfile_reader.camera_config.expected_pixels_id for ii, event in enumerate(inputfile_reader): all_wfs.append(event.r0.tel[0].waveform[:, expected_pixs]) if ii % 10000 == 0: print(ii, event.r0.tel[telid].waveform.mean()) ## shape = (nevt, ngain, npix, nsample) return np.array(all_wfs)
def get_full_pedestals(filename): inputfile_reader = NectarCAMEventSource(input_url=filename, max_events=10000) expected_pixs = inputfile_reader.camera_config.expected_pixels_id all_wfs = [] telid = 0 for ii, event in enumerate(inputfile_reader): #if event.r0.tel[telid].trigger_type == 32: # ~ if event.nectarcam.tel[telid].evt.ucts_trigger_type == 32: all_wfs.append(event.r0.tel[telid].waveform[:, expected_pixs]) if len(all_wfs) > 1000: break all_wfs = np.array(all_wfs) return all_wfs.mean(axis=0)
def test_loop_over_events(): from ctapipe_io_nectarcam import NectarCAMEventSource n_events = 10 inputfile_reader = NectarCAMEventSource(input_url=example_file_path, max_events=n_events) for i, event in enumerate(inputfile_reader): assert event.r0.tels_with_data == [0] for telid in event.r0.tels_with_data: assert event.index.event_id == FIRST_EVENT_NUMBER_IN_FILE + i n_gain = 2 n_camera_pixels = inputfile_reader.subarray.tels[0].camera.n_pixels num_samples = event.nectarcam.tel[telid].svc.num_samples waveform_shape = (n_gain, n_camera_pixels, num_samples) assert event.r0.tel[telid].waveform.shape == waveform_shape # make sure max_events works assert i == n_events - 1
def test_is_compatible(): from ctapipe_io_nectarcam import NectarCAMEventSource assert NectarCAMEventSource.is_compatible(example_file_path)
#file_path = "/media/ttaverni/Transcend/data/target_spe/NectarCAM.Run0011.0000.fits.fz" # ~ file_path = "/local/home/ttaverni/cta-nectar/speR1/NectarCAM.Run1112.0000.fits.fz" # ~ file_path = "/media/ttaverni/Transcend/data/target_spe/NectarCAM.Run1180.0000.fits.fz" file_path = "/media/ttaverni/Transcend/data/speR1/NectarCAM.Run1554.0000.fits.fz" # ~ file_path = "/media/ttaverni/Transcend/data/target_spe/NectarCAM.Run1184.0000.fits.fz" # ~ file_path = "/media/ttaverni/Transcend/data/target_spe/NectarCAM.Run0011.0000.fits.fz" # ~ file_path = "/media/ttaverni/Transcend/data/target_spe/NectarCAM.Run1184.0000.fits.fz" # ~ file_path = "/media/ttaverni/Transcend/data/speR1/NectarCAM.Run1482.0000.fits.fz" # ~ file_path = "/media/ttaverni/Transcend/data/speR1/NectarCAM.Run1508.0000.fits.fz" # ~ file_path = "/media/ttaverni/Transcend/data/adlersofff/20190524/NectarCAM.Run1247.0000.fits.fz" inputfile_reader = NectarCAMEventSource( input_url = file_path, max_events=1) cfg = inputfile_reader.camera_config pix_ids = cfg.expected_pixels_id mmm = 20 ########################## # ~ table = Table.read('./NewNectarCam.camgeom.fits.gz') # ~ geom = CameraGeometry.from_table(table) # ~ geom.rotate(10.3*u.deg) geom = CameraGeometry.from_name("NectarCam-002")