问题标签 [imagej]

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

java - 隐藏 ImageJ 界面元素

我正在从事一个项目,该项目涉及招募大量相对不熟练的工人使用 ImageJ进行重复的图像分析。我已经编写了一组宏来引导他们完成分析过程,但是为了提高吞吐量并减少错误,我想弄清楚如何尽可能多地隐藏 gui/menu 界面。

最佳解决方案将仅显示有问题的图像和一组图标以选择正确的宏。更复杂的是,我计划通过网站提供要分析的小程序和图像(尽管我的理解是这不应该改变太多)。

我进行了相当多的搜索,似乎找不到如何进行此界面简化的示例。如果有人能指出我正确的方向,我将不胜感激。我对任何可行的建议持开放态度,但由于我的 Java 有点生疏,宏/脚本/配置解决方案可能更容易。

0 投票
2 回答
2061 浏览

java - 保存和访问大量 ROI 多边形(IDL、ImageJ、Java?、XML?)

我需要在一堆图像上保存和重新加载数千个 ROI 多边形,实际上是一部 30 多分钟每秒 30 帧的电影,所以至少有 54,000 帧。堆栈中的单个图像(帧)上可以有多个 ROI,每个 ROI 的大小和顶点数不同。ROI 多边形会随着时间的推移跟踪形状的边缘。

电影堆栈通常太大而无法一次保存在内存中。我对它进行后期处理,逐帧搅拌以跟踪我的形状。我可以一次一帧地将 ROI 对象保存到二进制文件中,但这会生成 54,000 多个文件以保存在一起。或者,如果我尝试分配一个容器对象来保存所有 54,000 多个 ROI 帧,然后将其保存到一个文件中,我很快就会耗尽资源。

我想将所有 ROI 保存到一个可以随机访问和修改的文件中。如果我想要第 100 帧上的第三个 ROI 多边形,我希望能够立即加载它。我还希望能够在保存的文件中插入和删除 ROI。

执行此操作的最佳文件格式是什么?是否有可接受的格式或应用程序?ImageJ 有一个原生的 ROI 格式,但我不太了解它。我的应用程序现在在 IDL 中编程。IDL 有自己的 ROI 类,但就像我说的,我不想将它们全部写到单独的文件中,而且我没有资源将它们全部组合到一个文件中。XML?谢谢。

0 投票
1 回答
3426 浏览

image-processing - FFT 应用图像的带通滤波器。(像 ImageJ 带通滤波器算法)

我需要一个很好的函数,它在 Java 程序中实现:ImageJ。我需要了解那里使用的算法。该函数有几个参数: 链接文本

在使用 FFT 之前,它会将图像转换为特殊的图像:带通滤波器使用一种特殊的算法来减少边缘伪影(在傅里叶变换之前,通过在原始图像之外附加图像部分的镜像副本来扩展图像的大小,因此没有跳跃发生在边缘)

你能告诉我更多关于这个特殊变换的信息吗?实际上平铺镜像图像。

我正在写 C++,并希望用 C++ 重写程序的那部分。

EDIT1:我需要了解它是如何进行平铺镜像操作的,可能是特殊的。实际上,起初它将图像转换为新大小的图像,所以对于我的图像,它将是:从 600X480 转换为 1024X1024 大小的图像。这里如何使用平铺?

EDIT2:也很难理解 tileMirrored 函数的描述:

将 ImageProcessor (ROI) 放入位置 (x,y) 处大小为宽度 x 高度 y 的新 ImageProcessor。图像围绕其边缘进行镜像,以避免 FFT 的环绕效应。“......在位置(x,y)处大小宽度x高度y。”是什么意思?

EDIT3:我实现了那个带通滤波器,它给出了与原始程序相同的结果。但是,原始程序中的算法本身(也在我的程序中)非常慢我不想在我的程序中使用该过滤器一次,但每次调用它计算大约 0.5 到 2 秒(取决于参数值)。使用了 FHT 变换(不是 FFT),它比 FFT 更快吗?我觉得filter本身没有优化,请看filterLargeSmall函数实现: 源码

0 投票
1 回答
3191 浏览

java - 如何在 Java 或 clojure 中使用 ImageJ 进行批量图像处理?

我想使用 ImageJ 对几千张图像进行一些处理。

有没有办法使用任何通用的 imageJ 插件并将其自动应用于数百张图像?

例如,假设我想拍摄我的一千张图像并对每张图像应用极坐标变换——

ImageJ 的极坐标变换插件可以在这里找到:

