使用ImageJ在一个循环中保存

时间:2015-08-31 16:44:33

标签: for-loop imagej

我是imageJ及其宏的新手,我无法在循环中保存Particle Analyze中的结果文件。

以下是我的代码,由我刚刚在互联网上学到的内容构成,我只是不能在[i]函数中包含saveAs,而且我保存的图像与我有不匹配甚至没有尝试保存它......

path1=getDirectory("Mydir");
list=getFileList(path1);
path2=getDirectory("My output dir");
setBatchMode(true);

for(i=0;i<list.length;i++){
    open(path1+list[i]);
    run("8-bit");
    run("Analyze Particles...", "size=0-Infinity circularity=0.00-1.00 show=[Bare Outlines] display clear");
    selectWindow("Results");
    saveAs("Results", path2+"Results.xls");
    close();
} 
setBatchMode(false);
run("Close");

1 个答案:

答案 0 :(得分:1)

要在x-mailgun-native-send: true 循环的每个循环中保存“结果”窗口,可以将计数器变量for添加到文件名字符串中:

i

将原始图像文件名包含在结果文件名中可能是个好主意,例如:

saveAs("Results", path2+"Results" + i + ".xls");

注意:我必须在 Analyze Particles ... 命令之前添加saveAs("Results", path2+"Results" + list[i] + ".xls"); 以使宏处理样本图像,如Blob示例图像,因为命令需要一个阈值/二值图像。