问题标签 [imagej-macro]

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 回答
1933 浏览

macros - 如何在 imageJ 宏的函数中传递参数?

我想将文件夹名称传递给 run() 函数和 save() 函数,但它们在引号内,我不知道如何传递变量名。

我使用 imageJ 中的记录命令生成了 run() 和 save() 函数。

该程序的目的是自动化在多个文件夹上运行插件“T2 分析鼠标”的过程。任何其他推文或帮助将不胜感激。

我找到了这个在线资源https://imagej.nih.gov/ij/macros/ArgumentPassingDemo.txt但它不起作用。

我尝试了多种方法,包括/&foldername/3 T2 &filename/3 T2 /&foldername 3 T2``/&foldername3 T2 /&filename 3 T2``/&filename3 T2 以下是我编写的代码:

各种print()功能用于测试代码,并且代码大部分适用于 makeT2 功能。

这是错误:

这是运行程序后的日志:

如您所见&filename,保持不变,但我希望变量filename中的数据位于其位置。

0 投票
1 回答
935 浏览

automation - 在使用 ImageJ 放置在文件夹和子文件夹中的图像中使用宏自动执行任务

我最近发现了宏以及它们如何令人惊讶地减轻我在 Fiji/ImageJ 上的工作。

我创建了这个宏:

该宏的作用是导入存储在引用文件夹中的图像序列,使用模板匹配插件对齐图像堆栈,使用 Z 项目功能(图像 > 堆栈 > Z 项目...)进行焦点堆叠以及使用 tiff 扩展名将新生成的图像保存在同一文件夹中。

但是,我确实有一个包含大量子文件夹的通用文件夹,其中充满了 tiff 文件,因此在每个文件夹中一个一个地应用前一个宏也可能成为一项乏味的任务。我遇到了这个处理批处理的宏:

但是,我不知道如何将宏中编写的自动化任务与后者合并,因为我不是编码专家。

总而言之,我想从我选择的根目录中自动在每个文件夹和子文件夹中运行我的宏。

任何人都可以编辑和合并以前的宏来完成我的要求吗?

0 投票
1 回答
545 浏览

python - 在 PyCharm 中编写 ImageJ Python 脚本

我能够安装 Jython(通过自制软件),配置 PyCharm 以将其用作我的解释器,但我无法让 PyC​​harm 导入 ij。

我的目标是能够使用 IDE 和比脚本编辑器中现有的更高级的调试工具编写 ImageJ 宏。Python 将是我首选的脚本语言,而 PyCharm 是我首选的 IDE。任何想法将不胜感激。

0 投票
0 回答
674 浏览

imagej - .nd2 到 .tif 使用斐济生物格式无窗

感谢您的光临。

我正在尝试处理从 .nd2 到 .TIF 的约 50 张图像,但导出的图像不是我所期望的,我不确定出了什么问题。我的 .nd2 有两个通道,我希望最终的 .TIF 成为两个通道的图像。但是,我的代码的 .TIF 输出只是一个通道的图像。

...在这部分代码之后,我拆分 z 堆栈,找到中间,并将该切片保存为 .TIFF。

如果有任何不清楚的地方,请告诉我。再次感谢您的阅读。

0 投票
0 回答
173 浏览

macros - 在计算器中进行多图像分析的宏加

我在一个文件夹中有一组图像,它们的名称是:2 days.bmp 3 days.bmp ..... 28 days.bmp。另外,我有一个文件夹,其中的背景图像名称完全相同。我想使用计算器加上并将每个图像划分为其相关背景。我想节省时间并同时做到这一点,而不是一张一张地为每张图片做这件事。有什么想法我该怎么做?我写了一个宏,但它对我不起作用。

0 投票
1 回答
38 浏览

java - 将校正公式应用于 5D 图像的每个通道

我对 groovy 完全陌生,并且在编写 ImageJ 宏方面的经验有限,所以这可能是一个非常容易解决的问题,但这里有:

我有一个 5D 超堆栈(3 个通道、3 个切片、约 100 个舞台位置),它受到高度不均匀照明的影响。我找到了一个相当简单的公式来纠正这个问题。公式是