http://rsbweb.nih.gov/ij/plugins/polar-transformer.html

伟大的!让我们使用它。从:

http://albert.rierol.net/imagej_programming_tutorials.html#How%20to%20automate%20an%20ImageJ%20dialog

我发现我可以使用以下方法应用插件:

这很好,因为它抑制了每个图像都会弹出的对话框。但是运行它总是会打开一个包含转换后的图像的窗口,而我想要的是简单地返回转换后的图像。

做我想做的最愚蠢的方法就是关闭出现的窗口并返回它正在显示的图像。

做我想做但绝对迟钝的事:

我显然遗漏了有关如何在编程上下文中使用 imageJ 插件的信息。有谁知道这样做的正确方法?

谢谢,--罗伯特·麦金太尔

0 投票
1 回答
2578 浏览

java - ImageJ 中多种颜色的叠加

我正在为 imageJ 编写一个小插件,并在图像上绘制几个区域作为叠加层。

我正在使用这段代码:

regionsRoi 数组在哪里。

这可以按预期工作,并在用于叠加的标准 ImageJ 青色中绘制区域(伤害我的眼睛)。我想用另一种颜色绘制一个特定区域,但我似乎找不到办法。我发现您可以更改整个叠加层的颜色,但我需要在同一个叠加层中使用两种颜色。

有任何想法吗?

提前致谢

妮可

0 投票
2 回答
3973 浏览

image-processing - 如何从图像中导出点对象的像素坐标(使用 imagej?)

我正在进行一个项目,我对显微镜图像中点对象的间距和分布感兴趣。

因此,图像由来自相当复杂背景的较暗的圆形小点组成。有朝一日使用特征提取脚本自动执行此操作会很好,但现在我只是手工挑选要点......因为我相信我自己的眼睛:)

我浏览了几个不同的软件,到目前为止我喜欢 imagej,它具有多点选择功能。但是我在手动选择点后无法弄清楚如何导出坐标。我需要的只是每个点的 X 和 Y(每个图像大约一百个点)。

任何指针?

或者,如果您对如何执行此操作有其他想法,请向我推荐另一个程序(matlab?),或者甚至向我指出其他有用的阅读材料等...

非常感谢!

0 投票
1 回答
567 浏览

imagej - 在 ImageJ(java) 中执行字符串作为代码

代码在字符串中,例如:

如果str被执行,相应的内容就会运行。

0 投票
3 回答
19277 浏览

java - ImageJ 在一堆图像上的亮度和对比度

我正在查看 ImageJ 中的一组图像数据集(一堆 .tif 图像,大约 130 帧),我的数据集有问题。这是一系列显微镜图像,每一帧都是一个比前一个高/低约 3-4 微米的平面。随着我深入研究数据集,光散射会产生更亮的背景,因此样本的主要特征是较暗的。

然而,ImageJ 的亮度和对比度功能使用表示整个图像堆栈的直方图。当我在堆栈深处的图像上单击“自动”和“重置”时,生成的对比度非常完美:所有功能都非常亮。然而,回到堆栈的开始,大多数功能已经饱和。

我尝试从堆栈中的各个点手动提取一些图像,并分别对每个图像执行亮度和对比度中的自动->重置,然后将它们重新转换为堆栈,它看起来非常可靠。我如何以编程方式(例如使用插件)为整个堆栈执行此操作?相关的 API 调用是什么?

0 投票
2 回答
1860 浏览

java - ImageJ jar 文件插件快捷方式创建

我一直致力于一个发育生物学项目,标记各种核标记以及 DAPI 染色以确定标记表达的百分比。我发现 ImageJ 插件 ITCN ( http://rsbweb.nih.gov/ij/plugins/itcn.html ) 在使用 CLAHE 程序时也适用于每个标记。我的问题是我有大约 6000 张图像要分析,我希望能够自动化该过程。我已经录制了一个宏,如下所示(它本身可以循环到单个图像文件):

但是 ITCN 图标不会自动开始分析,也没有一个易于编程的捷径来完成这项工作。我对任何 Java 编程都一无所知,我很想知道是否有办法解决这个可能很简单的问题。

在此先感谢迈克尔

0 投票
1 回答
5807 浏览

java - 将 x 和 y 坐标转换为宏 ImageJ 中的变量

我希望能够使用点选择工具在图像中放置一个点,然后将 x 和 y 坐标读取到宏中的变量。

我试过 getSelectionCoordinates 但这不起作用。我不想在日志或结果窗口中显示坐标。

任何帮助将非常感激。