0] * 0.02 #We only accept vertical lines where two edges of the laser line are close to each other good_points = float(numpy.sum(numpy.where(mask1, 1, 0))) if (good_points < 10): return good_indices = numpy.arange(maxes.shape[0])[mask1] good_range = good_indices[-1] - good_indices[0] fraction = good_points / float(good_range) #fraction of good points goldenratio = 1.618 frameno += 1 if fraction > 0.7: print fraction extract_data( numpy.arange(maxes.shape[0])[mask1], maxes[mask1, 1], camera) scipy.misc.imsave("/tmp/saved-%03d.png" % frameno, r) lab.figure(frameno, figsize=(5.0 * goldenratio, 5.0)) lab.plot(numpy.arange(0, maxes.shape[0])[mask1], maxes[mask1, 1], 'bo') lab.plot(numpy.arange(0, maxes.shape[0]), 20 * (1 - mask1), 'g+') #mask out the ranges where maximums are bad lab.ylabel("Position of maximum") lab.savefig("/tmp/saved-%03d-plt2.png" % frameno) mp = FFMpegReader() print sys.argv[1] mp.open(sys.argv[1]) tracks = mp.get_tracks() video_track = tracks[0] video_track.set_observer(observer) #cProfile.run('mp.run()') mp.run()