我想编写一个宏/脚本来打开文件打开对话框,然后使用带有各种选项的BF导入所选图像。
我发现这个JS脚本用于执行后一部分here:
importClass(Packages.loci.plugins.BF);
importClass(Packages['loci.plugins.in.ImporterOptions']); // 'in' is a reserved word, hence the different syntax
importClass(Packages.loci.common.Region);
var path = "/path/to/file";
var options = new ImporterOptions();
options.setId(path);
options.setAutoscale(true);
options.setCrop(true);
options.setCropRegion(0, new Region(x, y, w. h));
options.setColorMode(ImporterOptions.COLOR_MODE_COMPOSITE);
var imps = BF.openImagePlus(options);
imps[0].show();
我还找到了常规宏语言文件打开对话框here:
File.openDialog(title)
如何在JS脚本中执行这两项操作?具体来说,如何在JS中创建文件打开对话框?
如果使用宏IJM语言而不是Javascript更容易,那么如何创建BF对象并设置导入选项呢?
答案 0 :(得分:2)
所有ImageJ宏功能都在ij.macro.Functions
中实现,因此您可以在Functions.java
从 Javascript ,您可以使用ij.io.OpenDialog
:
importClass(Packages.ij.io.OpenDialog);
od = OpenDialog("Choose a file", null);
folder = od.getDirectory();
file = od.getFileName();
path = folder + file;
或者,您可以使用 Bio-Formats Importer 宏命令的选项字符串,它位于macro you linked to中:
run("Bio-Formats Importer", "open=" + path + "autoscale color_mode=Default view=Hyperstack stack_order=XYCZT");
要获得所需选项,只需使用macro recorder。