Exemplo n.º 1
0
def test_neighbor_average_waveform(toymodel):
    waveforms, subarray, telid, _, _, _ = toymodel
    neighbors = subarray.tel[telid].camera.geometry.neighbor_matrix_sparse
    average_wf = neighbor_average_waveform(
        waveforms,
        neighbors_indices=neighbors.indices,
        neighbors_indptr=neighbors.indptr,
        lwt=0,
    )

    pixel = 0
    _, nei_pixel = np.where(neighbors[pixel].A)
    expected_average = waveforms[nei_pixel].sum(0) / len(nei_pixel)
    assert_allclose(average_wf[pixel], expected_average, rtol=1e-3)

    lwt = 4
    average_wf = neighbor_average_waveform(
        waveforms,
        neighbors_indices=neighbors.indices,
        neighbors_indptr=neighbors.indptr,
        lwt=lwt,
    )

    pixel = 1
    _, nei_pixel = np.where(neighbors[pixel].A)
    nei_pixel = np.concatenate([nei_pixel, [pixel] * lwt])
    expected_average = waveforms[nei_pixel].sum(0) / len(nei_pixel)
    assert_allclose(average_wf[pixel], expected_average, rtol=1e-3)
Exemplo n.º 2
0
def test_neighbor_average_waveform(camera_waveforms):
    waveforms, subarray = camera_waveforms
    nei = subarray.tel[1].camera.neighbor_matrix_where
    average_wf = neighbor_average_waveform(waveforms, nei, 0)
    assert_allclose(average_wf[0, 48], 28.690154, rtol=1e-3)

    average_wf = neighbor_average_waveform(waveforms, nei, 4)
    assert_allclose(average_wf[0, 48], 98.565743, rtol=1e-3)
Exemplo n.º 3
0
def test_neighbor_average_waveform(camera_waveforms):
    waveforms, camera = camera_waveforms
    nei = camera.neighbor_matrix_where
    average_wf = neighbor_average_waveform(waveforms, nei, 0)

    assert_allclose(average_wf[0, 0, 48], 28.690154, rtol=1e-3)
    assert_allclose(average_wf[1, 0, 48], 2.221035, rtol=1e-3)

    average_wf = neighbor_average_waveform(waveforms, nei, 4)

    assert_allclose(average_wf[0, 0, 48], 98.565743, rtol=1e-3)
    assert_allclose(average_wf[1, 0, 48], 9.578896, rtol=1e-3)
Exemplo n.º 4
0
def test_neighbor_average_waveform(camera_waveforms):
    waveforms, camera = camera_waveforms
    nei = camera.neighbor_matrix_where
    average_wf = neighbor_average_waveform(waveforms, nei, 0)

    assert_allclose(average_wf[0, 0, 48], 28.690154, rtol=1e-3)
    assert_allclose(average_wf[1, 0, 48], 2.221035, rtol=1e-3)

    average_wf = neighbor_average_waveform(waveforms, nei, 4)

    assert_allclose(average_wf[0, 0, 48], 98.565743, rtol=1e-3)
    assert_allclose(average_wf[1, 0, 48], 9.578896, rtol=1e-3)
Exemplo n.º 5
0
def test_neighbor_average_waveform(toymodel):
    waveforms, subarray, telid, _, _, _ = toymodel
    nei = subarray.tel[telid].camera.geometry.neighbor_matrix_where
    average_wf = neighbor_average_waveform(waveforms, nei, 0)

    pixel = 0
    nei_pixel = list((np.unique(nei[np.where(nei == pixel)[0]])))
    nei_pixel.remove(pixel)
    expected_average = waveforms[nei_pixel].sum(0) / len(nei_pixel)
    assert_allclose(average_wf[pixel], expected_average, rtol=1e-3)

    pixel = 1
    nei_pixel = list((np.unique(nei[np.where(nei == pixel)[0]])))
    nei_pixel.extend([pixel] * 3)
    expected_average = waveforms[nei_pixel].sum(0) / len(nei_pixel)
    average_wf = neighbor_average_waveform(waveforms, nei, 4)
    assert_allclose(average_wf[pixel], expected_average, rtol=1e-3)
Exemplo n.º 6
0
 def obtain_peak_index_from_neighbours(self, waveforms):
     average_wfs = neighbor_average_waveform(
         waveforms,
         neighbors_indices=self.neighbours.indices,
         neighbors_indptr=self.neighbours.indptr,
         lwt=0,
     )
     return average_wfs.argmax(axis=-1)