diff --git a/script/CoverDetection.py b/script/CoverDetection.py index bb5b58a..66aa596 100644 --- a/script/CoverDetection.py +++ b/script/CoverDetection.py @@ -73,16 +73,25 @@ for i in xdata: def moving_average(arr, n) : ret = [] for i in range(len(arr)): - ret.append(sum(arr[i-n:i+n])) + ret.append(mean(arr[max(i-n,0):min(i+n,len(arr)-1)])) return ret -av = moving_average(ydata, 3) +av = moving_average(ydata, 1) p = plot(ydata, xdata=xdata)[0] -s = p.addSeries("Moving Average") -s.setData(av, xdata) +p.addSeries(LinePlotSeries("Moving Average")) +p.getSeries(1).setData(xdata, av) -peaks = estimate_peak_indexes(ydata, xdata, (min(ydata) + max(ydata))/2, 35.0) +peaks = estimate_peak_indexes(ydata, xdata, (min(ydata) + max(ydata))/2, 25.0) +print "Peaks", peaks +left, right = min(peaks), max(peaks) +print left, right +print xdata[left], xdata[right], xdata[-1] +if xdata[left]<5 and xdata[right]>(xdata[-1]-5): + #del peaks[0 if ydata[right] > ydata[left] else -1] + peaks.remove(right if ydata[right] > ydata[left] else left) +print "Peaks", peaks + print "Peak indexes: " + str(map(lambda x:xdata[x], peaks)) print "Peak values: " + str(map(lambda x:ydata[x], peaks))