plt.plot(loopRange, np.array(ts), marker="o", label="GPU - Taichi")
    print(np.polynomial.polynomial.polyfit(loopRange[1:], ts[1:], 1))

if (True):
    ts = []
    for loop in loopRange:
        beads = []
        for i in range(loop):
            beads.append(N.Bead(50, 50))

        N.XY(beads, img)

        for i in range(20):
            N.Calibrate(beads, [imgc[i]], i)

        N.ComputeCalibration(beads)
        N.XYZ(beads, img)
        print(beads[0])

        start = time.time()
        for i in range(100):
            N.XYZ(beads, img)
        ts.append(time.time() - start)

    plt.plot(loopRange, np.array(ts), marker="o", label="CPU - Numpy")
    print(np.polynomial.polynomial.polyfit(loopRange[1:], ts[1:], 1))

plt.title("Time to run 100 frames")
plt.ylabel("Time(s)")
plt.xlabel("Bead Number")
plt.grid()