我是使用imageJ并创建自己的代码的新手,无论如何,我正在尝试创建一个同时运行所有roi的循环,但我无法做到这一点。到目前为止,这是我的代码:
input = "S:\\Research Projects\\BAC\\machine training set\\Results_1stRound\\2016Data_1stRound\\epoch_based_training_0.7_TPF=0.615_FP=2.110\\SID130871_9999.330357336093230241152104825447607218951\\";
output = input;
function action(input, output, filename) {
open(input + filename);
setThreshold(112, 255);
run("Create Selection");
roiManager("Add");
roiManager("Select", 0);
saveAs("selection", output + filename);
close();
roiManager("Deselect");
roiManager("Delete");
}
list = getFileList(input);
for (i = 0; i < list.length; i++)
action(input, output, list[i]);
我想要循环做的是查看我拥有的所有不同的SID文件,所以我不需要输入中的特定SID部分,但我不知道如何创建一个循环以便它通过文件夹(SID文件)和子文件夹来创建rois。截至目前,我必须将特定的SID文件放在输入中,因此任何有关如何创建循环以查看不同SID文件然后创建rois的帮助都会很棒。
答案 0 :(得分:0)
您可以在ImageJ邮件列表存档中找到一些宏示例和示例,如何迭代嵌套文件夹:
https://imagej.nih.gov/ij/macros/BatchProcessFolders.txt
http://imagej.1557.x6.nabble.com/batch-process-macro-td4469342.html