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

标签 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 对象并设置导入选项?

最佳答案

所有 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 ma​​cro 命令的选项字符串,它都在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/

相关文章:

c# - 打开窗口(或对话框)以阻止主窗口而不停止进一步的说明

objective-c - 如何测试定义的宏在编译时是否为空(Cbjective-C/c)?

c - 宏中 '_'的用途是什么

javascript - 如何使用 php 和 ajax 创建对象数组

javascript - 增加复选框大小 - Phonegap Android

android - 如何在小部件上显示对话框?

c - 替换许多字符串常量的宏

javascript - 未捕获的语法错误 : Unexpected token ; after deploying to heroku in application. js

javascript - 选择菜单更改时执行以下 jquery 代码

javascript - 避免为每个元素重复使用 javascript