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

时间:2015-12-09 23:52:48

标签: javascript dialog macros imagej imagej-macro

我想编写一个宏/脚本来打开文件打开对话框,然后使用带有各种选项的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对象并设置导入选项呢?

1 个答案:

答案 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