我正在编写我的第一个ImageJ宏脚本。现在,我有一个工作脚本,该脚本可以在一个目录中打开文件,从文件中删除前24个切片,然后将文件另存为tif。问题在于我的文件是堆栈文件,每个文件打开时,系统都会提示我输入生物格式导入选项。我想将选项编码到我的宏中,这样就不必每次都手动确定选项。有人可以给我一些指导吗?
dir1 = getDirectory("Choose Source Directory ");
dir2 = getDirectory("Choose Destination Directory ");
list = getFileList(dir1);
setBatchMode(true);
for (i=0; i<list.length; i++) {
showProgress(i+1, list.length);
open(dir1+list[i]);
// INSERT MACRO HERE
run("Slice Remover", "first=1 last=24 increment=1");
saveAs("TIFF", dir2+list[i]);
close();
}
替换行
open(dir1+list[i]);
with
s = "open=["+dir1+list[i]+"] autoscale color_mode=Grayscale rois_import=[ROI manager] view=Hyperstack stack_order=XYCZT";
run("Bio-Formats Importer", s);
字符串s
的确切格式取决于您对Bio-Formats导入程序的要求。如果您执行Plugins > Macros > Record
,然后打开其中一张图像,则可以“记录”要在宏中使用的字符串格式。
一种替代方法是告诉导入器仅使用对话框而不使用对话框。这可以通过在“生物格式插件配置”中检查所用文件类型的无窗口选项来实现。但是,这不是一个健壮的解决方案,因为它(对于)其他运行您的代码的人将不起作用。