preview.py: Fix from DECTRIS to improve stability of preview
This commit is contained in:
@@ -4,6 +4,7 @@ import numpy
|
||||
import sys
|
||||
import signal
|
||||
import base64
|
||||
import time
|
||||
|
||||
sys.path.insert(0, "/opt/dectris/albula/4.1/bin")
|
||||
sys.path.insert(0, "/opt/dectris/albula/4.1/python")
|
||||
@@ -11,7 +12,6 @@ sys.path.insert(0, "/opt/dectris/albula/4.1/python")
|
||||
import dectris.albula as albula
|
||||
from dectris.albula import DNoObject, DDrawingEllipse, DDrawingString, DDrawingLine
|
||||
|
||||
|
||||
TERMINATE = False
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ signal.signal(signal.SIGINT, signal_handler)
|
||||
|
||||
context = zmq.Context()
|
||||
socket = context.socket(zmq.SUB)
|
||||
socket.RCVTIMEO = 1000 # in milliseconds
|
||||
socket.RCVTIMEO = 1000 # in milliseconds
|
||||
socket.connect("tcp://xbl-daq-38:5400")
|
||||
socket.setsockopt(zmq.SUBSCRIBE, b"")
|
||||
|
||||
@@ -35,11 +35,15 @@ OPTIONAL_DATA.set_y_pixel_size(0.000075)
|
||||
|
||||
albulaMain = albula.openMainFrame()
|
||||
albulaSubFrame = albulaMain.openSubFrame()
|
||||
startTime = time.time()
|
||||
|
||||
|
||||
def read_message():
|
||||
while not TERMINATE:
|
||||
try:
|
||||
msg = socket.recv_json()
|
||||
if round(time.time() - startTime) >= 60 * 60:
|
||||
albulaSubFrame.close()
|
||||
albulaSubFrame = albulaMain.openSubFrame()
|
||||
startTime = time.time()
|
||||
OPTIONAL_DATA.set_wavelength(msg["wavelength_A"])
|
||||
OPTIONAL_DATA.set_beam_center_x(msg["beam_x_pxl"])
|
||||
OPTIONAL_DATA.set_beam_center_y(msg["beam_y_pxl"])
|
||||
@@ -53,7 +57,7 @@ def read_message():
|
||||
width = int(msg["width"])
|
||||
image_number = int(msg["image_number"])
|
||||
image_array = numpy.reshape(image_array, (height, width))
|
||||
print("Received image %d %d %d %d"%(image_number, height, width, len(image_array)))
|
||||
print("Received image %d %d %d %d" % (image_number, height, width, len(image_array)))
|
||||
dimage = albula.DImage(image_array)
|
||||
if image_number >= 0:
|
||||
dimage.setOptionalData(OPTIONAL_DATA)
|
||||
@@ -63,6 +67,3 @@ def read_message():
|
||||
OPTIONAL_DATA.set_pixel_mask(dimage)
|
||||
except:
|
||||
pass
|
||||
|
||||
while not TERMINATE:
|
||||
read_message()
|
||||
|
||||
Reference in New Issue
Block a user