荧光EEM平滑教程(去除散射)

说明:本文为drEEM工具箱官网教程《Smoothing EEMs》的笔记。

瑞利散射是一种弹性散射。来自激发源的光子遇到溶液中的分子之后,反弹到各个方向。 最重要的是,瑞利散射(的发射波长)总是与激发波长完全相等。 因此,EEM中的瑞利散射表达式为Ex=Em

拉曼散射是一种非弹性散射。与瑞利散射相比,来自激发源的光子比例要小得多,它们冲击分子并造成非弹性散射。

对角线散射信号不能用于PARAFAC建模,因为它们的行为不是三线性的,需要进行处理。

一、确定散射切除参数

EEM中包含的散射有一阶瑞利、一阶拉曼、二阶瑞利、二阶拉曼,如下图所示。
在这里插入图片描述
下载本文顶部的资源Xstart.mat,将其导入工作区。该文件含有一个变量Xstart,类型为drEEM-dataset。

执行命令eemreview(Xstart,'samples',10),弹出窗口。点击Spectra按钮,鼠标变为定位十字。在对角线上选择一个峰,使得ex线在此处穿过两个峰。左键单击,可在em图中看到2个尖峰,黑线穿过的是预测的拉曼峰,红线穿过的是预测的瑞利峰。根据尖峰两侧的曲线走势,可以修复出尖峰处的原始数据。
在这里插入图片描述
(1)一阶拉曼、二阶瑞利
①将光标移到em图上,读取2个尖峰顶的Y值。
②接下来确定散射峰的边界。读取尖峰两端的X值。
③以尖峰顶为界,可以将散射峰分为左右两个部分,即小于部分和大于部分。
④确定Ram1,Ray2参数:参数取值为二元组[大于部分区间长度 小于部分区间长度]。使用smootheem函数移除散射。示例命令:eemreview(smootheem(Xstart,[ ],[9 11],[16 14],[ ],[0 0 0 0],[],3382,0))

(2)一阶瑞利
观察ex图,可以看到曲线的末尾部分与横轴重合。这些零值可能是散射归零造成的。然而,这样的数据是有问题的,因为散射可能掩盖了有机物荧光。因此,应该移除这些零值。
①从ex图确定曲线与横轴交点到散射竖线的距离,作为右半长度。
②从em图确定曲线与横轴交点到散射竖线的距离,作为左半长度。
③确定Ray1参数:[左半长度 右半长度]。使用smootheem函数移除散射。示例命令:eemreview(smootheem(Xstart,[7 6],[9 11],[16 14],[ ],[0 0 0 0],[],3382,0))

(3)二阶拉曼
在二阶拉曼区域,等高线不平滑,但很难辨认出散射对角线。
①通过遍历,找出散射明显的样本,如下图所示。
②点击Spectra按钮,然后单击散射峰。在em图中找到黑色竖线,以其为界将散射峰分为左右两个部分,即小于部分和大于部分。
③确定Ram2参数:[大于部分长度 小于部分长度]。使用smootheem函数移除散射。示例命令:ds = smootheem(Xstart,[7 6],[9 11],[16 14],[20 4],[0 0 0 0],[],3382,0)
在这里插入图片描述

二、微调散射切除参数

可以使用scanview函数查看每一张光谱中的散射切除情况。DOM荧光是平滑而宽泛的(broad),而残留的散射残留则会表现为荧光骤增。然而,如果样本数较多,逐个检查将是枯燥乏味的。此时,可以使用spectralvariance函数。该函数可视化所有样本的差异,并将差异汇总到一个图(称为标准差EEM)中。

执行命令spectralvariance(ds),命令行输出的警告信息如下:

Some samples have very little signal (e.g. blanks) and thus likely negatively impact the
results 
Consider removing the sample(s):  7   8   9  10  86  87  88  89
If no blanks (or similar) samples are present, the issue may be samples with high fluorescence values instead.

(1)使用subdataset函数,OutSample取值[7:10 86:89]Xtemp=subdataset(ds,[7:10 86:89],[],[])。执行命令spectralvariance(Xtemp),这次没有警告信息。放大标准差EEM仔细观察,发现一阶瑞利散射两侧等高线密集(看起来像阴影,称为残余),如下图所示。
在这里插入图片描述
(2)尝试扩展散射,即将Ray1参数两头各加5,即[7+5 6+5],重新处理得到新数据集。对其使用spectralvariance函数,这次一阶瑞利散射没有残余,但是一阶拉曼散射有残余,如下图所示。
在这里插入图片描述
(3)调整Ray1=[9 11+5],重新处理得到新数据集。对其使用spectralvariance函数,这次一阶拉曼散射没有残余,但是二阶拉曼散射有残余,如下图所示。
在这里插入图片描述
(4)调整Ray2=[20 4+10],重新处理得到新数据集。对其使用spectralvariance函数,这次所有散射都没有残余。然而,应该注意到,光谱底部是空白的,其上界约为em=300nm。应该将这部分空白裁剪掉。示例代码:ds=subdataset(smootheem(Xstart,[12 11],[9 16],[16 14],[20 14],[0 0 0 0],[],3382,0),[7:10 86:89],[Xstart.Em<300],[])。剩余的问题:左上角有一块空值三角形(由移除二阶拉曼散射造成)。注意这一波段的建模结果。如果组分在这一波段看起来奇怪,则需要使用subdataset函数切除包含空值三角形的em段。

