用ImageJ打开图片后,
1-1,Image → Type → 8-bit
1-2,Image → Adjust → threshold,弹出Threshold窗口。
1-3,如图,调节这个窗口中间两个横向的滚动条,使图片中的细胞为红色,背景为黑色,其中背景中的红点尽量少而小。其他的不动,然后点apply
如果做完这一步,你的图片中有的细胞的荧光是离散的很多点,而没有连成整片,那么请参考这篇。
1-4,Process → Binary → Fill Holes,这一步是将细胞中间的洞填满
1-5,Process → Binary → Watershed,这一步是把重叠的细胞从中间分割开。如果你的图片里面没有重叠的细胞,可以跳过此步。
1-6,先看步骤1-7。为了估计最小的细胞面积,可以使用魔棒工具选中一个相对较小的细胞,然后Analyze → Measure(或者按M键)计算其面积(弹出的页面中的Area一栏),然后依据其面积估计一个值。这个值可以很小,只要明显比背景的杂点大就行。由于在刚刚的measure中选择了一个细胞,我们随后还需要点击图片窗口,按shift+A取消选择。
1-7,Analyze → Analyze Particles, 弹出Analyze Particle窗口。如图,Size(inch^2)代表筛选细胞面积范围,默认值为“0-Infinity”。为了过滤掉背景中存在一些无关而面积很小的点,这里应该把0改为细胞可能的最小面积(通过1-6进行估计)。其余参数如图所示,尤其注意不要勾选Clear results。点击OK,弹出多个窗口,细胞数就在Summary窗口中。
批量操作多张相似图片
适合对多张相似的细胞图片进行计数。ImageJ将对这些图片进行完全相同的操作。
如果你要处理团状细胞,也就是用第一种方法,那么在批量处理前,你需要提前估计自己所有图片中的细胞面积最小值,估计方法见步骤1-6。
2-1,将需要进行相同操作的图片复制到同一个文件夹。然后用ImageJ打开任意一张图片。
2-2,Plugins → Macros → Record,弹出Recorder窗口。接下来你进行的每一步操作,都会以代码的形式记录在这个窗口。
2-3,按照第一种方法(需跳过步骤1-6)或者第二种方法一步步进行操作。如果出现误操作被记录下来,直接在Recorder窗口中删除对应的代码,再继续操作即可。
2-4,全选Recorder窗口中的所有代码并复制,然后关闭所有窗口(全都不用保存),只留下ImageJ主程序。
2-5,Process → Batch → Macro,弹出Batch Process窗口。Input选择计数图片所在文件夹,Output选择任意一个无用的文件夹即可,ImageJ会将处理过的图片存入Output选中的文件夹。Output Format选择PNG。然后将第4步复制的代码粘贴在最大的框中。注意,如果某行代码最前面有两个斜杠(“//”),则需要把每一行最前面的斜杠都删掉。然后点process,ImageJ就会自动对文件夹中所有图片进行相同的处理,并显示结果。结尾有参考代码。
参考代码:
run("8-bit");
setAutoThreshold("Default");
run("Threshold...");
setThreshold(10, 255);
run("Convert to Mask");
run("Fill Holes");
run("Watershed");
run("Analyze Particles...", "size=0.02-Infinity display exclude include summarize record add in_situ");
roiManager("Show All with labels");
roiManager("Show All");
正文已结束!如有疑问欢迎加博主微信w2689115745交流