def viewer_main(modelfile=None, config='', zoom=False, server=False, response='pickle'): experiment = Experiment(zoom=zoom) if modelfile: experiment.execute('loadmodel %s' % modelfile) if not server: experiment.execute('loadconfig %s' % config) experiment.start() if server: receiver = Thread(target=receive, args=(experiment, response)) receiver.start() experiment.join()
Mbest += experiment.model.best_view(\ experiment.relevance_models[targetrm])[1] best = set(best).pop() if current != best: experiment.execute('select %s' % best) #experiment.altdisplays[0].camera_view(experiment.model[best]) try: experiment.execute('fov %s' % current) except: pass experiment.execute('fov %s' % best) if current_frames < opts.jitter: U += 1 current_frames = 0 M += score channel.sendall(best) if positions and not 'J%d' % (pnum + 1) in positions: break finally: try: print('A: %.4f, M: %.4f, U: %d' % ((opts.w * (M / Mbest)) / (float(U) / float(frames) + opts.w), (M / Mbest), U)) sys.stdout.flush() except ZeroDivisionError: pass if port: port.close() channel.close() sock.close() experiment.execute('exit') experiment.join()