ImageJ:同时分析不同ROI中的粒子

时间:2014-01-22 19:40:37

标签: imagej

我正在测量不同年轮(树木;树木年代学)的船只区域。我拍摄了大约20张年轮的高质量照片。每年的年轮都是我的投资回报率。

我把我的图像分成了20个较小的图像,每个年轮都是一张图像。我打开每个图像,我控制它并使用功能:分析粒子。

然而,如果我可以使用20个戒指的原始图像,那将耗费更少的时间;我会通过定义投资回报率来区分每个年度环,我会在2012年,2011年,2010年之前标记每个投资回报率......之后我会对图像进行阈值处理并使用函数分析粒子。在我的结果表中,我将获得每个容器的容器流明面积,每个年轮分别得到。

问题是:是否可以使用ROI Manager并设置更多ROI并分析其中的粒子。

非常感谢你的时间。

耶尔内伊

1 个答案:

答案 0 :(得分:0)

使用ROI Manager存储您的投资回报率。然后使用ImageJ macro language及其内置roiManager functions来循环遍历所有投资回报率。通过插件>记录您的分析宏>记录... 以获取相关的宏命令。

以下是一个例子:

id = getImageID();
setAutoThreshold("Default");
for (i=0 ; i<roiManager("count"); i++) {
    selectImage(id);
    roiManager("select", i);
    run("Analyze Particles...", "size=0-Infinity circularity=0.00-1.00 show=Masks clear");
}

要回答您在其他答案中发布的其他问题

  • 您可以使用Roi.getName()获取当前投资回报率的名称,您可以使用该名称命名结果文件:

    current = Roi.getName();
    saveAs("Results", "/path/to/results/Results_" + current + ".txt");
    
  • 或者,您可以通过在 Analyze&gt;中选中显示标签,在结果的每一行中包含当前的ROI名称。设置测量... 对话框,产生类似于此的宏命令:

    run("Set Measurements...", "area display redirect=None decimal=3");
    

在发布与ImageJ宏相关的任何新问题之前,请先查看macro language documentationImageJ mailing list archives