import ch.psi.pshell.imaging.ImageBuffer as ImageBuffer import java.math.BigInteger as BigInteger import org.python.core.PyLong as PyLong import org.python.core.PyFloat as PyFloat import json import traceback import datetime if get_exec_pars().source == CommandSource.ui: camera_name = "SARBD02-DSCR050" # "SLG-LCAM-C041_sp" shared = True images = 1 interval = -1 roi = "" #"[540, 200, 430,100]" else: camera_name = args[0] shared = args[1].lower() == "true" images = int(args[2]) interval = int(args[3]) roi = args[4] run("Tools/CameraTools") set_exec_pars(name="camera_snapshot") cam_server.start(camera_name + "_sp1" if shared else camera_name, shared) if roi is not None and len(roi.strip())>0: roi = json.loads(roi) cam_server.setRoi(roi[0], roi[2], roi[1], roi[3]) while True: cam_server.waitNext(10000) r = json.loads(cam_server.stream.take()["processing_parameters"]) if roi == r["image_region_of_interest"]: break; else: cam_server.waitNext(10000) save_camera_data(cam_server, camera_name, shared, images, interval, parallel=True, pause=True) cam_server.stop() data_file = get_exec_pars().path set_return(data_file)