ImageJ Javascript 脚本中的文件打开对话框

File open dialog in ImageJ Javascript Script

我想写一个macro/script打开一个文件打开对话框,然后使用各种选项的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 对象并设置导入选项?

所有的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 命令的选项字符串,都在macro you linked to:

    run("Bio-Formats Importer", "open=" + path + "autoscale color_mode=Default view=Hyperstack stack_order=XYCZT");
    

    要获得所需的选项,只需使用 macro recorder.