信噪比是评估一个新的成像探针或者成像方法的重要指标之一。

最近看到一篇文章1,用到一种比较直观简单的信噪比估计方式。其基本思路是:

  1. 选取信号区域和背景区域ROI若干
  2. 假定信号区域的信号强度实际是真实强度与背景噪声强度的叠加,记作 SIG+BACK
  3. 然后将信号区域的 SIG+BACK 减去背景区域的 BACK 得到真实的信号强度SIG
  4. 这个真实的信号强度 SIG 作为一个估计值,其 uncertainty 上限可通过 SIG+BACKBACK 的方差之和开平方来计算
  5. 信噪比就是 SIGBK 的比值,同理,这个信噪比作为估计值,uncertainty 上限也可以通过一个公式来计算。

文章中关于该方法的描述节选如上图所示。果然还是用公式来描述更加清晰简洁。这里的计算非常简单,基本是初中数学难度。

接下来,我尝试将这套方法转换为一个python函数,方便后续有需要的时候调用。对于这个函数而言,首先给一个名字叫做 calculateSNR,计算信噪比。然后要想想这个函数的输入是啥?其实输入SIG+BACKBACK 的数据就行。这个函数的输出,就是上述所有计算的中间结果,可以存到一个字典中。

更具体地,对于输入数据,它需要求平均,那必然不是一个数值,而得是一串数值。为了方便,我还是使用 pd.DataFrame 作为输入。从图像选取ROI中提取所有像素可参考👇

此例中计算信噪比的函数具体代码如下:

该部分仅登录用户可见


  1. Multiplex, Quantitative, High-Resolution Imaging of Protein:Protein Complexes via Hybridization Chain Reaction, ACS Chemical Biology, 2024. https://doi.org/10.1021/acschembio.3c00431
最后修改:2024 年 09 月 06 日
请大力赞赏以支持本站持续运行!