SLS探测器(库+lima(CLI和tango-ds)+模拟器+GUI)
项目描述
sls detector
sls detector python库。它正在用于ALBA - BL04 MSPD光束线,以控制SLS Mythen II探测器。
它是作为长寿的C++ slsDetectorLibrary的后续者构建的。
它应该很容易支持SLS系列中的其他探测器。
库提供了对Mythen II探测器的完整远程控制、一个相当完整的模拟器以及一个Lima相机插件,具有tango设备类。还有一个实验性的Sardana 1D控制器,目前尚未使用(目前正在使用Sardana Lima 2D控制器)。
提供了一个简单的基于PyQt5和pyqtgraph的GUI。它仅用于测试目的。
安装
在您最喜欢的python环境中,在命令行中输入
$ pip install sls-detector
库
库可以与
from sls.client import Detector
from sls.protocol import RunStatus
mythen = Detector('bl04mythen')
print(mythen.energy_threshold)
assert mythen.run_status == RunStatus.IDLE
mythen.dynamic_range = 32
with mythen.acquisition(exposure_time=0.1, nb_frames=10) as acq:
for event_type, data in mythen.acquisition():
if event_type == 'frame':
print(data)
(更多示例在examples/目录中)
模拟器
在使用模拟器之前,请确保已安装所有依赖项
$ pip install sls-detector[simulator]
编写一个简单的TOML配置文件,描述您想要公开的探测器。示例
# mythen.toml
[bl04mythen1]
ctrl_port = 1952
stop_port = 1953
使用以下方式运行模拟器:
$ sls-simulator --log-level=DEBUG -c mythen.toml
INFO 2020-05-15 08:46:02,531 root: preparing to run...
INFO 2020-05-15 08:46:02,533 SLSServer.Detector(bl04mythen1): Ready to accept requests
现在您将能够以完全相同的方式访问模拟器,就像真实的探测器一样
from sls.client import Detector
mythen = Detector('localhost')
print(mythen.energy_threshold)
李玛
在使用李玛之前,请确保李玛已正确安装。
从命令行
$ sls-lima --host=bl04mythen -n 10 -e 0.25 -d /tmp/mythen --saving-format=EDF --saving-prefix=myth_
Last image Ready = 10/10
Took 2.5158393383026123s
作为库
from sls.client import Detector
from sls.lima.camera import get_ctrl
from Lima.Core import AcqRunning
ctrl = get_ctrl('bl04mythen') # a Lima.Core.CtControl
acq = ctrl.acquisition()
acq.setAcqExpoTime(0.1)
acq.setAcqNbFrames(10)
ctrl.prepareAcq()
ctrl.startAcq()
while ctrl.getStatus().AcquisitionStatus == AcqRunning:
print('Running... Waiting to finish!')
time.sleep(0.1)
print('Finished!')
作为李玛 tango 服务器
首先,注册一个李玛 mythen tango 服务器。
LimaCCDs 设备应将 LimaCameraType
属性设置为 MythenSLS
您可以使用 LimaCCDs 脚本或以下方式启动 Lima tango 设备服务器
$ sls-lima-tango-server <lima tango instance name>
GUI
提供了一个简单的 Qt GUI。到目前为止,它仅用于测试目的。
在启动之前,请确保它已正确安装,使用以下命令:
$ pip install sls-detector[gui]
使用以下命令启动它:
$ sls-gui --host=bl04mythen
这就全部了!
项目详情
sls-detector-1.0.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e0381606bb3b67e3605d0b3c6024f61230cce0cb941932c48c42da99fce1bfdc |
|
MD5 | b435b6aa2819a187363128f9cf71fa77 |
|
BLAKE2b-256 | f55cef7d46fc082283a32494d79fb2a5272b382b2e7ddca37f9d3606e1de1d2b |