问题标签 [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 投票
1 回答
424 浏览

dm-script - 在 DigitalMicrograph 脚本中定义一系列函数

我在需要定义的类中有一组函数。每个都将不同的值传递给另一个函数:

我有 100 个这样的函数,我不想单独定义每个函数。考虑到上面的例子,我想做一些类似的事情:

这对它自己不起作用。有什么建议么?

对于更多上下文,我在 2 for 循环中创建了一系列复选框,其中包含以下内容:

我需要以某种明智的方式定义所有功能。

0 投票
1 回答
376 浏览

multithreading - DigitalMicrograph 下的线程大师

我在 DigitalMicrograph 中创建了两个线程,它们在脚本执行后立即执行。
我想要一些不同的东西。

让我们想象一下线程的两个按钮(启动和停止线程)。
如何添加代码以仅在按下按钮时激活线程?

如果您有我的代码示例,那将非常有帮助。

0 投票
1 回答
642 浏览

dm-script - 如何在 DigitalMicrograph GMS 2.x 中保存自定义颜色表

将 DigitalMicrograph 从 GMS 1.x 更新到 GMS 2.x 后,无法保存自定义颜色表。任何人都知道如何在 DigitalMicrograph GMS 2.x 下保存自定义颜色表?

0 投票
1 回答
259 浏览

image-processing - 如何从 3D 光谱图像中提取光谱

在 DigitalMicrograph 中,我有一个大小为 [X x Y x Z] 的 3D 数据立方体,我想在 X/Y 位置提取单个光谱。我知道我可以通过两个对角 (x1/y1/z1) 和 (x2/y2/z2) 来处理子卷。但是当我在下面的脚本中执行此操作时,我只得到一个带有单个值的 LinePlot 显示。我究竟做错了什么 ?

0 投票
1 回答
577 浏览

line-plot - 如何设置 LinePlot 线条粗细和样式?(DigitalMicrograph 脚本)

DigitalMicrograph 的脚本帮助文档提供了一个关于颜色和填充设置 LinePlot 样式的示例(请参见下面的示例脚本)。

但是,LinePlots 的 ImageDisplay 菜单也允许设置线条样式(点线、虚线、...)线条粗细和透明度。有人可以举例说明如何设置这些值吗?

0 投票
1 回答
433 浏览

file-io - 在 DigitalMicrograph 脚本中从文件夹中打开多个文件

我正在尝试编写一个 DigitalMicrograph 脚本,该脚本会打开文件名中包含特定字符串的所有图像。

我知道如何使用打开图像,OpenImage( filename )并且我在文档中看到GetFilesInDirectory()存在命令,这似乎是我需要的。但是,我不明白如何使用此命令。有人可以给我一个代码片段来证明这一点吗?

0 投票
1 回答
259 浏览

image-processing - 在 DigitalMicrograph 脚本中查询图像数据类型

如何使用数字显微照片 (DM) 脚本查询图像数据类型和大小?我想知道图像是有符号还是无符号、实数还是整数、像素大小等。

0 投票
1 回答
581 浏览

image-rotation - 如何将图像旋转任意量?

我有一张 DigitalMicrograph 图像,我想旋转一定量(不是 90 度)。这可以通过菜单项“Process...\Rotate”来完成,但我想通过脚本来完成。我有一个脚本,它根据图像上的线 ROI 计算角度。(见下文),但我不知道如何旋转图像。

0 投票
3 回答
121 浏览

oop - 如何通过脚本在 DigitalMicrograph 中设置持久的协作对象?

我开始真正体会到通过 DMS 语言使用对象在 DigitalMicrograph 环境中部署给定应用程序的好处。面向对象的方法为使用涉及协作对象的可重用设计模式打开了大门,例如模型-视图-控制器(MVC)。然而,由于使用自动引用计数来管理它们的生命周期,DM 中的对象似乎非常不稳定。为了使 MVC 三重奏或任何其他协作对象集能够存活足够长的时间以发挥作用,它们中的至少一个必须植根于由 DM 应用程序管理的非易失性对象中。到目前为止,我在 DM 中遇到的唯一此类对象是基于 UIFrame 类的对象(即无模式对话框和 UI 调色板)。对于 MVC 实现,这很好,因为将 View 实现为 UIFrame 对象是有意义的。只是有点不合常规,因为 View 对象成为保持 MVC 三重奏活动和运行的根对象。通常它是根植于应用程序并管理模型和视图对象的控制器对象。但是不涉及 UI 的设计模式呢?是否有任何(可接受的)方法可以在不将它们植根于 UIFrame 对象的情况下为一组协作对象提供持久性?是否有其他基于应用程序的对象类型可以用于此目的?由于不可避免的内存泄漏风险,我认为设置参考周期不是一种可接受的方法。s 只是有点不合常规,因为 View 对象成为保持 MVC 三重奏活动和运行的根对象。通常它是根植于应用程序并管理模型和视图对象的控制器对象。但是不涉及 UI 的设计模式呢?是否有任何(可接受的)方法可以在不将它们植根于 UIFrame 对象的情况下为一组协作对象提供持久性?是否有其他基于应用程序的对象类型可以用于此目的?由于不可避免的内存泄漏风险,我认为设置参考周期不是一种可接受的方法。s 只是有点不合常规,因为 View 对象成为保持 MVC 三重奏活动和运行的根对象。通常它是根植于应用程序并管理模型和视图对象的控制器对象。但是不涉及 UI 的设计模式呢?是否有任何(可接受的)方法可以在不将它们植根于 UIFrame 对象的情况下为一组协作对象提供持久性?是否有其他基于应用程序的对象类型可以用于此目的?由于不可避免的内存泄漏风险,我认为设置参考周期不是一种可接受的方法。但是不涉及 UI 的设计模式呢?是否有任何(可接受的)方法可以在不将它们植根于 UIFrame 对象的情况下为一组协作对象提供持久性?是否有其他基于应用程序的对象类型可以用于此目的?由于不可避免的内存泄漏风险,我认为设置参考周期不是一种可接受的方法。但是不涉及 UI 的设计模式呢?是否有任何(可接受的)方法可以在不将它们植根于 UIFrame 对象的情况下为一组协作对象提供持久性?是否有其他基于应用程序的对象类型可以用于此目的?由于不可避免的内存泄漏风险,我认为设置参考周期不是一种可接受的方法。

0 投票
1 回答
394 浏览

events - 是否可以通知 DigitalMicrograph 脚本对象图像上的 ROI 变化?

DigitalMicrograph 脚本文档提到了各种类型的 Listener 对象,这些对象可用于通知脚本对象各种类型的事件。特别是,ImageDisplay 对象对按键侦听器具有显式支持,因此当按键事件针对特定图像显示时,可以通知脚本对象。是否可以通过类似的机制接收到图像上的 ROI 的大小或位置已更改的通知?