1

我想编写一个 Gatan DigitalMicrograph 脚本来连续获取多个 EELS 光谱图像。如果有命令获取光谱图像(SI)数据,并将三维图像存储到数组中,我将实现我的计划。但是,我无法从参考手册中找到适用于 SI 成像模式的命令。在这种情况下我应该使用什么命令?您对我的目的有帮助吗?如果您分享一些智慧,将不胜感激。

4

2 回答 2

0

一个简短的演示脚本,介绍如何使用 SIAcquisition 命令进行 SI 采集的多次迭代和“重命名”采集的数据集。

// Assumptions:  
// -  GMS 2.3 used
// -  Valid survey image and ROI already assigned
// -  SI array size already defined
// -  Signals and other SI settings made

number SIx, SIy 
SIGetFieldValue( "2D Array, X samples", SIx )
SIGetFieldValue( "2D Array, Y samples", SIy )
Result("\n SI size:"+ SIx + "x" + SIy )

// Start SI
number nSI = 3
for (number i=0; i<nSI; i++ )
{
    SIInvokeButton( "Start/Stop", 1 )
    while(SIIsAcquisitionActive()) yield()
    sleep(0.5)          // Small delay needed to allow DM finish SI acquisition clean-up

    // Find (and rename) SI DataSets
    number nImgDoc = CountImageDocuments()
    string findStr = "Spectrum Image"
    for (number d=0; d<nImgDoc; d++ )
    {
        string docName = GetImageDocument(d).ImageDocumentGetName()
        if ( find(docName,findStr) == (len(docName)-len(findStr)) )
        {
            GetImageDocument(d).ImageDocumentSetName( docName + "#"+(d+1) )
        }   
    }
}
OKDialog( "Done" )
于 2016-04-04T09:33:15.107 回答
0

如果您安装了光谱成像插件,那么 F1 帮助文件将在此处包含有关 STEM SI 脚本命令的部分...

在此处输入图像描述


然而,那里描述的命令将允许一个接一个地获取一个 SI。每个都将以与通过 UI 重复启动 SI 采集时相同的开销重新开始。

我的印象是您想要获得“更快”的重复 SI。不幸的是,没有任何命令可以轻松地为您提供。

但是,您可以通过以下想法(未经测试)创建一个“work-arround”解决方案:

  • 设置具有多帧的 STEM SI
    每个帧传递将汇总到同一个容器中
  • 在每个像素(像素结束)的基础上使用“SI HookUP 脚本”来捕捉“最后”获得的 SI 点(在新帧开始之前)。使用它将现有数据复制到新容器中并将原始数据设置回零。

    选择:
  • 如果您将空间漂移校正设置为在帧结束时执行,您也可以使用“校正开始”连接脚本点...

以上仅适用于软件同步的 SI。对于硬件同步,它变得更加棘手,但您可以使用“ImageUpdate”事件侦听器执行类似的操作。

于 2016-04-01T18:12:16.390 回答