msaf/algorithms/foote/segmenter.py
def pick_peaks(nc, L=16):
    """Obtain peaks from a novelty curve using an adaptive threshold."""
    offset = nc.mean() / 20.

    nc = filters.gaussian_filter1d(nc, sigma=4)  # Smooth out nc

    th = filters.median_filter(nc, size=L) + offset
    #th = filters.gaussian_filter(nc, sigma=L/2., mode="nearest") + offset

    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)
    #plt.plot(nc)
    #plt.plot(th)
    #for peak in peaks:
        #plt.axvline(peak)
    #plt.show()

    return peaks
def pick_peaks(nc, L=16):
    """Obtain peaks from a novelty curve using an adaptive threshold."""
    offset = nc.mean() / 20.

    nc = filters.gaussian_filter1d(nc, sigma=4)  # Smooth out nc

    th = filters.median_filter(nc, size=L) + offset
    #th = filters.gaussian_filter(nc, sigma=L/2., mode="nearest") + offset

    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)
    #plt.plot(nc)
    #plt.plot(th)
    #for peak in peaks:
        #plt.axvline(peak)
    #plt.show()

    return peaks
def pick_peaks ( nc , L = 16 ) : offset = nc . mean ( ) / 20. nc = filters . gaussian_filter1d ( nc , sigma = 4 ) # Smooth out nc th = filters . median_filter ( nc , size = L ) + offset #th = filters.gaussian_filter(nc, sigma=L/2., mode="nearest") + offset 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 ) #plt.plot(nc) #plt.plot(th) #for peak in peaks: #plt.axvline(peak) #plt.show() return peaks
Obtain peaks from a novelty curve using an adaptive threshold.
Obtain peaks from a novelty curve using an adaptive threshold .