飞纳台式扫描电镜客户定制化软件解决方案

发布者:飞纳电镜 - 阅读量:1006 - 2018-04-12

在一些情况下,飞纳台式扫描电镜(Phenom SEM)在工业和教育领域中需要做重复性工作,例如,在预先设定的位置获取一组图像。 一般情况下,扫描样品的整个表面以找到单个颗粒并记录其位置和尺寸是必要的。 这种工作流程可以自动化,不仅可以提高样品检测的数量,还可以提高效率和准确性。 此外,由于自动化脚本总是遵循完全相同的过程,因此可以提高结果的可重复性,并且研究人员的主观操作影响被移除。


在其他许多案例中,可以用飞纳台式扫描电镜编程接口(PPI)来自动完成这项工作。 在本篇博客中,会说明什么是PPI以及如何将飞纳台式扫描电镜(Phenom SEM)集成在您的工作流程中。


飞纳台式扫描电镜编程接口


飞纳台式扫描电镜编程接口是一个可以通过Python控制飞纳台式扫描电镜的软件包。 Python是一种易于学习的编程语言,可以在不编译的情况下运行脚本。 脚本只是发送给飞纳台式扫描电镜(SEM),以执行通常由操作员完成的任务命令列表。 PPI中包含一个数据库,可以用Python控制飞纳台式扫描电镜(SEM)所需的所有功能。


PPI Python脚本可以在任意一台通过网络连接的飞纳台式扫描电镜的PC上运行。 这意味着,飞纳台式扫描电镜不仅可以通过旁边的计算机进行控制,而且可以远程操作,对用户来说更加方便。 图1显示了飞纳台式扫描电镜和用户PC之间网络的通用设置,其中安装了PPI以运行Python脚本。

 

 

图1:安装了PPI后,Phenom PC和用户PC之间的连接。

 

你可以用PPI做什么?


PPI可用于将飞纳台式扫描电镜(SEM)集成到自动化工作流程所需的任务中。 自动化程序,主要是检查并设置所有所需的数值,例如电子束加速电压或电子束斑尺寸。 


在PPI中,可以查询电镜的当前状态:从样品台到当前电子束设置和工作距离。 采用高质量和可重复图像所需的所有步骤也可在PPI中获得:这些步骤包括自动对焦和自动对比度/亮度等功能。 


PPI还与Python中的许多图像处理工具完全兼容,以处理您的图像并提取所需的结果。 PPI与这些工具的结合使其成为将飞纳台式扫描电镜集成到工作流程中并获得快速可靠结果的强大工具。


什么是PPI脚本?


为了演示PPI脚本,图2给出了一个例子。这个脚本假设样品被加载到飞纳台式扫描电镜中,并完成以下操作:


· 将PPI导入Python
· 连接到Phenom
· 设置电子束参数
· 自动对焦,优化对比度和亮度 
· 获取图像
· 将样品台移动到另一个位置
· 获取第二张图片


将PPI功能转换为Python,必须将PPI软件包加载到Python脚本中。 这是根据默认的Python完成的:   将 PyPhenom 作为 PPI 导入 。


连接到飞纳台式扫描电镜与建立对象调用的Phenom 一样简单,叫作ppi.Phenom 。 在这次调用中,建立了与飞纳台式扫描电镜的连接并验证了PPI许可证。 所有其他步骤都是这个创建方法。 


在图形界面中可用的设置可以通过PPI中的单个命令进行更改。 例如,在图2中,我们将电子束电压设置更改为10 kV,电子束斑尺寸更改为image(相当于3.3)。 


图像优化选项也可在调用中使用。 使图像成为完美的焦点方法   SemAutoFocus   是可用的,对比度和亮度通过使用优化   SemAutoContrastBrightness 方法 。


SemAcquireImage  是用来采集扫描电镜(SEM)图像的方法。在这种方法中,图像的属性必须填入。在我们的示例中,图像是以1024×1024像素的分辨率采集的,并且图像平均是在16帧。 通过使用ppi.Save  命令,可以将图像存储在本地驱动器上  。


为了移动当前位置,   ppi.MoveBy   命令被使用。 这里x方向和y方向的位移以微米为单位。 这意味着在我们的例子中,样品台向左移动100微米,向下移动100微米。 一旦进入这个新位置,就会获取并保存另一个图像。


这个例子显示了简单、直观的PPI程序。 但是,PPI要强大得多,而且可以做得比这里显示的更多。 PPI具有用户界面所具有的所有命令,甚至更多。

 

 

图2:一个简单的PPI脚本示例

 

超越PPI

 

用PPI控制飞纳台式扫描电镜的功能强大且高效,但PPI具有更多功能。 与PPI拍摄的图像兼容 NumPy 。 NumPy 是一个用于数组操作的Python程序包,用于许多图像处理工具,例如OpenCV 。 OpenCV 是一个被广泛使用的图像处理和图像识别功能库。 PPI和 OpenCV 等工具的结合帮助用户创建更高级的脚本,例如:

 

· 自动扫描样品表面并检测缺陷;
· 找到样品上的特定物体并以高倍率对其进行成像;
· 确定属性,如结构的尺寸,表面积,样品孔隙率等等。


在图3中,您可以看到如何将PPI图像转换为 NumPy 数组以及如何在 OpenCV中使用它。为了能够使用 NumPy 和 OpenCV (cv2),它们以类似于加载PPI的方式加载到Python脚本中。 与飞纳台式扫描电镜的连接按照前面的例子所示进行设置。

 

使用 SemAcquireImage 再次获取图像, 并将其转换为 NumPy 数组 np.array 。 由于图像现在是 NumPy 格式,因此可以在 OpenCV中使用 。 例如,在此使用称为Canny Edge的边缘检测滤镜。 只需调用它并将过滤器参数插入即可。 所以cannyEdge 可持有原始图像检测到的边缘的图像。

 

这个例子演示了PPI与 NumPy 以及所有使用 NumPy 数组作为输入的软件包 (如 OpenCV )直接兼容 。 NumPy 和 OpenCV 是非常强大的工具,可用于许多图像处理应用,甚至自动驾驶汽车。 所以,当谈到你如何使用它时,唯一的限制就是你的想象力。

 

 

图3:转换为 NumPy 数组和使用 OpenCV的示例

 

进一步探索飞纳台式扫描电镜自动化


从这些例子中你可以清楚地看到,PPI有助于将您的飞纳台式扫描电镜整合到您的工作流程中。  PPI与许多图像处理软件包的兼容性使用户能够创建工具来深入分析其样品。 

 

下载飞纳电镜编程界面规格表 

标签:扫描电镜,台式电镜,台式扫描电镜,桌面扫描电镜,扫描电镜自动化,PPI

关于作者

Wouter Arts

Wouter Arts是Phenom-world的应用软件工程师,后者是世界领先的桌面扫描电子显微镜供应商。他致力于寻找新的智能方法,将图像转换为物理属性。此外,他还开发了一些脚本,以帮助公司在操作飞纳电镜的过程中使用自动化流程。

复纳科学仪器(上海)有限公司 飞纳中国 版权所有