没有合适的资源?快使用搜索试试~ 我知道了~
软件影响10(2021)100172原始软件出版物sxdm-用于扫描X射线衍射显微镜数据作者:WilliamJudgea,MichaelPlewsa,BrianMaya,MartinV. 霍尔特b,乔迪卡巴纳aa美利坚合众国伊利诺伊大学化学系,芝加哥,伊利诺伊州60607bAdvanced Photon Source,Argonne National Laboratory,Argonne,IL,60439,United States of AmericaA R T I C L E I N F O保留字:PythonX射线SXDM框架GUIA B标准扫描X射线衍射显微镜(SXDM)技术由于其在纳米尺度上空间分辨材料/化学应变的能力而引起了人们的极大兴趣。随着采用这种技术的仪器推动了研究的前沿,传统硬件处理大量数据的能力变得越来越困难。传统上,分析协议留给个人开发,导致效率低下和分析计算时间长。python模块sxdm的开发是为了通过标准化数据结构、在图形用户界面中显示实验分析指标以及提供资源高效的分析协议来降低效率。代码元数据当前代码版本v1.0.0用于此代码版本的代码/存储库的永久链接https://github.com/SoftwareImpacts/SIMPAC-2021-152可复制胶囊GNU通用公共许可证第3使用git的代码版本控制系统使用Python的软件代码语言、工具和服务编译要求,可通过PyPi(pip)安装的操作环境依赖如果可用,链接到开发人员文档/手册https://sxdm.readthedocs.io/en/latest/问题支持电子邮件wjudge2@uic.edu1. 介绍科学技术的不断发展创造了一个世界,允许单个用户创建比个人单独处理更多的原始数据。这种数据生成的巨大流量需要创新技术来在合理的时间范围内进行分析,可以通过三种方式之一进行分析。第一种方法是为普通用户使用预先构建的计算集群。阿贡国家实验室和布鲁克海文国家实验室有几个资源(Theta、Cooley、Aurora和BlueGene系列)专门用于用户提交的提案。第二项技术改进是通过所用硅片的逐步升级∗通讯作者。在中央处理器(CPU)或随机存取存储器(RAM)模块中,随着曾经的企业级设备的价格和可用性的降低,可以以相对较少的成本实现计算上昂贵的数据分析。 第三个改进途径是优化用于低成本计算系统的数据分析的开源软件。这为拥有计算机的普通个人带来了更深层次的大数据吞吐量民主化。通常,这三种改进数据分析的途径是相互关联的。一个国家的进步可能会推动另一个国家的进步。这并不是三者之间有意的竞争,而不是为了逐代改进数据状态而进行的合作电子邮件地址:wjudge2@uic.edu(W.法官),plews2@uic.edu(M。 Plews),bmmay@engsys.com(B. 5月),mvholt@anl.gov(M.V.霍尔特),jcabana@uic.edu(J.Cabana)。https://doi.org/10.1016/j.simpa.2021.100172接收日期:2021年10月29日;接收日期:2021年11月8日;接受日期:2021年11月10日2665-9638/©2021作者。由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表软件影响杂志 首页:www.journals.elsevier.com/software-impactsW. 法官先生普罗斯湾May等人软件影响10(2021)1001722分析.因此,当构建新开发的数据处理和分析模块时,通过专注于将数据处理方法优化为更具可扩展性的解决方案,即使有新的数据涌入,也可以继续使用通用计算资源,这是理想的。材料科学已经出现了大量可扩展的开源软件包,这些软件包为一般科学界带来了复杂的数据分析例程和模拟。一些例子可以通过PyNx [1],AtomSK [2]和RMCProfile [3]找到。凭借其易用性和低计算成本,这些工具为材料科学研究的可访问性铺平了道路一种不太成熟的技术用于这样的领域,可以受益于易于使用,可扩展的数据分析工具是扫描衍射X射线显微镜(SXDM)。本文提出的代码旨在为实现这一结果做出贡献。2. 扫描X射线衍射显微镜扫描X射线衍射显微镜(SXDM)的核心概念是将给定波长的X射线束在材料上进行光栅扫描,以空间解析布拉格衍射信号[4,5]。基本上,这种技术不需要高通量X射线源或二维探测器。然而,为了推动SXDM获得纳米分辨率以及精确的二维衍射图案,需要高通量X射线源纳米扫描X射线衍射显微镜(nSXDM)可以在多个位置进行,最值得注意的是在先进光子源(光束线26-ID-C)和国家同步加速器光源II(光束线3-ID)进行。这些光束线包含能够以30 nm或更高的空间分辨率实施nSXDM的独特仪器[4]。由May等人[6]详细描述,一般SXDM实验由入射X射线和满足其各自布拉格条件的分级样品之间的相互作用启动。实现X射线聚焦,对于给定的样品θ,相对于光束扫描样品(在X-Y方向),并且对于随后的样品旋转角度重复该过程。由于检测器尺寸对晶畴(ε)或晶相(2ε)敏感,因此可以分别为感兴趣的样品创建畴未对准和化学图。用于分析2个双标测位置与双标测位置的标准工作流程为如下所示:获得原始数据并理解数据结构,开发用于背景减除的工具,对齐随后的样本旋转,去除像素异常,将分析函数应用于预处理的映射位置,可视化分析输出,所有这些都以时间有效的方式进行。单独来看,这些处理步骤中的大多数听起来都很琐碎。但是,由于缺乏这些类型的进程的代码存储库和来自SXDM实验的大数据文件大小,很难实现资源高效的软件包。以前经过基准测试的代码可以在单线程进程上运行,在12个小时内完成,偶尔会由于RAM溢出而崩溃。尽管该软件包是为高级光子源的Sector 26-ID-C开发的,但拟议软件包的目标是为研究人员提供一个标准的SXDM数据分析平台,该平台是开源的,多线程的,资源高效的,并且可以根据科学家的特定需求量身定制。实现这些目标将使研究人员能够更多地关注结果的解释,而不是在资源有限的硬件上对这些类型的数据集建议的sxdm模块是用Python编写的,对象-面向编程语言的部门26-ID-C在先进的光子源。之所以在众多可供选择的语言中选择这种语言,是因为它结合了非常令人满意的特性:它是开源的,学习曲线非常浅,致力于数据科学的大型社区基础设施。公共可用的模块,如SciPy [7],Numpy [8]和PyQt5 [9],对于创建快速,轻量级,自包含的模块至关重要,包含易于使用的图形用户界面(GUI)。尽管我们在本文中详细介绍了数据分析,但在sxdm文档页面上可以找到对预处理步骤的更详细的解释,例如数据导入h5,元数据存储,扫描尺寸检查,对齐,确定角度边界和后台数据创建。3. 分析3.1. 热像素在SXDM实验期间,CCD检测器偶尔会记录具有异常大强度像素的像素或包含连续记录相同值的缺陷像素。sxdm模块允许用户以两种不同的方式处理这些“热像素”。 首先,名为SciPy [7](科学Python)的Python模块包含中值滤波器函数,其然后应用于2D CCD检测器图像的1-D阵列求和列值或所有行值。 尽管速度很快,但SciPy的中值滤波器的代价是模糊了整个数据集。还提供了一个选择性的中值模糊功能,用于维护数据的完整性。如果搜索空间中的当前像素是远离平均值的设定值,则用平均值替换该值。这种热像素去除方法比SciPy过滤器慢,但保留了大部分原始CCD检测器值。3.2. 质心分析sxdm模块中用于数据分析的主要工具旨在分析CCD检测器采样的衍射图案的质心位置。信号在探测器的纵轴和纵轴上的质心与机械应变、微观结构或化学状态的存在直接相关,这取决于材料。图1显示了质心分析的基础。第一步涉及获取单个像素的求和衍射数据,减去相应的背景数据,并通过选择性(图1B)或SciPy中值滤波器(图1C)去除热像素。该计划允许选择性地裁剪感兴趣的数据(图1B2/C2中的橙色线), 得到信号质心值的更精确表示。然后将该质心位置转换为图像阵列上的映射位置,图1B。 1个D. 所有数据都通过多线程编程,允许一个完整的1000点扫描,以完成在1020秒,所有的同时使用8 GB的RAM。3.3. 感兴趣区域分析SXDM模块提供的第二个数据分析工具最初是为了帮助用户分析一个并发实验的扫描角度进度而构建的。类似于图1所示的数据分析方案。对于每个标测位置的感兴趣区域(ROI)计算,实施了1。唯一的区别是,ROI标测协议不是计算信号的质心,而是取以下值的和:信号φ一旦用户重新定义衍射图像内的多个ROI(在实验运行期间存储的那些ROI之外),这些ROI协议用于视觉检查来自当前视场(FOV)的衍射信号的分布。的实例使用情况这可以在图中看到。二、用户无需太多努力就可以在衍射样品摇摆曲线中识别出足够多的点,从而获得合理的分析结果。在这种情况下,用户能够识别最大强度的条件(即,在布拉格条件下),并且不需要采取任何更多的点来提供有意义的分析到系统采样。图图2示出了针对FOV的不同扫描所采取的示例样本摇摆曲线。可以看出,对于给定的晶体,围绕单个布拉格峰摇摆通过各种角度是至关重要的。大多数实验依赖于猜测来估计实验何时完成。W. 法官先生普罗斯湾May等人软件影响10(2021)1001723Fig. 1. 处理方案中的数据以进行质心分析所遵循的步骤。首先,对原始光谱图像(A)进行选择性中值模糊(B1)或SciPy中值模糊模糊(C1)。然后,使用信号标识符从背景中分割出信号(B2,C2 -橙色线)。质心由黑线确定,然后放置转换成二维数组进行可视化(D)。A、B和C中的图对应于D部分中所示的红框图二. 在典型的SXDM实验中,总衍射强度与扫描次数的关系图。扫描θ增量数为d。该图显示用户已达到衍射强度峰值,可以提前停止实验,而无需更多的样本角度迭代。达到顶点。该程序考虑整个FOV或一个截面并创建这些强度与有序角度的摇摆曲线,以确定实验是否可以结束或哪些角度 缺少数据。一旦实验完成,ROI功能不仅可以用于分割当前FOV中的多个粒子,还可以通过绘制单个粒子的化学状态差异来帮助定义应变/化学相。用户可以为给定的求和衍射图案FOV定义多个ROI。这些ROI可以对应于FOV中的不同化学状态、粒子应变区域或多个粒子。在图3中可以看到边界框GUI的示例,这使得为求和衍射图案选择这些ROI是直观的。对于每个标测位置,用户定义的所有ROI都是并行计算的,通过多线程为用户完成子过程仅需30秒。然后可以调用诸如此处的内置函数,以返回导入DataFrame的每个选定ROI的总强度分布的4维图:(用户创建的ROI、真实空间X、真实空间Y、ROI强度)。3.4. 一般分析尽管这些分析包很有帮助,但用户可以编写自己的函数来执行定制的分析,图三. 感兴趣区域图形用户界面(GUI)。该GUI允许用户定义他们自己的衍射边界框,该衍射边界框将用于为所选衍射区域生成单独的感兴趣区域图它们的衍射图案。所提供的通用用户分析套件允许用户进行背景减除、多线程处理或对应用于单个像素的自定义函数进行数据处理在DataFrame中在Fig.中找到的代码4简要地详细介绍了12 行代码如何实现对SXDMFrameSet中提供的所有数据的快速加法和减法分析。这消除了用户开发资源高效代码来实现数据分析中使用的背景减除、扫描对齐和多处理功能的需要(2000行代码)。在普通笔记本电脑上,将整个100gb的数据集加载到内存中是不可行的。sxdm提供的一般用户分析允许用户对100 GB的数据执行复杂的操作,所有这些操作都来自他们的笔记本电脑,内存只有8-16 GB。这为普通用户带来了数据分析,而不需要昂贵的高性能计算单元。4. 观看该模块随附查看器包,允许用户可视化质心数据和单个ROI数据-降低扫描X射线衍射显微镜高级数据分析的知识障碍,并使该技术可供更多科学家使用。用户的图形用户界面(GUI)如图所示。五、 使用PyQT5python包构建的GUI速度快,响应快,并根据用户的本地操作系统更新其外观。从该GUI,可以查看单个元素的X射线荧光图、单独的衍射图案、合计的衍射图案,W. 法官先生普罗斯湾May等人软件影响10(2021)1001724图四、一个基本的 通用用户函数教程,用于对 给 定 映 射 位 置 的 收 集 衍 射 图 案 应用用户生成的 数学运算。图五. 质心查看器图形用户界面(GUI)。该GUI允许用户轻松浏览给定标测位置(荧光信号)的所有求和衍射图案(斑点衍射)。用户还可以查看图中线图所示的2和2轴的质心计算感兴趣区域图,以及两个衍射轴域的质心分析。用户不仅可以交互式地在视场中移动光标,还可以更改质心分析参数,并使用这些新参数从一个位置重新处理数据。5. 结论sxdm python模块在扫描X射线衍射显微镜数据分析中提供了有价值的影响。它通过提供实验摇摆曲线的快速分析简化了实验运行时间,并允许用户专注于开发数据分析功能,担心数据预处理或多线程的资源管理。这些改进将数据分析运行时间从数小时减少到数秒,同时资源需求从64 GB以上下降到8 GB。sxdm模块还提供了一种用户直观的方式来交互/分析映射衍射数据的质心;因此,通过标准化分析协议减少了数据分析中的时间/知识/不一致性。 该软件的当前应用已用于确定纳米级锂离子电池材料的晶体应变。虽然这项工作还在进行中,但sxdm的首次应用已经在材料科学领域显示出了很好的实用性。然而,确实存在一些限制。首先,如果用户不熟悉传入的W. 法官先生普罗斯湾May等人软件影响10(2021)1001725文件结构。第二,需要复制输入的数据。最后,这个软件包只在Ubuntu/MacOS环境下开发。未来的发展可能包括允许用户友好地创建数据导入器功能,从当前实验文件中流式传输数据而不复制数据,以及在更多计算环境(如Windows或无头服务器)上测试软件。CRediT作者贡献声明William Judge:概念化,方法论,软件,验证,写作-原始草稿,数据策展,写作编辑。Michael Plews:方法论。Brian May:数据管理,方法论,验证。马丁·霍尔特:监督。乔迪卡巴纳:写作竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作确认本材料基于美国国家科学基金会(批准号:CBET 2022723)支持的工作。在美国能源部科学用户设施办公室的纳米材料和先进光子源中心进行的工作DE-AC02-06CH11357。引用[1]诉Favre-Nicolin,J.Coraux,M.- I. 理查德H. 勒纳维尔,快速计算- 使用图形处理单元的纳米结构的散射图的作用,J.Appl. Crystallogr. 44(3)(2011)635http://dx.doi.org/10.1107/[2]P. Hirel,Atomsk:一个用于操作和转换原子数据文件的工具,Comput。物理通信197(2015)212 http://dx.doi.org/10.1016/j.cpc。2015.07.012。[3]M.G. Tucker,D.A. Keen,M.T.作者声明:A. Hui,RMCProfile:多晶材料的反向 蒙 特 卡 罗 模 拟 ,J。物理: 康 登 斯 Matter 19 (33) ( 2007) 335218,http://dx.doi.org/10.1088/0953-8984/19/33/335218。[4]R.P. Winarski,M.V. Holt,V. Rose,P. Fuesz,D.卡博角Benson,D. Shu,D.Kline,G.布莱恩·斯蒂芬森岛陈文辉,一种用于纳米尺度显微镜的硬X射线纳米探针束线,同步辐射。19(6)(2012)1056http://dx.doi.org/10.1107/S0909049512036783[5]P. Thibault,M. Dierolf,A. Menzel,O.邦克角戴维,F. Pfeiffer,High-resolutionscanning x-ray diffractionmicroscopy , Science 321 ( 5887 ) ( 2008 ) 379http://dx.doi.org/10.1126/science.1158573http://science.sciencemag.org/content/321/5887/379.full.pdf,http://science.sciencemag.org/content/321/5887/379。[6]B.M. May,Y. S. 霍尔特·于足球俱乐部 斯特罗布里奇大学 博森伯格,C.P.格雷,J. Cabana, 平 衡LixFePO4微 晶中 中 间 体固 溶 体的 纳 米级 检 测 ,Nano Lett. 17(12)(2017)7364http://dx.doi.org/[7]P. 维尔塔嫩河Gommers,T. E.Oliphant,M.Haberland,T.Reddy,D.库纳波,E. Burovski,P. Peterson,W.放大图片作者:Weckesser,J.Bright,S.J.Brett,J.Wilson,K.J.Millman,N.A.R.J.马约罗夫纳尔逊,E.琼斯河,巴西-地Kern , E.Larson , C.J. Carey , I.Polat , Y. Feng , E.W. Moore ,J.VanderPlas,D.作者:J.奇默尔曼岛Henriksen,E.A.Quintero,C.R.哈里斯,上午阿奇博尔德,A.H.Ribeiro,F. Pedregosa,P. van Mulbregt,SciPy 1.0贡献者,SciPy 1.0:Python中科学计算的基 本算 法, Nature Methods 17( 2020) 261http://dx.doi.org/10.1038/s41592-019-0686-2[8]C.R.放大图片作者:Harris,K. J. Millman,S. J. Gommers,P. Virtanen,D.Cournapeau,E.Wieser,J. Taylor,S. 新泽西州伯格史密斯河克恩,M。Picus,S.霍耶M.H. van Kerkwijk,M.布雷特,A. Hal,J.Fernández del R` ıo,M.作者:P.G`erard Marchant,K.谢泼德,T.Reddy,W.Weckesser,H.阿巴斯,C. Gohlke,T. E. Oliphant,Array programming with NumPy,Nature 585(2020)357http://dx.doi.org/10.1038/s41586-020-2649-2[9]PyQT,Pyqt参考指南,URLhttp://www.riverbankcomputing.com/static/Docs/PyQt4/html/index.html。
下载后可阅读完整内容,剩余1页未读,立即下载
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- VMP技术解析:Handle块优化与壳模板初始化
- C++ Primer 第四版更新:现代编程风格与标准库
- 计算机系统基础实验:缓冲区溢出攻击(Lab3)
- 中国结算网上业务平台:证券登记操作详解与常见问题
- FPGA驱动的五子棋博弈系统:加速与创新娱乐体验
- 多旋翼飞行器定点位置控制器设计实验
- 基于流量预测与潮汐效应的动态载频优化策略
- SQL练习:查询分析与高级操作
- 海底数据中心散热优化:从MATLAB到动态模拟
- 移动应用作业:MyDiaryBook - Google Material Design 日记APP
- Linux提权技术详解:从内核漏洞到Sudo配置错误
- 93分钟快速入门 LaTeX:从入门到实践
- 5G测试新挑战与罗德与施瓦茨解决方案
- EAS系统性能优化与故障诊断指南
- Java并发编程:JUC核心概念解析与应用
- 数据结构实验报告:基于不同存储结构的线性表和树实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)