python - 通过 Python 在 DigitalMicrograph 中注释
问题描述
有没有人成功获得在 DM 中使用 Python 显示的行(或任何其他)注释?我的代码是:
img = DM.CreateImage(...)
img_disp = img.CreateImageDisplay(1)
img_disp.AddNewComponent(2, 512, 0, 512, 1000)
img.ShowImage()
del imgk
从理论上讲,这应该绘制一个水平线注释,但是即使我可以在图像显示组件中找到“线注释”类型的子组件,我也没有在我的图像中看到任何内容。Python中也有这个函数,但我在 DM 脚本语言中NewLineAnnotation()
找不到这样的函数。ComponentAddChildAtEnd()
解决方案
您遇到的问题是,这ShowImage()
会创建一个与您的img_disp
.
您有两种解决方法:
您可以创建一个imageDocument,然后将创建的 imageDisplay 添加到其中。
或者您使用第
ShowImage
一个然后获取imageDisplay。
我会推荐第二种解决方案,除非由于某种原因您不想首先显示图像。所以代码是:
# This is a PYTHON script to be run in DigitalMicrograph
import numpy as np
img = DM.CreateImage( np.arange(120000).reshape(300, 400).copy() )
img.ShowImage()
img.GetImageDisplay(0).AddNewComponent(2, 150, 100, 150, 300)
del img
等效的 DM 脚本将是:
// This is a DM-script to be run in DigitalMicrograph
image img := IntegerImage("Test",4,0,400,300) = irow
img.ShowImage()
img.ImageGetImageDisplay(0).ComponentAddNewComponent(2,150,100,150,300)
推荐阅读
- r - 如何计算r中的索引?
- go - 如何在golang中模拟GCP的存储?
- java - Java文件上传到带有身份验证的Windows共享文件夹
- git - 我如何向 git 询问特定提交的所有标签?
- angular - 理解英雄之旅 catchError 实现
- python - 错误 oauth2client.HttpAccesTokenRefreshError:invalid_grant:无效的 JWT 签名
- windows - 如何在 Windows 的 conda 环境中使用 setuptools 安装 python 命令行脚本?
- linux - DBD-Oracle-1.76 安装问题
- jquery - 如何在 attr 中连接字符串
- python-3.x - NameError:未定义名称“setBranchCourse”