在 ImageJ 循环中另存为

SaveAs in a loop with ImageJ

我是 imageJ 及其宏的新手,我无法在循环中保存来自粒子分析的结果文件。

这是我的代码,由我刚刚在互联网上学到的东西组成,我不能在 saveAs 函数中包含 [i] 并且与保存图像时不匹配我什至还没有尝试保存它...

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");

要在 for 循环的每个循环中保存结果 window,您可以将计数器变量 i 添加到文件名字符串中:

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

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

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

注意:我必须在 Analyze Particles... 命令之前添加 setAutoThreshold("Default"); 以使您的宏可以处理样本图像,例如 Blob 示例图像,因为命令需要 thresholded/binary 图片。