Beispiel #1
0
def test_event_id():
    url = get_dataset_path("chec_r1.tio")
    source = TargetIOEventSource(input_url=url)
    event_id = 2
    source._get_event_by_id(event_id)
    assert (event_id == source._reader.fCurrentEventID)
    assert (round(source._r1_samples[0, 0, 0]) == -274)
Beispiel #2
0
def test_targetio_calibrator():
    pytest.importorskip("target_calib")
    url_r0 = get_dataset_path("targetmodule_r0.tio")
    url_r1 = get_dataset_path("targetmodule_r1.tio")
    pedpath = get_dataset_path("targetmodule_ped.tcal")

    source_r0 = TargetIOEventSource(input_url=url_r0)
    source_r1 = TargetIOEventSource(input_url=url_r1)

    r1c = CameraR1CalibratorFactory.produce(eventsource=source_r0)

    event_r0 = source_r0._get_event_by_index(0)
    event_r1 = source_r1._get_event_by_index(0)

    r1c.calibrate(event_r0)
    assert_array_equal(event_r0.r0.tel[0].waveform,
                       event_r0.r1.tel[0].waveform)

    r1c = CameraR1CalibratorFactory.produce(
        eventsource=source_r0,
        pedestal_path=pedpath
    )
    r1c.calibrate(event_r0)
    assert_array_almost_equal(event_r0.r1.tel[0].waveform,
                              event_r1.r1.tel[0].waveform, 1)
def test_event_id():
    url = get_dataset_path("chec_r1.tio")
    source = TargetIOEventSource(input_url=url)
    event_id = 2
    source._get_event_by_id(event_id)
    assert(event_id == source._reader.fCurrentEventID)
    assert(round(source._r1_samples[0, 0, 0]) == -274)
Beispiel #4
0
def test_eventseeker():
    dataset = get_dataset_path("chec_r1.tio")
    with TargetIOEventSource(input_url=dataset) as source:
        seeker = EventSeeker(source)
        event = seeker[0]
        assert source._event_index == 0
        assert source._event_id == 2
        assert event.count == 0
        assert event.r1.event_id == 2
        assert (round(source._r1_samples[0, 0, 0]) == -274)

        event = seeker['2']
        assert source._event_index == 0
        assert source._event_id == 2
        assert event.count == 0
        assert event.r1.event_id == 2
        assert (round(source._r1_samples[0, 0, 0]) == -274)

        event = seeker[-1]
        assert event.count == len(seeker) - 1

    with TargetIOEventSource(input_url=dataset, max_events=3) as source:
        with pytest.raises(IndexError):
            seeker = EventSeeker(source)
            _ = seeker[5]
Beispiel #5
0
def test_singlemodule_r0():
    url = get_dataset_path("targetmodule_r0.tio")
    source = TargetIOEventSource(input_url=url)
    event = source._get_event_by_index(0)
    assert (round(source._r0_samples[0, 0, 0]) == 600)
    assert (source._r1_samples is None)
    assert (event.r0.tels_with_data == {0})
    assert (event.r0.tel[0].waveform[0, 0, 0] == source._r0_samples[0, 0, 0])
def test_singlemodule_r0():
    url = get_dataset_path("targetmodule_r0.tio")
    source = TargetIOEventSource(input_url=url)
    event = source._get_event_by_index(0)
    assert(round(source._r0_samples[0, 0, 0]) == 600)
    assert(source._r1_samples is None)
    assert(event.r0.tels_with_data == {0})
    assert(event.r0.tel[0].waveform[0, 0, 0] == source._r0_samples[0, 0, 0])
Beispiel #7
0
def test_chec_r1():
    url = get_dataset_path("chec_r1.tio")
    source = TargetIOEventSource(input_url=url)
    event = source._get_event_by_index(0)
    assert (source._r0_samples is None)
    assert (source._r1_samples.shape[1] == 2048)
    assert (round(source._r1_samples[0, 0, 0]) == -274)
    assert (event.r0.tels_with_data == {0})
    assert (event.r0.tel[0].waveform is None)
    assert (event.r1.tel[0].waveform[0, 0, 0] == source._r1_samples[0, 0, 0])
