Closedown

This commit is contained in:
gobbo_a
2017-05-05 09:22:04 +02:00
parent 601942f2db
commit c1ff5e2fa6

View File

@@ -25,32 +25,29 @@ def blm_remove_spikes(x):
print("0")
x = copy.copy(x)
if x.size > 5: # Must have enough sample points
print ("A")
d_x = x[1:] - x[:-1]
maximum = x.max() - x.min()
print ("B")
for i in range(x.size-3):
if d_x[i+1] > 0.5 * maximum and d_x[i+2] < -0.5 * maximum:
# 1 point spike
x[i+2] = (x[i:i+5].sum() - x[i+2])/4
if d_x[i+1] > 0.5 * maximum and d_x[i+2] >= -0.5 * maximum:
print ("B")
# 2 point spikes
x[i+2] = (x[i:i+2].sum() + x[i+4])/3
x[i+3] = (x[i+1] + x[i+4:i+6].sum())/3
print ("A")
# Handle edge points
if d_x[-1] > 0.5 * maximum:
print ("B")
x[-1] = x[-3:-1].sum() / 2
if d_x[-2] > 0.5 * maximum:
print ("C")
x[-2] = (x[-1] + x[-4:-2].sum()) / 3
if d_x[0] < -0.5 * maximum:
print ("D")
x[0] = x[1:3].sum() / 2
if d_x[1] < -0.5*maximum:
print ("E")
x[1] = (x[0] + x[2:4].sum()) / 3
return x