66 lines
2.1 KiB
Python
66 lines
2.1 KiB
Python
import ch.psi.pshell.imaging.ImageBuffer as ImageBuffer
|
|
import java.math.BigInteger as BigInteger
|
|
import org.python.core.PyLong as PyLong
|
|
import json
|
|
|
|
if get_exec_pars().source == CommandSource.ui:
|
|
camera_name = "SLG-LCAM-C041"
|
|
else:
|
|
camera_name =args[0]
|
|
|
|
|
|
set_exec_pars(name="snapshot")
|
|
path = "/image"
|
|
snapshotFile = None
|
|
|
|
|
|
|
|
|
|
#cam_server.start(camera_name + "_sp", camera_name + "_sp1")
|
|
cam_server.start(camera_name + "_sp1", True)
|
|
cam_server.waitNext(10000)
|
|
|
|
stream_value = cam_server.stream.take()
|
|
|
|
save_dataset(path, cam_server.data.matrix)
|
|
for id in stream_value.identifiers:
|
|
val = stream_value.getValue(id)
|
|
if id == "image":
|
|
pass
|
|
elif id == "processing_parameters":
|
|
val = json.loads(val)
|
|
for key in val.keys():
|
|
set_attribute(path, key, "" if val[key] is None else val[key] )
|
|
elif isinstance(val, PyArray):
|
|
save_dataset("/"+id, val)
|
|
elif isinstance(val, PyLong):
|
|
save_dataset("/"+id, int(val))
|
|
else:
|
|
print id, val
|
|
set_attribute(path, id, val)
|
|
|
|
|
|
|
|
#writeFrameMetadata(path, id);
|
|
|
|
set_exec_pars(open = False)
|
|
#Enforce the same timestamp to data & image files.
|
|
snapshot_file = get_exec_pars().path+ ".png";
|
|
|
|
|
|
#ImageBuffer.saveImage(cam_server.output, snapshot_file, "png");
|
|
|
|
"""
|
|
StringBuilder message = new StringBuilder();
|
|
message.append("Camera: ").append(cameraName).append(" (").
|
|
append((server != null) ? "server" : "direct").append(")").append("\n");
|
|
message.append("Screen: ").append(String.valueOf(valueScreen.getLabel().getText())).append("\n");
|
|
message.append("Filter: ").append(String.valueOf(valueFilter.getLabel().getText())).append("\n");
|
|
message.append("Data file: ").append(getContext().getExecutionPars().getPath()).append("\n");
|
|
message.append("Comment: ").append(textComment.getText()).append("\n");
|
|
if ((fitOv != null) && (fitOv.length > 5)) {
|
|
Overlays.Text text = (Overlays.Text) fitOv[5];
|
|
message.append(text.getText()).append("\n");
|
|
}
|
|
elog((String) comboLogbook.getSelectedItem(), "ScreenPanel Snapshot", message.toString(), new String[]{snapshotFile});
|
|
""" |