如何在数码显微照片和 R 之间传输(连接)数据

How to transfer (to connect) data between Digital Micrograph and R

我是 DM 的新用户,我需要在 数码显微照片R 之间传输数据(像素亮),以进行处理并对图像进行建模。

具体来说,我需要从原始图像中提取亮像素,将其发送到 R 进行处理,然后 return 发送到 DM 以表示新的图片。

我想知道这是否可行以及如何从 DM 中的脚本执行此操作。

非常感谢。问候。

DM(脚本)和外部世界之间几乎没有直接联系,所以最好的解决方案很可能是以下(以 DM 为中心)路线:

脚本在 DM 中启动,它执行:

  • 所有 UI 需要
  • 提取强度等
  • 将所有需要的数据以合适的格式保存在特定路径的光盘上。 (原始 data/text-data/...)
  • 调用外部应用程序(任何您可以从命令提示符调用的应用程序,包括 .bat 文件)并等待该命令完成

您的所有 R 代码是否都以可以从命令提示符调用的方式编写,可能带有命令提示符参数(即配置文件):

  • 从特定路径读取数据
  • 按要求处理(没有 UI,照做 'silently')
  • 将结果保存在特定路径的光盘上
  • 关闭申请

此时,DM 中的脚本继续读取结果(并可能清理磁盘上的文件。)


因此,从本质上讲,重要的是您的 R 代码可以作为 "stand-alone" 黑盒可执行文件,完全由命令行参数控制。

启动外部应用程序所需的命令可以在 "Utility Functions" 下的帮助文档中找到,并且是 LaunchExternalProcess。它已在 GMS 2.3.1 中引入。

您可能还想尝试使用命令 ScrapCopy()ScrapPasteNew() 将图像(或图像子区域)复制到剪贴板,但我不确定那里的数据是如何处理的。