1.简介
为了满足高度自动化和可靠性操作的要求,需要一个用户友好且健壮的数据采集系统来集成束线硬件和生物大分子晶体学(MX)束线的底层软件。自2010年以来蓝冰系统(McPhillips等。, 2002)已应用于上海同步辐射装置(SSRF)束线。这个蓝冰该系统最初由斯坦福同步辐射光源开发。SSRF MX组已移植蓝冰并与Rigaku ACTOR样品转换器集成,用于安装/拆卸样品、远程访问和自动晶体筛选。近年来,随着Pilatus和Eiger等混合像素阵列探测器的普及,所收集的衍射数据量急剧增加。为了克服这一挑战,一个自动数据处理和实验信息系统,可以与蓝冰开发并部署在SSRF MX波束线上(Yu等。, 2019). 然而,SSRF加速器和光学设备以及我们新自制的衍射仪和样品变换器都使用实验物理与工业控制系统(EPICS系统). 因此,维护和开发蓝冰需要做很多额外的工作。
除此之外蓝冰在过去20年中,开发了多种数据采集软件和图形用户界面(GUI),包括BSS系统(上野等。, 2005),CBASS公司(斯金纳等。, 2006),星星(山田等。, 2008),Mx铜BE2(加巴丁霍等。, 2010),JBluIce-EPICS公司(希尔加特·斯特帕诺夫等。, 2011; 马卡洛夫·斯特帕诺夫等。, 2011; 斯捷潘诺夫等。, 2013),GDA公司(https://github.com/opengda/gda-diamond)和达+(沃伊迪拉等。, 2018). 近年来,为了应用更安全、响应更快的远程访问模式,已经成功开发并部署了几个基于网络的数据收集系统,用于许多MX波束线或其他波束线,例如WIFIP公司(Sallaz-Damaz&Ferrer,2017年),亚布克斯(澳大利亚同步加速器),MXCuBE3型(米勒等。, 2017)和得其利(费希尔等。, 2021). 受这些进展的启发,并进一步考虑到我们的实验信息系统也使用web界面,开发一个具有web界面的数据采集系统可以更深入地集成两个系统,并通过共享部分源代码(例如原始图像查看器和数据库操作)来减少工作量。考虑到这些因素,我们开发了Finback公司–一个新的MX数据采集系统,实现了一组预期用于自动MX波束线的功能,并包括用于交互式数据采集的用户友好的基于web的GUI。Finback公司现已部署在SSRF BL02U1和BL10U2,自2021年6月起可供用户使用。
2.梁线端站配置
SSRF BL02U1和BL10U2都配备了一台国产衍射仪和一台名为Swordfish的国产换样器。面积探测器分别为Eiger2 S 9M(BL02U1)和Eiger X 16M(BL10U2)。数据存储服务器和计算集群由SSRF Phase II computing Center提供,包括用于所有SSRF波束线的约6.9 PB存储空间和48个计算节点(每个节点具有两个Intel Xeon Gold 6140 CPU和128 GB内存)。光束线和数据存储服务器通过40Gbit网络、数据存储服务器和计算节点通过Infiniband网络连接。对于在线数据处理,部署了一个名为Seal的自动数据处理后端,该后端提供了一个称为SealWeb的基于web的交互界面,用于检查处理结果(Yu等。, 2019). 部署在每条光束线上的额外CPU节点和GPU节点专门用于处理网格扫描X射线衍射图像和基于Mask RCNN的人工智能晶体定中心(He等。, 2017)分别是。得益于Eiger探测器的流数据,网格扫描图像在数据采集过程中同时进行处理,因此可以在扫描时显示实时网格扫描分析结果。
3.软件基础设施
这个Finback公司数据采集系统包括前端和后端,以及传输层安全(TLS)上的Redis消息代理和一系列用于光束线设置、现场实时原始图像监控、,等(图1).
| 图1 软件基础设施Finback公司. TheFinback公司组件显示在阴影框中。之间的通信协议Finback公司组件、硬件、LDAP、用户数据数据库和自动处理后端由不同的彩色线条表示。 |
前端是用于用户操作的基于web的交互式界面。逻辑代码是基于角度框架和GUI是基于Fomantic-UI公司框架。角度也是SealWeb中使用的,是一个流行的前端框架,支持数据驱动的前端接口动态呈现,无需刷新页面。Fomantic用户界面是一个响应性web设计框架,支持根据实际显示的页面大小动态调整页面布局。为了减少维护困难,前端的源代码在两条波束线上完全相同。某些波束线特定功能可以通过波束线参数配置启用或禁用。
由于所有设备都使用EPICS系统,除了由RESTful API控制的Eiger检测器外,我们选择EPICS系统用于硬件驱动程序。因此,不需要原始DHS驱动程序。这个EPICS系统系统支持对过程变量(PV)值进行异步监视,一旦更改值,就可以执行回调。使用此机制,可以监视一系列特定的PV,并实时将充电值传输给客户端。然而,Http协议是一种半双工协议,无法支持前端和后端之间的实时双向通信。得益于HTML5,WebSocket协议被引入了现代浏览器。因此,浏览器可以使用套接字实现前端和后端之间的实时双向通信。在Finback公司,WebSocket通信和消息解析作为单独的WebWorker线程运行。的延迟Finback公司该系统类似于其他MX数据采集系统,例如蓝冰实际上,一天最多可以测量600多个晶体。
后端由web服务器、EPICS系统服务器、操作服务器和原始图像服务器。web服务器使用编写节点.js,通过轻量级目录访问协议(LDAP)提供登录授权,并为示例信息和数据处理结果提供数据库操作。其他服务器使用Python编写,实现硬件状态、原始衍射图像和用户操作的实时传输。
在Finback公司客户端GUI,支持WebSocket上的四种不同类型的命令:
(1)EPICS系统命令。的WebSocket上的远程过程调用(RPC)笼子和帽子在中部分实现EPICS系统服务器。EPICS系统命令主要用于设置光束线参数和控制简单的硬件,例如手动切换衍射仪快门。
(2) 设备命令。在操作服务器中实现,包含复杂的硬件移动。
(3) 操作命令。最常用的,如自动居中和数据采集。运行操作命令时Finback公司客户端GUI被锁定,除了中止命令外,将不会执行其他命令。
(4) 中止命令。根据需要终止操作命令。
在Finback公司GUI中有五个操作选项卡,分别是“收集”、“原始图像”、“协议”、“工具”和“管理”。其中,“采集”选项卡用于样本交换和数据采集,“原始图像”选项卡用于原始图像检查,“协议”选项卡用于导入样本信息,“工具”和“管理”选项卡主要由光束线工作人员使用。
3.2. 原始图像选项卡
Finback公司还支持在浏览器中为现场和远程用户显示原始衍射图像(图5). 受网络带宽和附加数据传输的限制,web原始图像查看器只能以低帧速率显示图像,并且仅适用于检查测试图像–它不适合监视数据采集过程。根据用户的网络地址是否在SSRF防火墙之外Finback公司后端将原始图像转换为zstd压缩格式(https://github.com/facebook/zstd)或未压缩格式,然后通过WebSocket传输协议发送这些二进制数据。对于Eiger X 16M,压缩格式的大小约为14MB,未压缩格式的约为70MB;对于Eiger2S9M,压缩格式约为9MB,解压缩格式约为35MB。在Finback公司客户端,我们还使用PIXI.js公司用于渲染原始图像。在渲染之前,必须解压缩原始线性化数据(如果需要),将其重新调整为位图,并执行颜色转换,包括亮度间隙、溢出像素和坏像素的调整和颜色标记。初始颜色转换代码是用JavaScript编写的,但只有在具有高性能实时(JIT)编译器的浏览器中才能提供可接受的性能(例如谷歌浏览器)。为了与更多浏览器兼容并获得更高的性能,我们使用C语言中的WebAssembly技术重新编写了颜色转换代码,因此现在可以更改原始图像查看器亮度并在各种现代浏览器上平滑地渲染原始图像。对于现场用户,我们还提供了一个名为albula助手。它接收来自Finback公司通过ZeroRPC后端,然后操作的Python API阿尔伯拉实时显示原始图像。
| 图5 的原始图像查看器Finback公司图形用户界面。收集测试图像或数据集后,测试图像或该数据集的第一帧将自动显示在原始图像查看器中。对于远程访问,如果带宽太低,用户可以选择JPEG格式而不是原始衍射图像。此外,用户主目录中的任何图像文件都可以打开。用户可以放大或缩小图像并调整亮度。左上角的图像是缩小后原始图像的局部区域。当以最大放大倍数缩小原始图像时,将显示每个像素的强度。 |
3.3. 多个并发会话
这个Finback公司系统支持同时运行多个客户端,因此多个授权用户可以运行Finback公司不同位置的GUI。但只有一个可以操作Finback公司,称为主动客户端,其他客户端称为被动客户端。任何用户都可以在没有活动用户同意的情况下从当前活动用户处获取控制权限。Beamline员工可以终止远程用户授权并将其注销,但员工无权获得其他用户的控制权限。此设计概念继承自蓝冰并且对于远程访问非常有效。要实现此功能,必须在每个客户端之间同步实时硬件状态信息,以及用户操作信息,包括数据采集参数、网格扫描设置、采集进度等。在Finback公司得益于以样本为中心的操作模型和JavaScript对象表示法(JSON)数据交换格式,活动客户端字符串并发送样品对象发送到所有登录的被动客户端,被动客户端接收文本信息并将其解析到样品对象。活动客户端同时也向Redis数据库发送一个副本。这个Finback公司客户端每次启动时都会从Redis数据库加载此副本,因此可以为新登录的用户或在浏览器刷新后显示最新的操作信息。
3.4.Finback公司配置参数
为了与不同的光束线兼容,MX数据采集系统需要设置许多配置参数,例如光束中心、曝光时间限制、样本变换器安装位置等。通常这些配置参数保存在程序每次启动时读取的文件或数据库中。但如果修改了配置参数,则需要重新启动程序才能使其生效。Finback公司是一个专门的晶体学系统,其中的程序是建立良好的。同时,在后端,不需要Finback公司与除EPICS系统因此,直接使用是可行的EPICS系统实现的参数设置Finback公司。中有大约200个配置参数(不包括硬件参数)Finback公司,每个配置参数对应一个PV。其中一些参数可能会不规则地改变,例如光束中心、样本变换器安装位置、,等。对于这些参数自动保存的模块EPICS系统用于执行定期备份和恢复。使用回调机制EPICS系统的前端和后端都可以知道参数的变化Finback公司因此,在参数生效之前,不需要重新启动。
4.总结
我们最近在SSRF开发了一个MX实验环境,包括衍射仪、样品转换器、数据采集系统、自动数据处理管道和实验信息管理系统。作为该系统的一部分,Finback公司是用于MX数据采集的成熟且易于使用的软件系统。它继承了蓝冰这些年来已经被证明非常有效,例如服务器/客户端体系结构和远程访问的主动/被动机制。在Finback公司,硬件控制统一到EPICS系统更加精简,减少了维护工作。通过与国产衍射仪和样品转换器集成,可以轻松实现一些定制功能。通过与自动数据处理和实验信息管理系统集成,用户可以跟踪样本,从数据采集到数据处理,最后到检查和下载自动数据处理结果。这个Finback公司源代码可以通过电子邮件从相应作者处获得。
致谢
我们要感谢SSRF高分子晶体学用户社区在调试方面的帮助、建设性的反馈以及对我们软件开发的持续支持。
资金筹措信息
确认以下资助:国家重点研发计划(批准号:2021YFC2301405);国家自然科学基金(31971121)。
工具书类
Fisher,S.、Oscarsson,M.、De Nolf,W.、Cotte,M.和Meyer,J.(2021)。J.同步辐射。 28, 1996–2002. 科学网 交叉参考 IUCr日志 谷歌学者
Gabadinho,J.,Beteva,A.,Guijarro,M.,Rey-Bakaikoa,V.,Spruce,D.,Bowler,M.W.,Brockhauser,S.,Flot,D.,Gordon,E.J.,Hall,D.R.,Lavault,B.,McCarthy,A.A.,McCarth,J.、Mitchell,E.,Monaco,S.、Mueller-Dieckmann,C.,Nurizzo,D.,Ravelli,R.B.G.,Thibault,X.,Walsh,M.A.,Leonard,G.A.&McSweeney,S.M.(2010)。J.同步辐射。 17, 700–707. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
He,K.M.、Gkioxari,G.、Dollar,P.和Girshick,R.(2017)。2017 IEEE计算机视觉国际会议(ICCV)会议记录2017年10月22日至29日,意大利威尼斯,第2980-2988页谷歌学者
McPhillips,T.M.、McPhillip,S.E.、Chiu,H.-J.、Cohen,A.E.、Deacon,A.M.、Ellis,P.J.、Garman,E.、Gonzalez,A.、Sauter,N.K.、Phizackerley,R.P.、Soltis,S.M.和Kuhn,P.(2002)。J.同步辐射。 9, 401–406. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
Mueller,U.、Thunnssen,M.、Nan,J.、Eguiraun,M.,Bolmsten,F.、Milán-Otero,A.、Guijarro,M.和Oscarsson,M.以及de Sanctis,D.和Leonard,G.(2017年)。同步辐射。新闻,30(1), 22–27. 交叉参考 谷歌学者
Sallaz-Damaz,Y.&Ferrer,J.-L.(2017)。J.同步辐射。 24, 1105–1111. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
斯金纳,J.M.、考恩,M.、布奥诺,R.、诺兰,W.、博沙德,H.、罗宾逊,H.H.、赫鲁克斯,A.、苏亚雷斯,A.S.、施耐德,D.K.和斯威特,R.M.(2006)。《水晶学报》。D类62, 1340–1347. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
Stepanov,S.、Hilgart,M.、Makarov,O.、Pothineni,S.B.、Yoder,D.、Becker,M.,Ogata,C.、Sanishvili,R.、Venugopalan,N.、Smith,J.L.和Fischetti,R.F.(2011)。《水晶学报》。一67,C277科学网 交叉参考 IUCr日志 谷歌学者
Stepanov,S.、Hilgart,M.、Makarov,O.、Pothineni,S.B.、Yoder,D.、Ogata,C.、Sanishvili,R.、Venugopalan,N.、Becker,M.,Clift,M.和Smith,J.L.&Fischetti,R.F.(2013)。《物理学杂志》。Conf.序列号。 425, 012019. 交叉参考 谷歌学者
Stepanov,S.、Makarov,O.、Hilgart,M.、Pothineni,S.B.、Urakhchin,A.、Devarapalli,S.,Yoder,D.、Becker,M.,Ogata,C.、Sanishvili,R.、Venugopalan,N.、Smith,J.L.和Fischetti,R.F.(2011)。《水晶学报》。D类67, 176–188. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
上野,G.,神田,H.,熊坂,T.和山本,M.(2005)。J.同步辐射。 12, 380–384. 科学网 交叉参考 IUCr日志 谷歌学者
Winter,G.、Waterman,D.G.、Parkhurst,J.M.、Brewster,A.S.、Gildea,R.J.、Gerstel,M.、Fuentes-Montero,L.、Vollmar,M.,Michels-Clark,T.、Young,I.D.、Sauter,N.K.和Evans,G.(2018年)。《水晶学报》。D类74, 85–97. 科学网 交叉参考 IUCr日志 谷歌学者
Wojdyla,J.A.,Kaminski,J.W.,Panepucci,E.,Ebner,S.,Wang,X.,Gabadinho,J.&Wang,M.(2018年)。J.同步辐射。 25, 293–303. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
Yamada,Y.、pHonda,N.、Matsugaki,N.,Igarashi,N..、Hiraki,M.和Wakatsuki,S.(2008)。J.同步辐射。 15, 296–299. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
Yu,F.,Wang,Q.,Li,M.,Zhou,H.,Liu,K.,Zhang,K.、Wang,Z.,Xu,Q.、Xu,C.、Pan,Q.和He,J.(2019)。J.应用。克里斯特。 52, 472–477. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
| 的日志 同步加速器 辐射 |
国际标准编号:1600-5775
打开访问