提问人:Michael Ngo 提问时间:7/19/2023 最后编辑:BmyGuestMichael Ngo 更新时间:7/19/2023 访问量:59
从文件打开 ImageDocument
Opening ImageDocument from Files
问:
在我的脚本中,我将 ImageDocument 作为 Gatan 文件保存到我的本地驱动器。我使用命令 ImageDocumentGetCurrentFile() 来获取该文件的路径。现在,我正在尝试使用带有我刚刚检索的路径的 OpenFileForReadAndWrite() 将该文件加载回我的 DM 工作区,并被告知“系统找不到指定的文件”。(我也尝试过 OpenImage() 并遇到了同样的问题)。
我能够将路径传递到命令提示符中,并且它能够将 ImageDocumentGetCurrentFile() 输出的路径识别为有效并打开 Gatan 文件。因此,该路径似乎有效,并且我的系统似乎没有问题。
我很好奇是否有其他人有解决此问题的提示,以便我可以打开本地保存的文件。
最终,我的目标是暂时从我的工作区中删除图像文档,以便我可以运行菜单命令“Spectrum > Assign ROI as > Background”,无论出于何种原因,当存在这种类型的图像(父图像)时,该命令都会崩溃。我尝试在执行菜单命令之前在文档上调用 ImageDocumentHide(),然后再调用 ImageDocumentShow()。这成功地允许执行菜单命令;但是,我了解到,当显示 ImageDocument 时,之前显示的图像现在只是一个空白页。我也不确定是什么原因造成的。
答:
打开 ImageDocument 的命令既不正确,也不是正确的命令。前者打开一个通用的原始文件,即用作流,而后者是早期过时的包装器,存在问题。它不会加载整个文件,而只会加载其中的(主要)图像数据。OpenFileForReadAndWrite
OpenImage
你想像在以下方面一样使用:NewImageDocumentFromFile
string path = "C:/temp/"
image test:=Realimage("MyImg",4,100,100)
test.ShowImage()
imagedocument doc = test.ImageGetOrCreateImageDocument()
doc.ImageDocumentSetCurrentFile("C:/temp/MyImg")
doc.ImageDocumentSetCurrentFileSaveFormat("Gatan Format")
doc.ImageDocumentSave(0)
string savedAs = doc.ImageDocumentGetCurrentFile()
doc.ImageDocumentClose(0)
OKDialog("Do something")
doc = NewImageDocumentFromFile(savedAs)
doc.ImageDocumentShow()
另外:F1 帮助中的示例部分也可能是了解有关文件的更多信息的有用起点:
评论
C:/temp/myfile.dm4
C:\\temp\\myfiledm4
评论