コード例 #1
0
from threading import Thread

from pyqtgraph.Qt import QtGui

from logger import setup_global_logger
import ports
import command_line_parser
from visualizer import DataListener
from visualizer import Plotter


setup_global_logger(level=command_line_parser.get_log_level())

data_listener = DataListener(host=command_line_parser.get_host(), port=ports.result_stream)
data_listener_thread = Thread(target=data_listener.run)
data_listener_thread.daemon = True
plotter = Plotter(data_listener)

data_listener.clear.connect(plotter.clear)
data_listener.new_data.connect(plotter.update)
data_listener_thread.start()

## Start Qt event loop unless running in interactive mode or using pyside.
if __name__ == '__main__':
    import sys
    if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
        QtGui.QApplication.instance().exec_()
コード例 #2
0
import time
import argparse

from logger import setup_global_logger
import ports
from parameter_control_server import ParameterControlServer
from streamer import create_BraggEventGenerator
from streamer import start_streamer_daemon_threads


parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument("-i", "--instrument-definition", type=str,  default='data/POWDIFF_Definition.xml', help="Mantid instrument definition file.")
parser.add_argument("-u", "--unit-cell", type=str,  default='5.431 5.431 5.431', help="Mantid instrument definition file.")
parser.add_argument("-s", "--space-group", type=str,  default='F d -3 m', help="")
parser.add_argument("-a", "--atoms", type=str,  default='Si 0 0 0 1.0 0.01', help="")
parser.add_argument("-[", "--min-plane-distance", type=float,  default=0.5, help="")
parser.add_argument("-]", "--max-plane-distance", type=float,  default=4.0, help="")
parser.add_argument("-l", "--log", type=str,  default='info', help="Set the log level. Allowed values are 'critical', 'error', 'warning', 'info', and 'debug'.")

args = parser.parse_args()

setup_global_logger(level=args.log)

base_generator = create_BraggEventGenerator(args.instrument_definition, (args.unit_cell, args.space_group, args.atoms), args.min_plane_distance, args.max_plane_distance)
parameter_controller = ParameterControlServer(port=ports.streamer_control)

start_streamer_daemon_threads(base_generator, parameter_controller)

while threading.active_count() > 0:
    time.sleep(0.1)
コード例 #3
0
import threading
import time
import argparse
import numpy
from mpi4py import MPI


parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument("-l", "--log", type=str,  default='info', help="Set the log level. Allowed values are 'critical', 'error', 'warning', 'info', and 'debug'.")
args = parser.parse_args()

rank = MPI.COMM_WORLD.Get_rank()
event_queue_port = 11000 + rank

setup_global_logger(level=args.log, rank=rank)

event_queue_in = ZMQQueueClient(port=event_queue_port)
event_queue_in_thread = threading.Thread(target=event_queue_in.run)
event_queue_in_thread.start()


reducer = BackendMantidReducer(event_queue_in)
reducer_thread = threading.Thread(target=reducer.run)
reducer_thread.start()

if MPI.COMM_WORLD.Get_rank() == 0:
    reducer_controller = ParameterControlServer(controllees=[reducer], port=ports.rebin_control)
    reducer_controller_thread = threading.Thread(target=reducer_controller.run)
    reducer_controller_thread.start()