如何转换光谱类型 ("Spectrum" -> "Convert Data to")
How to convert the spectrum type ("Spectrum" -> "Convert Data to")
有没有一种方法可以通过 DM 脚本将频谱类型(例如 EELS)转换为 EELS?此屏幕截图代表我所指的内容。我想使用 GMS 3.4 Python 界面导入数据集,然后将其转换为 EELS 数据集以供进一步处理(理想情况下无需手动与屏幕截图的菜单栏进行交互)。
是的。
"type" 只是一个元数据标签
您可以使用 TagGroup 命令轻松设置。
然而,有一个复杂的问题:
数据 "registers" 本身与 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()
另一种选择是依赖菜单命令。如果它存在,那么您可以简单地使用 ChoseMenuItem()
命令来调用它。
但是,只有当您要更改的数据位于最前面(即不是脚本 window!)时,该命令才对 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.")
此解决方案的缺点:您将收到用户提示。
有没有一种方法可以通过 DM 脚本将频谱类型(例如 EELS)转换为 EELS?此屏幕截图代表我所指的内容。我想使用 GMS 3.4 Python 界面导入数据集,然后将其转换为 EELS 数据集以供进一步处理(理想情况下无需手动与屏幕截图的菜单栏进行交互)。
是的。
"type" 只是一个元数据标签
然而,有一个复杂的问题: 数据 "registers" 本身与 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()
另一种选择是依赖菜单命令。如果它存在,那么您可以简单地使用 ChoseMenuItem()
命令来调用它。
但是,只有当您要更改的数据位于最前面(即不是脚本 window!)时,该命令才对 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.")
此解决方案的缺点:您将收到用户提示。