コード例 #1
0
def test_peak_ratio():
    """ Test peak ratio method."""
    x = np.array([0, 5, 2, 3, 1])
    peaks1 = cf.find_sorted_peaks(x)
    npt.assert_almost_equal(cf.peak_ratio(peaks1, 0, 1), 5 / 3)
    assert cf.peak_ratio(peaks1, 1, 6) is np.nan
    peaks2 = []
    assert cf.peak_ratio(peaks2, 1, 2) is np.nan
コード例 #2
0
def test_peak_bins():
    """ Test peak bins method """
    x = np.array([0, 5, 2, 3, 1])
    peaks1 = cf.find_sorted_peaks(x)
    npt.assert_almost_equal(cf.peak_bin(peaks1, 0), 1)
    npt.assert_almost_equal(cf.peak_bin(peaks1, 1), 3)
    result1 = cf.peak_bin(peaks1, 6)
    assert cf.peak_bin(peaks1, 6) is np.nan
コード例 #3
0
def test_find_sorted_peaks():
    """Test peak-finding algorithm."""
    x = np.array([0, 5, 3, 1])  # Single peak
    npt.assert_allclose(cf.find_sorted_peaks(x), np.array([[1, 5]]))

    x = np.array([0, 5, 3, 6, 1])  # Multiple peaks
    npt.assert_allclose(cf.find_sorted_peaks(x), np.array([[3, 6], [1, 5]]))

    x = np.array([3, 1, 3])  # End-points can be peaks
    npt.assert_allclose(cf.find_sorted_peaks(x), np.array([[0, 3], [2, 3]]))

    x = np.array([0, 3, 3, 3, 0])  # In case of ties, peak is left-most point
    npt.assert_allclose(cf.find_sorted_peaks(x), np.array([[1, 3]]))

    # Tie is a peak only if greater than next value
    x = np.array([0, 3, 3, 5, 0])
    npt.assert_allclose(cf.find_sorted_peaks(x), np.array([[3, 5]]))