如何在运行后创建空的Result表(“Analyze particles ...”)imageJ

时间:2014-06-04 12:35:44

标签: imagej

我试图在ImageJ中创建一个空的Result表。

我希望能够使用分析粒子:

run("Analyze Particles...", "size=8-100 circularity=0.00-1.00 show=Nothing display clear include record");

但是,如果检测到的粒子数为零,我希望得到一个结果表,其中包含我经常得到的所有列,如标签,面积,平均值等。(和用零填充它们。

原因是,我希望将图像中的结果包含在内,而不计算零粒子'。我在批处理模式下运行以分析多个图像上的粒子,并在我写入文件的另一个自定义表中提取一些简单的统计信息。 我试过用

setResult()

,但是当没有计算粒子时它似乎不起作用。我想使用Result表的原因是我使用

getResult()

检索我放入自定义输出表的值...

我查看了文档和不同的论坛,但找不到解决方案。

我期待着任何帮助或建议。

1 个答案:

答案 0 :(得分:0)

  • 选中 Summarize 选项运行Analyze Particles...时,即使未找到任何粒子,也会获得包含一行的汇总表。

  • 如果要在主结果表中记录新行,则应使用setResult("Label", row, string),如下所示添加标签设置为图像标题的新行,并将所有列设置为{ {1}}:

    0
  • 如果您想使用与标准ImageJ结果表不同的自定义结果表(在窗口标题中显示结果的表),您最好使用{{3} },您可以直接访问JavaScript scripting类,例如:

    currentNResults = nResults;
    run("Analyze Particles...", "display summarize");
    if (nResults == currentNResults) {  // if Analyze Particles did not find any particles
        setResult("Label", nResults, getTitle());
    }
    

希望有所帮助。