数字显微照片中的投资回报率 EELSspectra 在命令"EELSSubtractPowerlawBackground()"后表现奇怪 - 错误?(大湄公河次区域 2.3)



当我在已经包含背景和信号ROI的DM EELS频谱上运行下面的脚本时,如果我不显示任何图像也可以。

ImageDocument imdoc = GetFrontImageDocument() 
image i0 = ImageDocumentGetImage(imdoc,0)
image subt = eelssubtractpowerlawbackground(i0,800,900)
//image irrelevant = realimage("irrelevant",4,100,100)
//showimage(irrelevant)

但是,如果我在运行背景减法命令后显示任何图像(例如激活最后 2 行(,则初始图像上预先存在的 ROI 会发生变化(sig 消失并且 bckgd 移动到新位置(。

尽管i0理论上是一个新的形象,而不是最初形象的一部分。

在任何情况下,在脚本中创建副本并对其进行处理似乎都不能解决问题。

更令人惊讶的是,如果我首先复制初始图像并在其上运行脚本,然后关闭运行脚本的新窗口和(修改后的(频谱,然后尝试复制初始图像,则副本具有修改后的ROI而不是它自己的。第二个副本似乎还可以。我不知道发生了什么。感谢任何想法。

(这个问题最初是一个更大的脚本的一部分,我需要在其中显示图像,我在这里将其简化为基本要素(。我正在使用v2.3.2。

我已经在 EELS频谱上测试了您的脚本,投资回报率为GMS 2.3.3GMS 3.2.2

GMS 2.3.3

这似乎不是由于ShowImage()而发生的,而是每当使用最后一个背景/信号ROI的图像显示刷新其显示时。当您运行没有最后两行的脚本时,您会得到相同的行为,但随后单击另一个图像(以选择它(,然后再次单击频谱。如果您在完全不同的图像上使用背景减法 ROI,然后运行脚本,您会得到相同的结果。它搞砸了最后一张图像的投资回报率。

GMS 3.2.2:没有显示这个。无论你做什么,一切都很好。


因此,从这两个测试中,我可以得出结论,这是GMS 2.3中的一个错误,该错误已得到修复。

这种行为确实非常奇怪,我认为您的代码没有任何问题。

错误似乎是该命令eelssubtractpowerlawbackground()弄乱了最后一个活动信号提取 ROI 的设置,无论它们放在何处。输入图像是什么并不重要。它似乎"重用"了这些最后的投资回报率。

不幸的是,我不知道一个好的解决方法。

最新更新