- job = lambda x: [distance(lines, get_grid(a + X[x][y] * s * v1,
- b + Y[x][y] * s * v1,
- c, d, hough, size),
- size) for y in range(0,2 * k)]
-
- q_in = Queue.Queue()
- q_out = Queue.Queue()
- for i in range(4):
- t = Worker(q_in, q_out, job)
- t.daemon = True
- t.start()
-
- start = time.time()
- for x in range(0, 2*k):
- q_in.put(x)
-
- q_in.join()
-
- print time.time() - start
-
- while True:
- try:
- Z.append(q_out.get_nowait())
- except Queue.Empty:
- break
-
- Z.sort()
- Z = [t for (x, t) in Z]
-
- s_file = open('surface' + str(k), 'w')
- pickle.dump((X, Y, Z), s_file)
- s_file.close()
- plt.imshow(Z, cmap=cm.gnuplot2, interpolation='bicubic',
- origin='upper', extent=(-k, k, -k, k), aspect='equal')
- plt.colorbar()
-
- plt.show()
-
- sys.exit()
-
-def find(lines, size, l1, l2, bounds, hough, do_something):
+def job_br1(args):
+ X, Y, im_l, a, b, c, d, s, v1, v2, k, hough, size = args
+ return [(distance(im_l,
+ get_grid(a + X[y] * s * v1,
+ b + Y[y] * s * v1,
+ c, d, hough, size),
+ size), a + X[y] * s * v1, b + Y[y] * s * v1) for y in range(2 *k)]
+
+def job_br2(args):
+ X, Y, im_l, a, b, c, d, s, v1, v2, k, hough, size = args
+ return [(distance(im_l,
+ get_grid(a, b, c + X[y] * s * v2,
+ d + Y[y] * s * v2,
+ hough, size),
+ size), c + X[y] * s * v2, d + Y[y] * s * v2) for y in range(2 *k)]
+
+def find(lines, size, l1, l2, bounds, hough, do_something, im_h):