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

首先,大家觉得这个公式太有用了。以前只能定性地评价图像质量,现在一下子就能直接算出信噪比,瞬间高大上了许多有木有。然而,杯具的现实是,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. OO第三单元“技术”博客

    主要针对第三单元的三次作业 JML语言的理论基础.应用工具链情况 JML指的是Java建模语言,全称是Java modeling language,是一种行为接口规范语言,可用于指定Java模块的行为 ...

  2. 个人网站一步一步搭建——(10)后台登陆dome

    Service+ui+dto架构 AJAX 方式登陆小DEMO 后面的.得配合vue 做后台管理了... 还是一个个dome做

  3. 目录服务不能与此服务器复制,因为距上一次与此服务器复制的时间已经超过了 tombstone 生存时间。

    1.PDC数据正常 2.其他DC无法复制,报如下错误:目录服务不能与此服务器复制,因为距上一次与此服务器复制的时间已经超过了 tombstone 生存时间. 3.直接强制复制即可 repadmin / ...

  4. jQuery 1.3.2 简单实现select二级联动

    jQuery 1.3.2 简单实现select二级联动  复制代码代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transiti ...

  5. 视频课程 | Kubernetes的兴起

    视频课程 | Kubernetes的兴起 原创: 京小云 京东云开发者社区  4月3日 京东云开发者社区在3月底于北京举行了以"Cloud Native时代的应用之路与开源创新"为 ...

  6. SQLServer多条件查询技巧

    2019-10-15  13:31:04 在实际项目开发中,有很多页面都会出现多条件查询功能,类似于这种情况: 牵扯到数据就少不了数据库了.这么多条件的查询,如果要用常规的if else来写判断逻辑的 ...

  7. B - Given Length and Sum of Digits... CodeForces - 489C (贪心)

    You have a positive integer m and a non-negative integer s. Your task is to find the smallest and th ...

  8. Python—程序设计:单例模式

    单例模式 单例模式(Singleton Pattern)属于创建型模式,它提供了一种创建对象的最佳方式.这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建,并提供一种访问其 ...

  9. VCRedist_x86.exe Vcredist_x64.exe

    Update for Visual C++ 2013 and Visual C++ Redistributable Package https://support.microsoft.com/en-u ...

  10. python学习笔记-面向对象设计

    前言 1.三大编程范式: 面向过程编程 函数式编程 面向对象编程 2.编程进化论 1.编程最开始就是无组织无结构,从简单控制流中按步写指令 2.从上述的指令中提取重复的代码块或逻辑,组织到一起,便实现 ...