Пример #1
0
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)
Пример #2
0
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)
Пример #5
0
    
    #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")