在 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 图片。
我是 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 图片。