信噪比是评估一个新的成像探针或者成像方法的重要指标之一。
最近看到一篇文章1,用到一种比较直观简单的信噪比估计方式。其基本思路是:
- 选取信号区域和背景区域ROI若干
- 假定信号区域的信号强度实际是真实强度与背景噪声强度的叠加,记作
SIG+BACK
- 然后将信号区域的
SIG+BACK
减去背景区域的BACK
得到真实的信号强度SIG
- 这个真实的信号强度
SIG
作为一个估计值,其 uncertainty 上限可通过SIG+BACK
和BACK
的方差之和开平方来计算 - 信噪比就是
SIG
和BK
的比值,同理,这个信噪比作为估计值,uncertainty 上限也可以通过一个公式来计算。
文章中关于该方法的描述节选如上图所示。果然还是用公式来描述更加清晰简洁。这里的计算非常简单,基本是初中数学难度。
接下来,我尝试将这套方法转换为一个python函数,方便后续有需要的时候调用。对于这个函数而言,首先给一个名字叫做 calculateSNR
,计算信噪比。然后要想想这个函数的输入是啥?其实输入SIG+BACK
和 BACK
的数据就行。这个函数的输出,就是上述所有计算的中间结果,可以存到一个字典中。
更具体地,对于输入数据,它需要求平均,那必然不是一个数值,而得是一串数值。为了方便,我还是使用 pd.DataFrame 作为输入。从图像选取ROI中提取所有像素可参考👇
此例中计算信噪比的函数具体代码如下:
该部分仅登录用户可见
- Multiplex, Quantitative, High-Resolution Imaging of Protein:Protein Complexes via Hybridization Chain Reaction, ACS Chemical Biology, 2024. https://doi.org/10.1021/acschembio.3c00431 ↩
此处评论已关闭