Closedown
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user