msaf/algorithms/sf/segmenter.py
def pick_peaks(nc, L=16, offset_denom=0.1):
    """Obtain peaks from a novelty curve using an adaptive threshold."""
    offset = nc.mean() * float(offset_denom)
    th = filters.median_filter(nc, size=L) + offset
    #th = filters.gaussian_filter(nc, sigma=L/2., mode="nearest") + offset
    #import pylab as plt
    #plt.plot(nc)
    #plt.plot(th)
    #plt.show()
    # th = np.ones(nc.shape[0]) * nc.mean() - 0.08
    peaks = []
    for i in range(1, nc.shape[0] - 1):
        # is it a peak?
        if nc[i - 1] < nc[i] and nc[i] > nc[i + 1]:
            # is it above the threshold?
            if nc[i] > th[i]:
                peaks.append(i)
    return peaks
def pick_peaks(nc, L=16, offset_denom=0.1):
    """Obtain peaks from a novelty curve using an adaptive threshold."""
    offset = nc.mean() * float(offset_denom)
    th = filters.median_filter(nc, size=L) + offset
    #th = filters.gaussian_filter(nc, sigma=L/2., mode="nearest") + offset
    #import pylab as plt
    #plt.plot(nc)
    #plt.plot(th)
    #plt.show()
    # th = np.ones(nc.shape[0]) * nc.mean() - 0.08
    peaks = []
    for i in range(1, nc.shape[0] - 1):
        # is it a peak?
        if nc[i - 1] < nc[i] and nc[i] > nc[i + 1]:
            # is it above the threshold?
            if nc[i] > th[i]:
                peaks.append(i)
    return peaks
def pick_peaks ( nc , L = 16 , offset_denom = 0.1 ) : offset = nc . mean ( ) * float ( offset_denom ) th = filters . median_filter ( nc , size = L ) + offset #th = filters.gaussian_filter(nc, sigma=L/2., mode="nearest") + offset #import pylab as plt #plt.plot(nc) #plt.plot(th) #plt.show() # th = np.ones(nc.shape[0]) * nc.mean() - 0.08 peaks = [ ] for i in range ( 1 , nc . shape [ 0 ] - 1 ) : # is it a peak? if nc [ i - 1 ] < nc [ i ] and nc [ i ] > nc [ i + 1 ] : # is it above the threshold? if nc [ i ] > th [ i ] : peaks . append ( i ) return peaks
Obtain peaks from a novelty curve using an adaptive threshold.
Obtain peaks from a novelty curve using an adaptive threshold .