我修改了在 ImageJ 留言板上找到的以下宏以批量拆分通道,创建一个名为“OneChannel”的新文件夹并将输出保存在新文件夹中。代码按预期工作:它创建新文件夹,拆分通道,并以新名称保存它们。唯一的问题是它将新文件保存在与原始文件相同的文件夹中,之后我必须手动将它们拖到新创建的文件夹中。我试过弄乱这个,但我不能让它工作。任何输入将不胜感激,我对 Java 很陌生。
dir=getDirectory("Choose a Directory");
print(dir);
splitDir= dir + "OneChannel";
print(splitDir);
File.makeDirectory(splitDir);
list = getFileList(dir);
for (i=0; i<list.length; i++) {
if (endsWith(list[i], ".tif")){
print(i + ": " + dir+list[i]);
open(dir+list[i]);
imgName=getTitle();
baseNameEnd=indexOf(imgName, ".tif");
baseName=substring(imgName, 0, baseNameEnd);
run("Split Channels");
selectWindow(imgName + " (blue)");
close();
selectWindow(imgName + " (green)");
saveAs("Tiff", splitDir + baseName + "-AnkG.tif");
close();
selectWindow(imgName + " (red)");
run("Close All");
} else {
write("One Channel Conversion is Complete");
}
}