跳转到主要内容

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控制器)。

提供了一个简单的基于PyQt5pyqtgraph的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 (36.5 kB 查看哈希值)

由以下支持