def test_hessio_file_reader(): dataset = get_datasets_path("gamma_test.simtel.gz") file = HessioFileReader(None, None, input_path=dataset) datasets_path = get_datasets_path("") assert file.input_path == join(datasets_path, "gamma_test.simtel.gz") assert file.directory == datasets_path assert file.extension == ".gz" assert file.filename == "gamma_test.simtel" source = file.read() event = next(source) assert event.r0.tels_with_data == {38, 47}
def test_hessio_file_reader(): dataset = get_datasets_path("gamma_test.simtel.gz") file = HessioFileReader(None, None, input_path=dataset) datasets_path = get_datasets_path("") assert file.input_path == join(datasets_path, "gamma_test.simtel.gz") assert file.directory == datasets_path assert file.extension == ".gz" assert file.filename == "gamma_test.simtel" source = file.read() event = next(source) assert event.dl0.tels_with_data == {38, 47}
def test_inputfile(): dataset = get_datasets_path("gamma_test.simtel.gz") file = InputFile(dataset, 'hessio') datasets_path = Path(get_datasets_path("")) assert file.input_path == datasets_path.joinpath("gamma_test.simtel.gz").as_posix() assert file.directory == datasets_path.as_posix() assert file.extension == ".gz" assert file.filename == "gamma_test.simtel" assert file.origin == "hessio" source = file.read() event = next(source) assert event.dl0.tels_with_data == {38, 47}
def test_get_run_id(): filename = get_datasets_path("gamma_test.simtel.gz") print(filename) gen = hessio_event_source(filename) event = next(gen) tels = event.dl0.tels_with_data print(tels) assert tels == {38, 47}
def test_event_file_reader_factory(): dataset = get_datasets_path("gamma_test.simtel.gz") factory = EventFileReaderFactory(None, None) factory.input_path = dataset cls = factory.get_class() file = cls(None, None) num_events = file.num_events assert(num_events == 9)
def test_event_file_reader_factory(): dataset = get_datasets_path("gamma_test.simtel.gz") factory = EventFileReaderFactory(None, None) factory.input_path = dataset cls = factory.get_class() file = cls(None, None) num_events = file.num_events assert (num_events == 9)
def generate_input_containers(): # Get event from hessio file, append them into input_containers input_filename = get_datasets_path("gamma_test.simtel.gz") gen = hessio_event_source(input_filename, max_events=3) input_containers = [] for event in gen: input_containers.append(deepcopy(event)) return input_containers
def test_get_event(): dataset = get_datasets_path("gamma_test.simtel.gz") file = HessioFileReader(None, None, input_path=dataset) event = file.get_event(2) assert event.count == 2 assert event.dl0.event_id == 803 event = file.get_event(803, True) assert event.count == 2 assert event.dl0.event_id == 803
def test_get_num_events(): dataset = get_datasets_path("gamma_test.simtel.gz") file = HessioFileReader(None, None, input_path=dataset) num_events = file.num_events assert(num_events == 9) file.max_events = 2 num_events = file.num_events assert (num_events == 2)
def test_get_num_events(): dataset = get_datasets_path("gamma_test.simtel.gz") file = HessioFileReader(None, None, input_path=dataset) num_events = file.num_events assert (num_events == 9) file.max_events = 2 num_events = file.num_events assert (num_events == 2)
def test_get_event(): dataset = get_datasets_path("gamma_test.simtel.gz") file = HessioFileReader(None, None, input_path=dataset) event = file.get_event(2) assert event.count == 2 assert event.r0.event_id == 803 event = file.get_event(803, True) assert event.count == 2 assert event.r0.event_id == 803
def test_getevent(): dataset = get_datasets_path("gamma_test.simtel.gz") file = InputFile(dataset, 'hessio') event = file.get_event(2) assert event.count == 2 assert event.dl0.event_id == 803 event = file.get_event(803, True) assert event.count == 2 assert event.dl0.event_id == 803
def test_get_specific_event(): dataset = get_datasets_path("gamma_test.simtel.gz") source = hessio_event_source(dataset, requested_event=2) event = next(source) assert event.count == 2 assert event.dl0.event_id == 803 source = hessio_event_source(dataset, requested_event=803, use_event_id=True) event = next(source) assert event.count == 2 assert event.dl0.event_id == 803
from matplotlib import pyplot as plt from astropy import units as u from numpy import zeros_like import logging import argparse logging.basicConfig(level=logging.DEBUG) if __name__ == '__main__': parser = argparse.ArgumentParser(description='show single telescope') parser.add_argument('tel', metavar='TEL_ID', type=int) parser.add_argument('filename', metavar='EVENTIO_FILE', nargs='?', default=get_datasets_path('gamma_test.simtel.gz')) parser.add_argument('-m', '--max-events', type=int, default=10) parser.add_argument('-c', '--channel', type=int, default=0) args = parser.parse_args() source = hessio_event_source(args.filename, single_tel=args.tel, max_events=args.max_events) disp = None print('SELECTING EVENTS FROM TELESCOPE {}'.format(args.tel)) print('=' * 70) for event in source: print('Scanning input file... count = {}'.format(event.count))
def get_input(): print("============================================") print("n or [enter] - go to Next event") print("d - Display the event") print("p - Print all event data") print("i - event Info") print("q - Quit") return input("Choice: ") if __name__ == '__main__': if len(sys.argv) > 1: filename = sys.argv.pop(1) else: filename = get_datasets_path("gamma_test.simtel.gz") plt.style.use("ggplot") plt.show(block=False) # loop over events and display menu at each event: source = hessio_event_source(filename) for event in source: print("EVENT_ID: ", event.dl0.event_id, "TELS: ", event.dl0.tels_with_data) while True: response = get_input() if response.startswith("d"):
from ctapipe import visualization, io from matplotlib import pyplot as plt from astropy import units as u from numpy import zeros_like import logging import argparse logging.basicConfig(level=logging.DEBUG) if __name__ == '__main__': parser = argparse.ArgumentParser(description='show single telescope') parser.add_argument('tel', metavar='TEL_ID', type=int) parser.add_argument('filename', metavar='EVENTIO_FILE', nargs='?', default=get_datasets_path('gamma_test.simtel.gz')) parser.add_argument('-m', '--max-events', type=int, default=10) parser.add_argument('-c', '--channel', type=int, default=0) args = parser.parse_args() source = hessio_event_source(args.filename, single_tel=args.tel, max_events=args.max_events) disp = None print('SELECTING EVENTS FROM TELESCOPE {}'.format(args.tel)) print('=' * 70) for event in source: print('Scanning input file... count = {}'.format(event.count))
plt.subplot(1, 2, 1) plt.scatter(pixid, peds) plt.title("Pedestals for event {}".format(event.dl0.event_id)) plt.subplot(1, 2, 2) plt.scatter(pixid, pedvars) plt.title("Ped Variances for event {}".format(event.dl0.event_id)) if __name__ == '__main__': # if a filename is specified, use it, otherwise load sample data if len(sys.argv) > 1: filename = sys.argv.pop(1) else: filename = get_datasets_path("gamma_test.simtel.gz") # set a fixed window (for now from samples 20 to the end), which may not # be appropriate for all telescopes (this should eventually be # chosen based on the telescope type, since some have shorter # sample windows: start = 15 end = None # None means through sample # loop over all events, all telescopes and all channels and call # the calc_peds function defined above to do some work: for event in hessio_event_source(filename): for telid in event.dl0.tels_with_data: for chan in event.dl0.tel[telid].adc_samples.keys():