前几期真相文章得到了读者积极的反馈,其中提问最多的就是这个公式:

首先,大家觉得这个公式太有用了。以前只能定性地评价图像质量,现在一下子就能直接算出信噪比,瞬间高大上了许多有木有。然而,杯具的现实是,95%的人都找不到相机的出厂报告,也就是说并不知道自己相机的 Gain 是多少。不知道 Gain, 那这个公式岂不就成了浮云啊!

别急,本期我们就来披露分钟测算相机增益的秘笈,大家准备好打赏哈!

01公式推导

哈哈,公式是烦人的,但也是必须的。

我们知道,当相机工作在光子散粒噪声(Shot Noise)限制区时:

相机拍到的图像,亮度是以灰度值(ADU)为单位的, 我们可以用图像分析软件(如我们用过的 Image J)计算出感兴趣区 (ROI) 的平均灰度值 Mean-ADU 和标准差 SD-ADU (即以 ADU 为单位的噪声)。

以上公式①变为:

这样,我们就可以计算出:

以上计算中,图像的标准差即代表噪声的前提是,图像区域内没有任何样品结构造成的亮度变化,否则标准差还包含这个结构信息。为此,我们可以连续拍摄两张同样场景的图像,然后把两张图像相减。相减后的图像就只包含光子散粒噪声了。如果以 SD-subtract 代表差值图像的标准差SD-image1和SD-image2代表单张图像的标准差,则以下公式成立:

因为两张图像设置完全相同,SD-image1 = SD-image2,所以:

那么,以上公式最后变为:

这样算出的 Gain 单位为 e–/ADU。

02拍摄图像

太好了,公式终于结束了。现在就来拍摄图像,通过公式⑤,我们知道只需要拍摄3张图像,就可以计算出 Gain 了。

好的,两分钟计时开始哦~

01

拍摄一张短曝光时间的黑图像 (bias 图像) 以计算offset:我们知道,对同一台相机,偏置(offset)是一个常数。方法很简单,在相机完全无信号的情况下,(如显微镜设为全部光都到目镜,或者盖上镜头盖),将曝光时间设为0, 拍摄一帧图像。

02

拍摄两张平均亮度大概在相机动态范围中间区域的图像。如果您的相机是12bit的,有4096 灰度级,那么图像的平均亮度最好在 2000 左右。这个可以通过调整曝光时间,或照明光强度来实现。当然,其实要求并不那么严格,基本要求是图像上不能有接近饱和(>4000 ADU, 此时相机失去了线性度),或太暗( <200ADU, 此时相机没有工作在光子信号限制区, 我们计算的条件不满足)的区域。如果您的相机是 14bit 的,那么灰度级是16384, 上面的值需要按比例进行调整。

03计 算

1. 首先在 Image J 中打开 bias 图像,用 Analyze>measure, 得到图像的 mean 值即为 Offset。

2. 接下来,打开另外两张图片,选择 Analyze > Measure 得到两张图片的平均灰度值;然后再用 Analyze > Summarize 就可以得到平均值 Mean-Image1, Image2

3. 计算差异图像的标准差:选择 Analyze > Image Calculator,将两张图片进行 subtract,并勾选 32-bit (float) result,得到两张图片的差值图像。

选择 Analyze > Measure 即可看到差值图像的标准差 SD-substarct:

4. 然后代入前面的公式⑤,我们就可以算出系统增益啦!(表忘了减去偏置值哦~)

以上就是两分钟快速计算相机增益的方法啦!希望对大家有所帮助。另外我们总结了一些关于 Gain 的事实。

计时结束,完美!第一次可能慢一些,第二次做应该两分钟都不用吧!

  • CCD/CMOS 相机的 Gain 是出厂设置好的,不会改变;

  • EMCCD 的 EM Gain 会随着使用老化衰减,正常使用 7~10 年左右;我们推荐每隔一段时间校准一次;

  • 根据厂家不同,Gain 有多种表示方式:有些相机只有一个 Gain ,有些有三个 Gain ,有些连续可调(如 0.5x-20x), 或 ISO100 – ISO1200 等等。以上测试,只对应当时设定的那个 Gain 有效;如果实际使用时,因为样品或成像方式变化,需要改变 Gain 的设置,对每个 Gain 都需要测量。建议在保存图像时,在文件名上反映出 Gain 的设置;

  • 同一台相机,Gain 的倍数越大,相机的满阱容量越小(更早饱和);

  • 同一台相机,在软件中调节 Gain 的设置,图像亮度会变化,但实际探测到的电子数不变,因此信噪比变化不大;

  • Binning 不影响 Gain;

  • 行行好,把测算出的 Gain 值记在小纸片上贴起来供大家使用吧!

