Exemple #1
0
def test_midpad(before):
    # Midpad should work for both odd and even arrays.
    data = np.arange(before)

    # Test shrinking.
    after = before - 6
    half = (before - after) // 2
    assert_equal(midpad(data, after), data[half:-half])

    # Test identity.
    after = before
    assert_equal(midpad(data, after), data)

    # Test expanding.
    after = before + 12
    half = (after - before) // 2
    lp = midpad(data, after)

    assert_equal(lp[:half], 0)
    assert_equal(lp[half:-half], data)
    assert_equal(lp[-half:], 0)

    # I don't test odd values, except to ensure sizes are correct.
    for after in [before - 5, before + 15]:
        assert len(midpad(data, after)) == after
Exemple #2
0
 def rescale_mut(in_buf):
     buf = np.interp(
         np.linspace(0, 1, new_len), np.linspace(0, 1, N), in_buf
     )
     # assert len(buf) == new_len
     buf = midpad(buf, N)
     in_buf[:] = buf
Exemple #3
0
 def rescale_mut(corr_kernel_mut):
     buf = np.interp(
         np.linspace(0, 1, new_len),
         np.linspace(0, 1, Ntrigger),
         corr_kernel_mut,
     )
     # assert len(buf) == new_len
     buf = midpad(buf, Ntrigger)
     corr_kernel_mut[:] = buf
Exemple #4
0
def cosine_flat(n: int, diameter: int, falloff: int) -> np.ndarray:
    cosine = windows.hann(falloff * 2)
    # assert cosine.dtype == FLOAT
    left, right = cosine[:falloff], cosine[falloff:]

    window = np.concatenate([left, np.ones(diameter, dtype=FLOAT), right])

    padded = midpad(window, n)
    # assert padded.dtype == FLOAT
    return padded