In [5]:
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit

csv = np.genfromtxt('uranium_test_2019-02-19_D3S.csv', delimiter= ",").T

In [6]:
summed = np.sum(csv, axis=1)
plt.plot(summed)
plt.yscale('log')
plt.show()



In [7]:
def checkShape(i, data, r, e):
    sweep = [data[i + dx] for dx in range(-r, r+1)]
    prev=sweep[r]
    if not prev == max(sweep): #or prev < np.average(data)/4:
        return False
    if not prev > np.average(sweep) * 1.5:
        return False
    for k in range(1, r+1):
        if e < 0:
            return False
        if sweep[r-k] > prev:
            e = e - 1
        prev = sweep[r-k]
    prev=sweep[r]
    for k in range(1, r+1):
        if e < 0:
            return False
        if sweep[r+k] > prev:
            e = e - 1
        prev = sweep[r+k]
    return e >= 0

def sweepLeft(data, r=60, e=50):
    bubbles = []
    index = r
    while index < len(data) - r:
        if checkShape(index, data, r, e):
            bubbles.append(index)
            index = index + r - e
        else:
            index += 1
    return bubbles

ldots = sweepLeft(summed)
print(ldots)


[142, 322, 589, 971, 2836, 2883, 2995, 3083, 3133, 3243, 3255, 3368, 3509, 3538, 3549, 3567, 3657, 3724, 3809, 3873, 3883, 3899, 3910, 3922, 3939, 3949, 3960, 3979, 4003]

In [8]:
ldots = sweepLeft(summed, 60, 50)
print(ldots)
print(len(ldots))
print(np.average(summed)/4)
x=np.arange(len(summed))
plt.plot(summed)
plt.plot(x, np.average(summed)/4 + 0*x)
plt.plot(ldots, summed[ldots], 'ro')
plt.yscale('log')
plt.show()


[142, 322, 589, 971, 2836, 2883, 2995, 3083, 3133, 3243, 3255, 3368, 3509, 3538, 3549, 3567, 3657, 3724, 3809, 3873, 3883, 3899, 3910, 3922, 3939, 3949, 3960, 3979, 4003]
29
33.2431030273

In [9]:
tsv = np.genfromtxt('thorium_test_2019-02-19_D3S.csv', delimiter= ",").T
thor = np.sum(tsv, axis=1)
tdots = sweepLeft(thor, 100, 99)
print(tdots)
print(len(tdots))
print(np.average(thor)/4)
x=np.arange(len(thor))
plt.plot(thor)
plt.plot(x, np.average(thor/4) + 0*x)
plt.plot(tdots, thor[tdots], 'ro')
plt.yscale('log')
plt.show()


[135, 393, 925, 2394, 2873, 3380, 3660]
7
100.766784668

In [10]:
ksv = np.genfromtxt('k40_test_2019-02-11_D3S.csv', delimiter= ",").T
pot = np.sum(ksv, axis=1)
kdots = sweepLeft(pot, 100, 86)
print(kdots)
print(len(kdots))
print(np.average(pot)/2)
x=np.arange(len(pot))
plt.plot(pot)
plt.plot(x, np.average(pot)/4 + 0*x)
plt.plot(kdots, pot[kdots], 'ro')
plt.yscale('log')
plt.show()


[147, 2237, 2496, 2581, 2691, 2808, 2919, 2975, 2991, 3031, 3077, 3105, 3139, 3165, 3186, 3243, 3277, 3293, 3327, 3365, 3386, 3402, 3444, 3466, 3494, 3593, 3618, 3637, 3712, 3732, 3813, 3844, 3888, 3917, 3940, 3959]
36
6.16381835938

In [36]:
u2sv = np.genfromtxt('Uranium_102566_2019-03-28_D3S.csv', delimiter= ",").T
u_sum = np.sum(u2sv, axis=1)
u2dots = sweepLeft(u_sum, 95, 94)
print(u2dots[0:10])
print(len(u2dots))
print(np.average(u_sum)/2)
x=np.arange(len(u_sum))
plt.plot(u_sum)
#plt.plot(x, np.average(u_sum)/4 + 0*x)
plt.plot(u2dots[0:10], u_sum[u2dots[0:10]], 'ro')
plt.yscale('log')
plt.show()


[118, 704, 1260, 1604, 1888, 1913, 1935, 2380, 2624, 2762]
27
117.692871094

In [49]:
plt.plot(u_sum[0: 500])
p = 232
plt.plot(p, u_sum[p], 'ro')
plt.show()



In [ ]: