我們上幾期的真相系列文章討論了信噪比(做成像的你不能不了解的真相3 - 信噪比1;做成像的你不能不了解的真相3 - 信噪比2) 和灰度值與電子數的換算(增益Gain, 灰度值與電子數-做成像的你不能不了解的真相4)。本期我們以Image J 為例,討論一下怎樣使用圖像分析軟件,對圖像的信噪比進行定量分析。
理論上說,信噪比是對每個像素亮度變化的統計分析。即使在相同條件下拍照,由於噪聲的存在,同一像素的亮度是變化的。測量信噪比,需要在同樣條件下拍攝多張圖像,然后對感興趣的像素在這一系列圖像中的亮度做統計分析: 這些亮度的平均值為信號,標准方差為噪聲。
然而,現實中我們通常只有一張圖像,以上的分析很難實現。以下我們討論只有一張圖像時,簡化的信噪比分析方法。
01感興趣區域(ROI) 的直方圖統計分析
當感興趣區域(ROI)內的信號均勻時,這個區域內的像素亮度的平均值代表信號,標准方差代表噪聲。當這個區域的像素有足夠數量時,比如100個或以上,即使只有一張圖像,分析的結果和上述使用多張圖像的分析結果相同。
例1
測量一台相機的偏置 (offset)和讀出噪聲(read noise)。我們把顯微鏡的光設置為全部到目鏡,或者蓋上相機的鏡頭蓋,用很短的曝光時間(比如1ms),這張圖像中僅含偏置offset和讀出噪聲 read noise,沒有信號,稱為Bias圖像。
顯然,此時滿足以上我們說的分析區域的信號均勻的條件。那么,只要測量這張圖像上所有像素的亮度平均值和標准偏差,我們就能得到想要的結果了。
打開Image J, Analyze –> Histogram (直方圖)。 這時我們看到的Histogram 窗口中 Mean 就是信號平均值(此時為offset), Std.Dev 就是噪聲(此時為讀出噪聲)。 當然,這里的單位還是灰度值(ADU)。我們需要知道此時的增益 (Gain), 就能把讀出噪聲換算成以電子數為單位了。Offset 通常習慣就用ADU的值。 此例中,相機Gain = 0.21e-/ADU,因此:
讀出噪聲 = Std.Dev * Gain = 8.279 * 0.21 = 1.74 e-.
分析以下圖像黃色的感興趣區域的信噪比。我們已知這個區域亮度是均勻的,首先使用Image J的ROI工具定義該區域。ROI可以是矩形,圓形,任意多邊形,甚至可以是一條線段。
這個例子使用矩形比較合適。定義好ROI后,使用以上描述的方法,可以得到mean為586,Std.Dev 為47.8。
已知相機的offset為103,以上ROI區域信噪比為:(587-103) / 47.8 = 10.12
注意,因為是比值,沒有換算為電子數,對結果沒有影響。
那這個區域信號的電子數是多少呢?因為Gain = 0.21e-/ADU,所以:
信號 = (587-103)*0.21 = 101.6 e-
之前說過,當圖像工作在光子信號噪聲限制區(Shot Noise Limited)時,信噪比等於信號電子數的平方根,即
和統計分析得到的結果符合,是不是很神奇?
再換個角度驗證這個方法的正確性。上面的圖像我們實際拍攝了100幀。同樣使用Image J,我們隨機定義黃色區域內的某一個像素為ROI(只有一個像素的ROI),然后用Image >Stacks> Plot Z-axis Profiles。
得到100張圖像中這個像素的亮度數據如下。
點擊這個曲線圖下方的More-Copy All Date, 可以把數據復制到excel做統計分析。
以下是隨機選取的4個點的結果。 可見,對亮度均勻的ROI, 使用多張圖法和單張圖法得到的結果是一致的。
以上方法,大家仔細想想就知道,需要ROI內包含一定數量的像素。像素個數越多,得到的結果越准確。給個參考值,大概100個像素就很好了。
強調一下,這種方法適合ROI亮度均勻的情況。當分析區域的信號不均勻時,比如樣品結構變化,計算出的標准方差不僅包含噪聲,也包含樣品結構信息,這時就不能使用上述方法了。
02線形強度(Line Profile)統計分析
如果把線(line)也作為一種特殊的ROI, 這個方法其實和上面的方法沒有本質區別。我們知道,有些實際的圖像,感興趣的區域可能是線形的。比如下圖,想分析線形結構的信噪比,如黃色曲線標出的部分。
Image J 的ROI定義工具可以定義直線,折線或自由曲線,如下圖:
定義好線后,選 Analyze >Plot Profile
我們就能得到下面的亮度曲線圖。點這個圖左下方的List,還能得到右邊的數據表。
在Plot 曲線窗口,選More> 同樣可以把這些數據復制粘貼到excel做統計分析,得到這條曲線下的像素點的mean和Std.dev 值, 從而計算出SNR。
和ROI直方圖方法類似,這個分析也要求線段有一定長度,越長測量結果的統計意義越好。
在實際評價圖像時,我們也經常使用這個Line Profile工具, 快速對圖像的信噪比有個大致的了解。如下圖,從左到右,圖像信噪比提高。相應的Line Profile表現為高頻成分減小。
或者,做相機靈敏度對比:中間的Line Profile曲線,清楚的體現了左右兩種相機的靈敏度差別。
03通過測量小區域的平均亮度,使用理論公式計算
如果要分析的對象,均勻的ROI或較長的Line都比較難定義,如下面圖像上亮的塊狀或點狀區域,這時可以先測量小的ROI的平均亮度,換算為電子數,再通過理論信噪比公式來計算。
關於理論信噪比公式,這里我們來復習一下:
同樣,使用ROI工具,定義ROI。
這次,我們使用Analyze > Measure 工具
每次測量可以得到右邊窗口的一行結果。可以多次對多個區域測量。
這次我們只使用mean值,因為此時ROI 太小,Std.Dev沒有准確的統計意義。以上得到的mean的單位為ADU,乘以Gain后換算為電子數。如果強度足夠大(比如對sCMOS相機>50e-),能肯定相機在光子信號限制區域(因為讀出噪聲<2e-), 直接計算平方根就得到SNR了。注意,計算時要先減去offset。
如果信號比較弱,在Read Noise 限制區或過度區,比如我們前面例子的相機,如果信號在10e- 以下,最好把讀出噪聲計算在內,用我們用過的完全的公式:
當然,這個方法有一定誤差,因為使用的樣本點較少,得到的平均值精度受影響。所以在允許的情況下,應該盡量把ROI定義大一些。
以上我們討論了基本的信噪比分析方法。希望能對你的工作有幫助。到此我們的不能不了解的真相系列文章也告一段落了。請繼續關注我們后續的相機技術文章。