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

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


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

提前致谢
麦可

最佳答案

正如您所发现的,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 "前缀的窗口中产生输出。

10-04 17:52