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