问题标签 [dm-script]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
488 浏览

image-processing - 如何在不改变数码显微照片中图像的校准比例的情况下应用汉宁窗?

我想在处理“FFT”之前将汉宁窗口应用于图像。我找到了 Ruben Bjorge 写的一个脚本:

通过使用这个脚本,FFT 的校准比例变为 1。但它应该是 0.11948,如下图所示。

在此处输入图像描述 在此处输入图像描述

我的问题是:有没有办法在不改变图像校准比例的情况下应用汉宁窗口?

或者如何根据原始图像的比例计算FFT图像的比例?

由于我脚本的其余部分需要 fft 图像的正确比例,如果有人能回答这个长问题,我将不胜感激。谢谢。

0 投票
1 回答
156 浏览

image-processing - DigitalMicrograph 中图像过滤的脚本支持

我们可以使用以下功能访问已配置的图像过滤器:

  • Image IFMApplyFilter( Image& unfiltered, String filtername )
  • void IFMApplyFilterInPlace(图像和未过滤,字符串过滤器名称)
  • Image IFMApplyFilterToSeries(Image& unfiltered, String filtername)
  • void IFMApplyFilterToSeriesInPlace(图像和未过滤,字符串过滤器名称)

有没有办法通过脚本直接配置图像过滤器?例如,我想通过组合“Hanning Window”和“Combined Filter”等默认过滤器,并更改过滤参数“Window Strength”,“Outer Radius (Nyquist)”等来创建过滤器。

谢谢!

0 投票
3 回答
180 浏览

dm-script - 如何使用脚本重塑 DM 中数据立方体的维度

我有一个尺寸为 1024*1024 的图像存储在 HDF5 文件中,该文件被视为切片厚度为 1 的数据立方体,(因此存储的尺寸为 1024*1024*1)。我使用 Niermann HDF5 插件 ( https://github.com/niermann/gms_plugin_hdf5 ) 导入数据。导入后数据立方体变为1*1024*1024,显示为1像素宽、1024像素高、1024个切片图像。

在考虑重新实现插件之前,我想问一下,有没有办法“重塑”数据(如“Numpy.reshape”中),以便可以正确处理维度?

谢谢!

0 投票
2 回答
202 浏览

dm-script - 如何将嵌套字符串(元数据)包装到 TagGroup

我导入的元数据有一个预定义的嵌套结构(示例如下所示),它是导入到 DM 后的单个字符串。整个元数据和每个分支级别都包含在大括号 {} 中,所有键和键值都用引号 "" 包含并用冒号分隔:

我的问题是,如何转换数据并将它们包装到 TagGroup 对象中,以便可以更轻松地完成索引、搜索和数据访问操作?

谢谢!

这是一个例子:

0 投票
1 回答
131 浏览

import - 如何将 ASCII 数组(图像)转换为单个字符串

我的元数据存储在 HDF5 文件中的 8 位无符号数据集中。导入DM后,变成1*length维度的2D图像。每个“像素”存储字符对应值的 ASCII 值。为了进一步处理,我必须将 ASCII 数组转换为单个字符串,然后再转换为 TagGroup。这是我目前做的愚蠢方法(逐个像素):

这种逐像素操作真的很慢!有没有其他更快的方法来完成这项工作?

0 投票
1 回答
80 浏览

dm-script - DM应用程序窗口最小化时如何处理延迟任务发布的模态对话框?

当然,这是一个相当神秘的问题,但它确实会影响我正在开发的 DM 脚本模块。我正在尝试使用自定义模式对话框来提醒用户延迟主线程任务检测到的错误情况。在大多数情况下,这工作得很好,但如果 DM 应用程序窗口恰好在发布错误消息时被最小化,那么当它恢复为前台应用程序时,DM 最终会处于一种奇怪的状态。模态对话框是不可见的,但它仍然禁止 DM 中的用户操作,直到它被“enter”或“esc”击键关闭。

下面的示例代码演示了该问题并提到了在 GMS 1 中有效的解决方案。

是否有类似或更好的解决方法适用于 GMS 2 及更高版本?

0 投票
1 回答
289 浏览

image-processing - 如何使用 dm 脚本从循环 ROI 中获取信息?

在图像中制作圆形 ROI 后,如何使用脚本从该图像区域获取信息(平均值、标准偏差、方差)?

我可以将循环 ROI 中的位置与原始图像联系起来吗?

0 投票
1 回答
339 浏览

dm-script - 如何在 dm-script 中对图像数据集使用粒子分析?

我有两个数据集,一个有 884 个图像,另一个有 1057 个图像;数据集来自原位加热实验。我已经处理了数据(互相关、过滤等)。现在,我有两个二进制图像数据集。我需要测量每个图像中每个粒子的粒子数、面积和纵横比(我可以使用数字显微照片工具菜单中的粒子分析来完成)。我需要通过我的整个数据集连接测量值,这意味着,在一张图像中测量的一个粒子需要与另一张图像中的相同粒子。我相信这不是一项微不足道的任务。但是,有没有其他人知道我如何在这项任务中取得进展?

0 投票
1 回答
117 浏览

dm-script - 可以在 DM 脚本中获得可用于文本注释的字体列表吗?

可以通过函数 NewTextAnnotation 在图像显示上创建文本注释,然后通过 ComponentSetFontFaceName 方法更改字体。然而,要成功地做到这一点,必须将所需字体的全名作为字符串提供,并且必须已经知道它在当前系统上可用。如果指定了不可用的字体,则似乎选择了一些默认字体,并且不会发布异常或错误消息。

有没有办法在 DM 脚本中获取可用字体列表或确定特定命名字体是否实际可用?

0 投票
1 回答
73 浏览

dm-script - GMS3 中的新型可停靠浮动面板是否有脚本接口?

在 GMS3 中,似乎有一种新的浮动调色板,它可以细分并为 UI 元素(例如显示和技术管理器)提供更广泛的区域。这样的 UI 面板可以通过 DM 脚本生成吗?通过 DLGCreateDialog 和 RegisterScriptPalette 生成的浮动面板更窄,停靠行为更有限,因此能够生成遵循新 UI 模型的面板似乎是有益的。