三、插值

由于模型/数据的三线性结构,插值并不是必需的

如果要插值,注意插值二阶拉曼散射是没有意义的,所以NaNfilter.Ram2应取0。

判断插值是否有效是非常主观的,这也是PARAFAC分析尚未自动化的众多原因之一。

从结果中可以看到,插值会产生一些伪影,这些伪影很可能来自噪声样本。

【提示】在早期的PARAFAFC教程中,所有散射都是插值的。

四、评估结果

尝试进行快速PARAFAC建模:models=randinitanal(ds,2:5,2,'nonnegativity',1E-6)。目视检查是否有明显的问题。

完整的PARAFAC分析需要更多步骤,包括更多的拟合次数,以确保得到的是全局最小值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/163074.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入研究Java线程Dump分析:掌握发现和解决多线程问题的关键技巧

1 Thread Dump介绍 1.1 什么是Thread Dump Thread Dump是非常有用的诊断Java应用问题的工具。每一个Java虚拟机都有及时生成所有线程在某一点状态的thread-dump的能力&#xff0c;虽然各个 Java虚拟机打印的thread dump略有不同&#xff0c;但是大多都提供了当前活动线程的快…

关于python环境下的语音转文本,whisper或funASR

因为前阵子&#xff0c;有需求要将语音转为文本再进行下一步操作。感觉这个技术也不算是什么新需求&#xff0c;但是一搜&#xff0c;都是大厂的api&#xff0c;或者是什么什么软件&#xff0c;由于想要免费的&#xff0c;同时也要嵌入在代码中&#xff0c;所以这些都不能用。、…

一个三年女软件测试的成长之路

如果你恰好刚刚进入一家新公司&#xff0c;领导一上来就让你开展自动化测试&#xff0c;作为一名初出茅庐的测试新人&#xff0c;除了手足无措&#xff0c;你只能默默慨叹自己能力尚欠&#xff0c;眼前只会出现一个又一个无从下手的问题&#xff1a; 作为手工测试&#xff0c;…

55 零钱兑换

零钱兑换 题解1 DP另一种解法(更好记) 题解2 递归 给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。 计算并返回可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额&#xff0c;返回…

1024程序员节特辑 | ELK+ 用户画像构建个性化推荐引擎,智能实现“千人千面”

专栏集锦&#xff0c;赶紧收藏以备不时之需 Spring Cloud实战专栏&#xff1a;https://blog.csdn.net/superdangbo/category_9270827.html Python 实战专栏&#xff1a;https://blog.csdn.net/superdangbo/category_9271194.html Logback 详解专栏&#xff1a;https://blog.…

《Operating Systems:Three Easy Pieces》 操作系统导论【二】 虚拟化内存

【Operating Systems:Three Easy Pieces 操作系统导论 】 (九) 抽象&#xff1a;地址空间 早期系统 操作系统曾经是一组函数&#xff08;实际上是一个库&#xff09;&#xff0c;在内存中&#xff08;在本例中&#xff0c;从物理地址0开始&#xff09;&#xff0c;然后有一…

程序员各阶段应该掌握的技术与能力

人人都是产品经理 | 产品经理、产品爱好者学习交流平台 (woshipm.com)

华为云云耀云服务器L实例评测|使用clickhouse-benchmark工具对ClickHouse的性能测试

目录 引言 1 ClickHouse简介 2 利用docker安装ClickHouse 2.1 安装Docker 2.2 下载ClickHouse Docker镜像 2.3 创建ClickHouse容器 2.4 访问ClickHouse 3 创建测试表 4 运行 clickhouse-benchmark 5 分析结果 结语 引言 利用华为云的云耀云服务器L实例&#xff0c…

lunux查找占用内存前10的进程

1、使用Top命令查询进程 输入 top 命令&#xff0c;然后按下大写M按照内存MEM排序&#xff0c;按下大写P按照CPU排序。 2、查询占用CPU最高的前10个进程 ps aux|head -1;ps aux|grep -v PID|sort -rn -k 3|head 3、查询占用内存最大的前10个进程 ps aux|head -1;ps aux|grep …