Beispiel #8
0
def test_geom():
    dataset = get_dataset_path("chec_r1.tio")
    with TargetIOEventSource(input_url=dataset) as source:
        event = source._get_event_by_index(0)
        assert event.inst.subarray.tels[0].camera.pix_x.size == 2048

    dataset = get_dataset_path("targetmodule_r1.tio")
    with TargetIOEventSource(input_url=dataset) as source:
        event = source._get_event_by_index(0)
        assert event.inst.subarray.tels[0].camera.pix_x.size == 64
Beispiel #9
0
def test_len():
    dataset = get_dataset_path("chec_r1.tio")
    with TargetIOEventSource(input_url=dataset) as source:
        count = 0
        for _ in source:
            count += 1
        assert count == len(source)

    with TargetIOEventSource(input_url=dataset, max_events=3) as reader:
        assert len(reader) == 3
def test_chec_r1():
    url = get_dataset_path("chec_r1.tio")
    source = TargetIOEventSource(input_url=url)
    event = source._get_event_by_index(0)
    assert(source._r0_samples is None)
    assert(source._r1_samples.shape[1] == 2048)
    assert(round(source._r1_samples[0, 0, 0]) == -274)
    assert(event.r0.tels_with_data == {0})
    assert(event.r0.tel[0].waveform is None)
    assert(event.r1.tel[0].waveform[0, 0, 0] == source._r1_samples[0, 0, 0])
Beispiel #11
0
def test_pipeline():
    dataset = get_dataset_path("chec_r1.tio")
    reader = TargetIOEventSource(input_url=dataset, max_events=10)
    calibrator = CameraCalibrator(eventsource=reader)
    for event in reader:
        calibrator.calibrate(event)
        assert event.r0.tel.keys() == event.dl1.tel.keys()
Beispiel #12
0
def test_that_event_is_not_modified_after_loop():
    dataset = get_dataset_path("chec_r1.tio")
    with TargetIOEventSource(input_url=dataset, max_events=2) as source:
        for event in source:
            last_event = copy.deepcopy(event)

        # now `event` should be identical with the deepcopy of itself from
        # inside the loop.
        # Unfortunately this does not work:
        #      assert last_event == event
        # So for the moment we just compare event ids
        assert event.r0.event_id == last_event.r0.event_id
Beispiel #13
0
def test_targetio_calibrator():
    pytest.importorskip("target_calib")
    url_r0 = get_dataset_path("targetmodule_r0.tio")
    url_r1 = get_dataset_path("targetmodule_r1.tio")
    pedpath = get_dataset_path("targetmodule_ped.tcal")

    source_r0 = TargetIOEventSource(input_url=url_r0)
    source_r1 = TargetIOEventSource(input_url=url_r1)

    r1c = CameraR1Calibrator.from_eventsource(eventsource=source_r0)

    event_r0 = source_r0._get_event_by_index(0)
    event_r1 = source_r1._get_event_by_index(0)

    r1c.calibrate(event_r0)
    assert_array_equal(event_r0.r0.tel[0].waveform,
                       event_r0.r1.tel[0].waveform)

    r1c = CameraR1Calibrator.from_eventsource(
        eventsource=source_r0,
        pedestal_path=pedpath
    )
    r1c.calibrate(event_r0)
    assert_array_almost_equal(event_r0.r1.tel[0].waveform,
                              event_r1.r1.tel[0].waveform, 1)
Beispiel #14
0
def test_loop():
    dataset = get_dataset_path("chec_r1.tio")
    with TargetIOEventSource(input_url=dataset) as source:
        count = 0
        for event in source:
            assert event.r0.tels_with_data == {0}
            assert event.count == count
            count += 1

        for event in source:
            # Check generator has restarted from beginning
            assert event.count == 0
            break
Beispiel #15
0
def test_stream():
    dataset = get_dataset_path("chec_r1.tio")
    with TargetIOEventSource(input_url=dataset) as source:
        assert not source.is_stream
Beispiel #16
0
def test_compatible():
    dataset = get_dataset_path("chec_r1.tio")
    assert TargetIOEventSource.is_compatible(dataset)

    dataset = get_dataset_path("gamma_test.simtel.gz")
    assert not TargetIOEventSource.is_compatible(dataset)
def test_compatible():
    dataset = get_dataset_path("chec_r1.tio")
    assert TargetIOEventSource.is_compatible(dataset)

    dataset = get_dataset_path("gamma_test.simtel.gz")
    assert not TargetIOEventSource.is_compatible(dataset)