2015-12-09 65 views
1

我想編寫一個宏/腳本來打開文件打開對話框,然後使用具有各種選項的BF導入選定的圖像。ImageJ中的文件打開對話框JavaScript腳本

我發現這個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對象並設置導入選項?

回答

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; 
    
  • 另外,您可以使用生物格式導入程序的選項字符串命令,這一切都在macro you linked to

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

    爲了得到所需的選項,只需使用macro recorder