分享自:

使用PyJEM库通过Python脚本控制透射电子显微镜的介绍

期刊:Microscopy and MicroanalysisDOI:10.1093/mam/ozaf048.1146

本文档由JEOL有限公司电子显微镜事业部的E. Okunishi、D. Maekawa、M. Nishikawa、O. Hirahara和I. Ishikawa等作者撰写,发表于2025年的期刊 Microscopy and Microanalysis (第31卷,第7期,增刊1)。文章的主题是介绍如何利用Python编程语言和由JEOL开发的专用库——pyjem,来实现对透射电子显微镜(Transmission Electron Microscopy, TEM)系统的定制化控制与功能扩展,以满足用户日益增长的个性化需求。

文章首先阐述了当前Python语言在科学计算领域的广泛应用及其优势,包括丰富的库资源和易于获取的在线信息,这些优势也正渗透到TEM领域。作者指出,现代TEM系统大多基于个人计算机(PC)操作,并配备了图形用户界面(GUI)和各种应用软件,使其从专家专属工具转变为更广泛的用户群体可使用的设备。然而,随着用户群体的扩大,对设备进行个性化定制以实现特定实验目标的需求也在不断增长。仪器制造商难以预知并实现所有可能的定制需求。因此,用户期望能有一种方式来自主控制仪器,而Python因其易用性和灵活性成为理想选择。作为回应,显微镜制造商开始开发和提供能够控制其设备的Python库。本文的核心即是介绍JEOL为此目的开发的pyjem库,并通过实例展示其应用。

文章的第一个主要观点是:pyjem库作为连接Python与TEM系统的桥梁,其架构和工作原理是实现定制化控制的基础。 图1清晰地展示了这一通信架构:用户在一台安装了Python和pyjem库的PC上编写脚本,pyjem通过一个名为“tem_external”的软件与TEM系统进行交互。这意味着,用户无需直接操作显微镜复杂的底层硬件指令,而是通过调用pyjem中封装好的高级命令来实现对显微镜的控制。这种设计将复杂的硬件通信细节抽象化,使得科研人员或工程师能够专注于实验逻辑的编程实现。pyjem库本身包含了分组组织的各种TEM操作命令(如表1所示),这些命令覆盖了显微镜的主要功能模块,便于用户查找和组合使用。

文章的第二个主要观点是:通过组合pyjem命令,用户可以开发自动化工作流程,显著提高实验效率和可重复性。 作者以图2所示的示例程序为具体证据,详细说明了如何实现从TEM模式到扫描透射电子显微镜(Scanning Transmission Electron Microscry, STEM)模式的自动切换。这个自动化脚本依次执行了多个pyjem命令:selecttemstem()用于切换TEM/STEM模式;selectspotsize()用于选择电子束斑尺寸(探针大小);setstemcamselector()用于选择相机长度;setexpsize()用于更换聚光镜光阑;detector()用于插入或收回STEM探测器。通过按顺序执行这些命令,原本需要手动进行的多项参数调整和部件操作被整合为一个一键执行的自动化流程。这不仅减少了操作时间,降低了因手动操作失误带来的风险,更重要的是确保了每次模式切换时实验条件的高度一致性,对于需要反复在不同模式下进行对比的实验尤为重要。

文章的第三个主要观点是:利用Python的图形界面开发能力,结合pyjem命令,用户可以创建高度定制化的操作界面,优化用户体验和工作流程。 图3展示了一个为远程操作设计的定制化GUI实例。这个GUI并非仪器自带的标准化界面,而是用户根据自身特定的操作习惯和常用功能集,利用Python(例如Tkinter、PyQt等GUI工具包)自行开发的。GUI上的每一个按钮或控件背后,都关联着相应的pyjem命令。例如,一个“切换到高分辨TEM模式”的按钮可能内部集成了调整电压、选择物镜光阑、设置相机长度等一系列pyjem调用。这种做法的优势在于,用户可以将自己最频繁使用的、或者来自不同功能模块的操作聚合在一个简洁的界面上,避免了在多个标准软件窗口之间来回切换的繁琐。文章特别指出,让实际操作TEM的用户来设计这样的GUI,能够确保界面最大程度地贴合实际工作流,这是仪器厂商提供的通用GUI难以做到的。

文章的第四个主要观点是:用户驱动的定制化是释放TEM系统全部潜力的关键,而pyjem这类工具对于满足这一需求至关重要。 作者在文中强调,尽管现代TEM系统已经功能强大且用户友好,但不同用户群体(如材料科学家、生物学家、半导体工程师)有着迥异的研究目标和实验方法。标准化的商业软件无法覆盖所有特殊的、前沿的或高度特定的实验需求。例如,某个用户可能需要将电子束控制与外部加热台或电学测量设备同步,或者开发一套复杂的自动漂移校正和图像采集例程。pyjem提供的编程接口赋予了用户这种“自下而上”的创新能力。用户不再是被动接受固定功能的操作者,而是可以主动设计和实现新功能的开发者。这极大地扩展了TEM作为研究平台的能力边界,使其能够适应快速发展的科学研究和技术应用。

本文的发表具有重要的实践意义和行业价值。从实践层面看,它为广大的TEM用户,特别是那些有编程基础或愿意学习Python的研究人员和技术人员,提供了一条清晰可行的设备定制化路径。通过具体的代码示例和系统架构说明,文章降低了入门门槛,鼓励用户社区分享和开发更多的pyjem应用脚本,从而形成良性生态。从行业价值看,它反映了科学仪器发展的一个重要趋势:从封闭的黑箱系统走向开放的、可编程的研究平台。JEOL作为重要的TEM制造商,主动开发并公开推广pyjem库,表明了厂商正在积极拥抱这一趋势,通过与用户社区合作来共同推动仪器功能的进化。这不仅增强了其产品的吸引力和竞争力,也促进了整个电子显微学领域研究方法论的创新。这篇论文不仅是一篇技术介绍,更是一份倡导开放、协作和用户赋能的研究范式宣言,对于推动电子显微镜技术在更广泛科学和工业领域的深入应用具有积极的引导作用。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com