Files
sf-op/script/Tools/save_camera_data.py
2017-11-15 14:02:54 +01:00

45 lines
1.2 KiB
Python

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)