如何转换频谱类型(“频谱”->“将数据转换为”)

时间:2020-03-09 09:19:49

标签: dm-script

有没有一种方法可以通过DM脚本将频谱类型转换为EELS?此屏幕快照代表了我所指的内容。我想使用GMS 3.4 Python界面导入数据集,然后将其转换为EELS数据集以进行进一步处理(理想情况下,无需手动与截图菜单栏交互)。

enter image description here

2 个答案:

答案 0 :(得分:1)

是的。 “类型”只是一个元数据标签 Tags 您可以使用TagGroup命令轻松设置。

但是,有一种并发症: 数据首次出现时便向DM“注册”自身。手动更改元标记不会更改此注册。 (但是,菜单命令可以。) 因此,您只会在以下情况下看到类型更改的影响 要么:

  • 您保存,关闭并重新打开数据
  • 您克隆数据,扔掉原始数据,然后显示克隆

第二个选项可能会导致数据链接问题,因为新创建了数据的唯一图像ID。


使用第一种方法的示例(需要保存并加载):

image img:=GetFrontImage()
TagGroup tg = img.ImageGetTagGroup()
tg.TagGroupSetTagAsString("Meta Data:Signal","EELS")
imageDocument doc = img.ImageGetOrCreateImageDocument()
doc.ImageDocumentSave(0)
string path = doc.ImageDocumentGetCurrentFile()
doc.ImageDocumentClose(0)
doc = NewImageDocumentFromFile(path)
doc.ImageDocumentShow()

答案 1 :(得分:0)

另一种选择是依靠菜单命令。如果存在,则可以简单地使用ChoseMenuItem()命令来调用它。 但是,仅当您要更改的数据位于最前面时(即不是脚本窗口!),该命令才可用于UI。您需要通过脚本来确保确实如此。一个简单的ShowWindow()就可以了。

image img:=GetFrontImage()
img.ShowImage()
if ( !ChooseMenuItem("Spectrum","Convert Data To","None") )
    Throw( "Conversion to none failed.")
if ( !ChooseMenuItem("Spectrum","Convert Data To","EDS") )
    Throw( "Conversion to none failed.")

此解决方案的缺点:您将得到用户提示。