做成像的你不能不了解的真相7-两分钟测算相机增益(Gain)的更多相关文章

  1. 做成像的你不得不了解的真相2-灵敏度和QE

    科研级相机的灵敏度由三个主要参数决定: 探测器的QE, 像元尺寸和相机噪声. 后两项我们以后再做专题讨论.这期先讲讲小编认为顶顶重要,看起来最容易理解,但是其实还有些奥妙的QE. QE-量子效率 QE ...

  2. 【ABAP系列】SAP ABAP 模拟做成像windows一样的计算器

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP ABAP 模拟做成像wind ...

  3. Qt 学习之路 2(19):事件的接受与忽略(当重写事件回调函数时,时刻注意是否需要通过调用父类的同名函数来确保原有实现仍能进行!有好几个例子。为什么要这么做?而不是自己去手动调用这两个函数呢?因为我们无法确认父类中的这个处理函数有没有额外的操作)

    版本: 2012-09-29 2013-04-23 更新有关accept()和ignore()函数的相关内容. 2013-12-02 增加有关accept()和ignore()函数的示例. 上一章我们 ...

  4. 半天做完的数据报表,YonBuilder只要十几分钟,0代码开发

    进入数字化时代,拍脑袋的决策方式显然不靠谱,一切要靠数据说话.与信息化时代相比,数字化时代的企业对数据的应用更广泛.更深入.为了应对激烈的市场竞争,企业经营决策者们对数据的依赖度越来越高,企业各个业务 ...

  5. 做了一个js的拉动遮罩层,两个图片分别显示的效果

    想做成车修好了和没修好的对比,所以需要两个图片.需要用到的知识点, 1.定位 2.mouse 的事件(代码中体现) 3.鼠标指针的移动距离算法 4.css中,cursor的应用 好了,废话不多说 ,直 ...

  6. VWAP算法(成交量加权平均价)

    算法交易其实主要是用在基金公司.券商量化比较多.例如我已经选好股,要大量买入,但是单凭交易员的操作海量单而且要完成买入100万股这些的操作是有点的困难的.那么这时候怎样解决拆单,防止冲击成本的问题呢? ...

  7. time wait 整理

    目录 状态转换图 1.谁会进入time wait状态: 主动发起断开连接的一方调用close()函数发送FIN并进入FIN WAIT 1状态,当收到对面反馈的ack之后会进入FIN WAIT2状态.之 ...

  8. OpenGL中glRotatef()函数究竟对矩阵做了什么

    OpenGL中glRotatef()函数究竟对矩阵做了什么 我们知道OpenGL中维持着两套矩阵,一个是模型视图矩阵(model view matrix),另一个是投影矩阵(projection ma ...

  9. wpf做的3d滑动gallery

    原文:wpf做的3d滑动gallery wpf做的3d滑动gallery 随着iphone\ipad的流行及热捧,现在做移动产品不管是什么平台的,领导总想做成像ios系统的样子.自从微软发布了wind ...

随机推荐

  1. 单变量线性回归(Linear Regression with One Variable)与代价函数

    所谓的单变量线性回归问题就是监督学习的一部分. 通过构建数学模型给出一个相对准确的数值,也就是预测模型,通过将数据通过数学模型,衍生至回归问题 通过以下的几个例子,我们来研究单变量线性回归. 1.王阿 ...

  2. 尝试解决 : Microsoft Visual C++ 14.0 is required 的问题

    当在pycharm  中安装  gevent 的时候 发生了  错误   晚上搜索的时候发现  解决问题有两种 方法 1  是   下载  whl  文件  通过二进制的方式 导入模块的包   想了想 ...

  3. QMainWindow的空间布局结构

    简单讲一下Qt的QMainWindow的结构,Qt的顶级窗口有三种类型,首先是万恶之源(...应该说是大部分控件的父类...)的QWidget,然后是QMainWidget和QDialog,后面两者也 ...

  4. MST(最小生成树)——Prim算法——HDU 1879-继续畅通工程

    Prim算法很好理解,特别是学完了迪杰斯特拉算法之后,更加能理解Prim的算法思想 和迪杰斯特拉算法差不多,由于最后要形成连通图,故任意指定一个点,作为初始点,遍历所有点,以当前最小权值的点(和迪杰斯 ...

  5. 吴裕雄--天生自然MySQL学习笔记:MySQL 复制表

    如果需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等. 如果仅仅使用CREATE TABLE ... SELECT 命令,是无法实现的. 如何完整的复制MySQL数据表,步骤如下: 使用 ...

  6. ZJNU 2340/2341/2343 - 罗小黑的“礼物”Ⅰ/Ⅱ/Ⅲ

    把一位数.两位数.三位数……这些所在的范围分开判断 可得1~9这些数范围在[1,9]内 10~99内共有90个数,每个数占两位,所以共有180位在,范围在[10,189]内 同理,100~999内共有 ...

  7. DFS判断连通图

    因为是连通图,所以从任意一点出发,一定可以通过一遍深度优先遍历就能走过所有的点和边,就可以利用这个性质来很容易的通过DFS判断图是否为连通图 下面是具体算法:

  8. shell中通过sed替换文件中路径

    通常sed指令修改行内容时使用:sed -i " 9 s/^.*/"type in what you want modified!"/" 其中"typ ...

  9. eclipse启动tomcat出现8080,8009,8005端口被占用的问题

    有时候我们在eclipse中启动项目时,Tomcat服务器会报错,显示8080.8009.8005这几个端口被占用,此时你用debug启动项目时会发现不管用,console控制台什么信息也没有,此时产 ...

  10. 【转载】Github上优秀的.NET Core项目

    Github上优秀的.NET Core项目 Github上优秀的.NET Core开源项目的集合.内容包括:库.工具.框架.模板引擎.身份认证.数据库.ORM框架.图片处理.文本处理.机器学习.日志. ...