C = (RD)*m/(FD)

其中 C 是校正后的图像,R 是原始图像,D 是暗场图像,F 是平场图像,m 是 (FD) 的图像平均值。

对于单通道 3D 图像(x、y、p),这相对简单,不需要任何宏脚本,但对于多通道、多切片 5D 图像,我至少必须拆分图像在我可以将校正公式应用于每个通道然后重新组合它们之前进入单个通道。我一直在尝试使用 groovy 编写一个宏来为我处理这个问题(我选择 groovy 是因为我被告知它对用户更友好,所以我愿意接受其他建议),但我似乎无法让它运行. 目前,我有下面的代码(我省略了暗场,因为我的图像在采集过程中已经对此进行了校正):

此代码当前失败,并出现以下异常(但我怀疑代码本身通常写得不好):

groovy.lang.MissingMethodException: No signature of method: ij.process.FloatProcessor.divide() is applicable for argument types: (ij.CompositeImage) values: [img["flatfield.tif" (-274), 8-bit, 512x512x3x3x1]] Possible solutions: dilate(), dilate(), erode(), erode(), find(), noise(double)

任何帮助是极大的赞赏!

0 投票
1 回答
48 浏览

image - 强制图像放大到 imageJ 中的某个像素大小?

我有一个图像处理脚本,可以在帧中找到粒子并裁剪它们。我对 imageJ 有点陌生,所以我可以很容易地找到将其裁剪成正方形的方法,使得最大值为 64x64 像素,但我还需要一种方法来使任何小于 64x64 的裁剪放大。我并不特别关心其余空间的填充内容,尽管如果有一种方法可以复制最右边的像素列,那可能会更好。是否有任何预构建的宏可以让我这样做?

0 投票
0 回答
312 浏览

imagej - 在Imagej中将曲线分割成等长段

我编写了一个宏,它给出了一条直线,将其分成等长的段,并生成一系列垂直线穿过每个段的起点/终点。宏是(对不起,如果它看起来很基本,但我只是在学习这些东西......):

在某些情况下,我需要使用分段线/折线获得相同的结果。为了更好地“模拟”我想要测量的对象的形状,我将样条曲线拟合到我的折线。这很容易做到。如何将样条线分成相等的段并在每个样条的开始/结束处运行一条垂直线?任何帮助是极大的赞赏。到目前为止,这就是我拼凑起来的:

尼诺

0 投票
2 回答
533 浏览

imagej - ImageJ 宏不等待命令完成运行

我正在使用 ImageJ 宏来批处理图像。具体来说,我正在尝试在每个图像上运行一个名为 Log3D 的插件。出于某种原因,ImageJ 宏在运行脚本中的下一行之前不会等待命令完成运行。

有没有解决的办法?

谢谢!

我目前正在使用“waitForUser”手动让 ImageJ 知道何时继续,但是当我一次处理数百张图像时,这很烦人并且没有用。

0 投票
2 回答
1367 浏览

imagej - 如何在多个目录中的特定文件夹中批处理 ImageJ 宏

我有一个嵌套文件结构,其中父文件夹包含多个不同类型数据的文件夹。我正在使用 ImageJ 宏脚本来批处理其中一个文件夹中的所有图像文件。我目前需要分别处理每个文件夹,但我想对文件夹进行批处理。我查看了多个文件夹的一些批处理,但似乎代码正在处理所有文件夹中的所有文件夹和文件。我只需要处理每个目录中的一个文件夹(都命名相同)。图像来自仪器,没有任何元数据,因此文件按原样保存以分隔实验,其中实验的所有数据都包含在父文件夹中。另外,我需要一个接一个地运行两个不同的脚本。如果我能合并这些,那就太好了,

结构的一个例子是:

  • 实验1/变量1/已处理
  • 实验1/变量2/已处理

我目前正在每个“已处理”文件夹上单独运行我的宏。我想批处理每个“变量”文件夹中的每个“已处理”文件夹。

任何帮助将不胜感激,我对编码真的很陌生,我只是在努力尽可能地学习和自动化。

谢谢!