【ELK使用指南 2】常用的 Logstash filter 插件详解(附应用实例)

Logstash filter 一、logstash filter过滤插件的常用模块简介二、grok 正则捕获插件2.1 grok插件的作用2.2 内置正则表达式2.3 自定义正则表达式 三、mutate 数据修改插件3.1 mutate插件的作用3.2 常用的配置选项3.3 mutate插件应用实例 四、multiline 多行合并插件4.1 multili…

电容元件符号与工作原理:电子电路中的电荷储存利器 | 百能云芯

电容是电子电路中常见的元件之一&#xff0c;它具有储存电荷的能力。在电路图中&#xff0c;电容有一个特定的元件符号&#xff0c;用于表示其存在和连接方式。接下来&#xff0c;云芯带您深入了解电容的元件符号以及它的工作原理。 电容的元件符号通常由两个平行的线段组成&am…

世界粮食日:宏工科技有对策,赋能食品生产高效可持续发展

10月16日是世界粮食日。随着全球人口的增长&#xff0c;人们对高品质食品的需求也越来越大&#xff0c;如何实现“更好生产、更好营养”成为了食品生产与供应的重要话题。15年来&#xff0c;宏工科技专注物料处理自动化领域&#xff0c;提供食品物料处理一站式解决方案以提高生…

滴滴弹性云基于 K8S 的调度实践

上篇文章详细介绍了弹性云混部的落地历程&#xff0c;弹性云是滴滴内部提供给网约车等核心服务的容器平台&#xff0c;其基于 k8s 实现了对海量 node 的管理和 pod 的调度。本文重点介绍弹性云的调度能力&#xff0c;分为以下部分&#xff1a; 调度链路图&#xff1a;介绍当前弹…

Pycharm安装第三方库的详细教程

**常用方法一&#xff1a;**内部安装 这种安装方法是我们经常使用的一种&#xff0c;进入到pycharm界面中&#xff0c;点击菜单栏上的file选项&#xff0c;选择settings&#xff0c; 找到界面中的Project Interpreter 或者 Python interpreter&#xff0c;点击““号&#xf…

2023 年诺贝尔奖花落谁家?

文章目录 2023 年诺贝尔奖&#xff0c;花落谁家&#xff1f;2023年诺贝尔经济学奖2023年诺贝尔和平奖2023年诺贝尔文学奖2023年诺贝尔化学奖2023年诺贝尔物理学奖2023年诺贝尔生理学/医学奖 2023 年诺贝尔奖&#xff0c;花落谁家&#xff1f; 2023年诺贝尔奖于10月2日至9日陆续…

淘宝开放平台 API 获取淘宝天猫店铺订单接口

业务场景&#xff1a;作为全球最大的 B2C 电子商务平台之一&#xff0c;淘宝&#xff08;天猫&#xff09;平台提供了丰富的商品资源&#xff0c;吸引了大量的全球买家和卖家。为了方便开发者接入淘宝平台&#xff0c;淘宝平台提供了丰富的 API 接口&#xff0c;其中商品详情接…

Linux-Jconsole连接远程服务器

Jconsole连接远程服务器 一、修改jmxremote.password.template文件二、启动jar项目三、jconsole远程连接1、打开的你jconsole2、远程连接 一、修改jmxremote.password.template文件 进去你的/idk/jre/lib/management目录下可以看到jmxremote.password.template文件 修改jmxr…

23.项目开发之量化交易抓取数据QuantTradeData(二)

后端业务&#xff1a;定时更新“A股日线行情”数据 需求说明 为了获取前一天的最新数据&#xff0c;我们需要每天晚上10点定时刷新daily股票列表基础信息&#xff0c;并将最新数据插入或更新到数据库中。 如果该内容是在当天交易日信息未更新前查询&#xff08;15~16点之前&a…

NAT网关在阿里云的应用

NAT网关&#xff08;Network Address Translation Gateway&#xff09;是一种网络地址转换服务&#xff0c;提供NAT代理&#xff08;SNAT和DNAT&#xff09;能力。NAT是用于在本地网络中使用私有地址&#xff0c;在连接互联网时转而使用全局 IP 地址的技术。NAT实际上是为解决I…

kubernetes 多集群管理和联邦集群将是下一波运维浪潮

问题 调研一下国内外K8s平台软件&#xff0c;哪个具有创建标准的K8s集群的功能&#xff1f; 背景 随着云原生技术在越来越多的企业和组织中的大规模落地&#xff0c;如何高效、可靠地管理大规模资源池以应对不断增长的业务挑战成为了当下云原生技术的关键挑战。在过去的很长…