ImageJ jar文件插件快捷方式创建

时间:2011-01-25 07:49:52

标签: java automation imagej

我一直致力于开发生物学项目,标记各种核标记以及DAPI染色,以确定标记物表达的百分比。我发现ImageJ插件ITCN(http://rsbweb.nih.gov/ij/plugins/itcn.html)在使用CLAHE程序时对每个标记都很有效。我的问题是我有大约6000张图像要分析,我希望能够自动化这个过程。我已经录制了一个宏,如下所示(它本身可以循环到单个图像文件):

open("image");
run("8-bit");
run("CLAHE");
run("ITCN ");
close();

但是ITCN图标不会自动开始分析,也没有一个容易编程的快捷方式来完成这项工作。我对任何Java编程都完全无知,我很想知道是否有可能解决这个可能很容易的问题。

提前致谢 迈克尔

2 个答案:

答案 0 :(得分:1)

ITCN插件实现为PlugInFrame,其设置不可录制,正如您所发现的那样。但是,查看源代码,一旦收集了选项,插件就会使用另一个名为ITCN_Runner的类,您应该能够以编程方式调用它。

但是,您无法从宏语言中执行此操作。可能最简单的替代方法是使用ImageJ的内置Javascript脚本。例如,像往常一样启动Macro Recorder,但在左上角选择“JavaScript”。然后出现前几个命令(为了清楚起见,重新格式化):

imp = IJ.openImage("/home/mark/test.tif");
IJ.run(imp, "8-bit", "");
IJ.run(imp,
       "Enhance Local Contrast (CLAHE)",
       "blocksize=127 histogram=256 maximum=3 mask=*None* fast_(less_accurate)");

然后,如果您查看ITCN插件的源代码,您可以看到如何创建ITCN_Runner类并运行它 - 例如:

runner = new ITCN_Runner( imp,
                          1, /* width*/
                          5.0, /* minimum distance */
                          0, /* threshold */
                          false, /* detect dark peaks */
                          null /* mask ImagePlus */ )
runner.run()

在另一个窗口中生成输出,该窗口具有相同的名称,但前缀为"Results "

答案 1 :(得分:0)

谢谢Marc。

不幸的是,当我运行java脚本时会出现错误。

ReferenceError:未定义“ITCN_Runner”。 (#6)在第6行

它表示,ITCN亚军中有一个未知来源。我不知道这是否是代码的问题,我只是简单地将你的文件复制并粘贴到录音机中而不需要进入源代码,或者ITCN运行本身。

再次感谢,

迈克尔