我一直在从事发育生物学项目,该项目标记各种核标记物以及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 "
前缀的窗口中产生输出。