我想写一个宏/脚本来打开文件打开对话框,然后使用带有各种选项的 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 .
关于javascript - ImageJ Javascript 脚本中的文件打开对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34191283/