LESS的叶绿素荧光模拟实现与操作

news2024/11/25 6:37:32

LESS的叶绿素荧光模拟实现与操作

  • 前情提要
  • FLUSPECT模型
  • 荧光的三维面元冠层辐射传输过程
  • 日光诱导叶绿素荧光模拟

前情提要

本文默认您对LESS (LargE-Scale remote sensing data and image Simulation framework) 模型和叶绿素荧光(Sun-Induced chlorophyll Fluorescence, SIF)有一定的了解。当然,您也可以在这里下载中文的简明手册,了解更多关于三维辐射模型的原理及LESS操作。

FLUSPECT模型

LESS在FLUSPECT基础上,模拟了多角度、多成像模式的冠层叶绿素荧光模拟。

FLUSPECT在PROSPECT的基础上,除了模拟叶片的反射率和透射率,还可模拟叶片正向和背向激发的叶绿素荧光。模型考虑了荧光在叶片中的再吸收。使用一种快速层加倍算法,快速求解12

FLUSPECT通过荧光激发矩阵( E F 211 × 351 EF_{211\times 351} EF211×351将400 – 750 nm的激发光谱( E 351 × 1 E_{351\times 1} E351×1)转化为640 – 850 nm的荧光光谱( F 211 × 1 F_{211\times 1} F211×1),光谱间隔为1 nm。受限于 E F 211 × 351 EF_{211\times 351} EF211×351的光谱采样间隔,在LESS中,模拟荧光时规定,激发光谱与荧光光谱的光谱间隔相等且固定,并且为整数个nm。 E F 211 × 351 EF_{211\times 351} EF211×351重采样到其他光谱间隔的方式比较特殊,需要考虑激发光谱的累乘相加如何在其他光谱间隔上实现。这里不加推导地给出重采样方法: E F u , v ~ = ∑ ∑ E F i , j i n c , i n c ∈ N + \widetilde{EF_{u,v}}=\frac{\sum\sum EF_{i,j}}{inc},inc\in\mathbb{N}^{+} EFu,v =inc∑∑EFi,j,incN+其中, E F i , j EF_{i,j} EFi,j为边缘补0后,与重采样的 E F ~ \widetilde{EF} EF 对齐的原始矩阵,inc为采样后波长间隔。下图展示了重采样带来的偏差,以5 nm间隔采样,能够较好地平衡模拟耗时与精度需求。

随着采样间隔的增加,重采样带来的偏差逐步增大

荧光的三维面元冠层辐射传输过程

在LESS中,沿用了“光线束(Ray bundle)”的概念,即每条光线(每个光子)是包含了多个波段的能量束。为了记录普通光子和荧光光子,需要生成波段范围在400 – 850 nm的光子,共n个波段,记普通光子携带的能量为 L t o t a l , 1 × n L_{total,1\times n} Ltotal,1×n,PSI荧光光子为 L P S I , 1 × n L_{PSI,1\times n} LPSI,1×n,PSII荧光光子为 L P S I I , 1 × n L_{PSII,1\times n} LPSII,1×n。其中,400 – 750 nm的能量会激发640 – 850 nm的叶片荧光。

此时, L t o t a l , 1 × n L_{total,1\times n} Ltotal,1×n激发 L P S I , 1 × n L_{PSI,1\times n} LPSI,1×n L P S I I , 1 × n L_{PSII,1\times n} LPSII,1×n的过程需要通过扩充后的荧光激发矩阵( M n × n M_{n\times n} Mn×n)描述,光子的散射过程通过散射矩阵描述,它们表示如下: M n × n = [ O E F ~ T O O ] , R n × n = d i a g { r 1 , r 2 , r 3 , . . . , r n } , M_{n\times n}=\begin{bmatrix}O&\widetilde{EF}^\mathrm{T}\\O&O\end{bmatrix},R_{n\times n}=diag\{r_1,r_2,r_3,...,r_n\}, Mn×n=[OOEF TO],Rn×n=diag{r1,r2,r3,...,rn}其中, E F ~ T \widetilde{EF}^\mathrm{T} EF T表示光线交点处的重采样荧光激发矩阵的转置,并认为后向荧光与反射光线一同传输,前向荧光与透射光线一同传输,r表示光线交点处的反射率或透过率。当r取反射率时, E F ~ \widetilde{EF} EF 取后向荧光激发矩阵;当r取透过率时, E F ~ \widetilde{EF} EF 取前向荧光激发矩阵。则荧光激发过程描述如下: { L P S I , 1 × n = L t o t a l , 1 × n × M P S I , n × n L P S I I , 1 × n = L t o t a l , 1 × n × M P S I I , n × n , \left.\left\{\begin{matrix}L_{PSI,1\times n}=L_{total,1\times n}\times M_{PSI,n\times n}\\L_{PSII,1\times n}=L_{total,1\times n}\times M_{PSII,n\times n}\end{matrix}\right.\right., {LPSI,1×n=Ltotal,1×n×MPSI,n×nLPSII,1×n=Ltotal,1×n×MPSII,n×n光子散射过程描述如下: L t o t a l , 1 × n = L t o t a l , 1 × n × R n × n 。 L_{total,1\times n}=L_{total,1\times n}\times R_{n\times n}。 Ltotal,1×n=Ltotal,1×n×Rn×n那么,当光线与能发射荧光的材质相交时,各种光子能量变化过程如下: { L P S I o u t , 1 × n = L t o t a l i n , 1 × n × M P S I , n × n L P S I I o u t , 1 × n = L t o t a l i n , 1 × n × M P S I I , n × n L t o t a l o u t , 1 × n = L t o t a l i n , 1 × n × R n × n + L P S I o u t , 1 × n + L P S I I o u t , 1 × n = L t o t a l i n , 1 × n × ( R n × n + M P S I , n × n + M P S I I , n × n ) , \left.\left\{\begin{array}{c}L_{PSIout,1\times n}=L_{totalin,1\times n}\times M_{PSI,n\times n}\\L_{PSIIout,1\times n}=L_{totalin,1\times n}\times M_{PSII,n\times n}\\L_{totalout,1\times n}=L_{totalin,1\times n}\times R_{n\times n}+L_{PSIout,1\times n}+L_{PSIIout,1\times n}\\=L_{totalin,1\times n}\times\left(R_{n\times n}+M_{PSI,n\times n}+M_{PSII,n\times n}\right)\end{array}\right.\right., LPSIout,1×n=Ltotalin,1×n×MPSI,n×nLPSIIout,1×n=Ltotalin,1×n×MPSII,n×nLtotalout,1×n=Ltotalin,1×n×Rn×n+LPSIout,1×n+LPSIIout,1×n=Ltotalin,1×n×(Rn×n+MPSI,n×n+MPSII,n×n)不妨记 T n × n = R n × n + M P S I , n × n + M P S I I , n × n T_{n\times n}=R_{n\times n}+M_{PSI,n\times n}+M_{PSII,n\times n} Tn×n=Rn×n+MPSI,n×n+MPSII,n×n

在每个交点处计算荧光光子是可行的,但计算量庞大,一般不在每处计算荧光光子能量。一般采取累乘转移矩阵的方式,计算光源能量与传感器接受能量之间的转化矩阵。

考虑一条有荧光的光线前向追踪路径中,两个面片对光子能量的改变,如下图。

一条含有荧光的光线与面片相交
对于荧光来说,光线与荧光面片i相交后,除了激发的荧光,还有散射的荧光,则出射的光线为: { L P S I i = L t o t a l i − 1 × M P S I i + L P S I i − 1 × R i L P S I I i = L t o t a l i − 1 × M P S I I i + L P S I I i − 1 × R i L t o t a l i = L t o t a l i − 1 × R i + L P S I i + L P S I I i \begin{cases}L_{PSI}^i=L_{total}^{i-1}\times M_{PSI}^i+L_{PSI}^{i-1}\times R^i\\L_{PSII}^i=L_{total}^{i-1}\times M_{PSII}^i+L_{PSII}^{i-1}\times R^i\\L_{total}^i=L_{total}^{i-1}\times R^i+L_{PSI}^i+L_{PSII}^i\end{cases} LPSIi=Ltotali1×MPSIi+LPSIi1×RiLPSIIi=Ltotali1×MPSIIi+LPSIIi1×RiLtotali=Ltotali1×Ri+LPSIi+LPSIIi面片i出射的光线与面片i+1相交后,出射的光线为: { L P S I i + 1 = L t o t a l i × M P S I i + 1 + L P S I i × R i + 1 L P S I I i + 1 = L t o t a l i × M P S I I i + 1 + L P S I I i × R i + 1 L t o t a l i + 1 = L t o t a l i × R i + 1 + L P S I i + 1 + L P S I I i + 1 。 \begin{cases}L_{PSI}^{i+1}=L_{total}^{i}\times M_{PSI}^{i+1}+L_{PSI}^{i}\times R^{i+1}\\L_{PSII}^{i+1}=L_{total}^{i}\times M_{PSII}^{i+1}+L_{PSII}^{i}\times R^{i+1}\\L_{total}^{i+1}=L_{total}^{i}\times R^{i+1}+L_{PSI}^{i+1}+L_{PSII}^{i+1}\end{cases}。 LPSIi+1=Ltotali×MPSIi+1+LPSIi×Ri+1LPSIIi+1=Ltotali×MPSIIi+1+LPSIIi×Ri+1Ltotali+1=Ltotali×Ri+1+LPSIi+1+LPSIIi+1

可以看到,光线传输过程保持了较好的一致性。如果将一条光线的三个组分拼接成一个3×n的行向量,表示为 ( L t o t a l , L P S I , L P S I I ) \left(L_{total},L_{PSI},L_{PSII}\right) (Ltotal,LPSI,LPSII),那么在面片i处出射的光线能量可表示为: ( L t o t a l i , L P S I i , L P S I I i ) 1 × 3 n = ( L t o t a l i − 1 , L P S I i − 1 , L P S I I i − 1 ) 1 × 3 n × [ T i M P S I i M P S I I i O R i O O O R i ] 3 n × 3 n = ( L t o t a l i − 1 × T i , L t o t a l i − 1 × M P S I i + L P S I i − 1 × R i , L t o t a l i − 1 × M P S I I i + L P S I I i − 1 × R i ) 。 \left(L_{total}^i,L_{PSI}^i,L_{PSII}^i\right)_{1\times3n}=\left(L_{total}^{i-1},L_{PSI}^{i-1},L_{PSII}^{i-1}\right)_{1\times3n}\times\left[\begin{matrix}T^i&M_{PSI}^i&M_{PSII}^i\\O&R^i&O\\O&O&R^i\end{matrix}\right]_{3n\times3n}\\=\left(L_{total}^{i-1}\times T^i,L_{total}^{i-1}\times M_{PSI}^i+L_{PSI}^{i-1}\times R^i,L_{total}^{i-1}\times M_{PSII}^i+L_{PSII}^{i-1}\times R^i\right)。 (Ltotali,LPSIi,LPSIIi)1×3n=(Ltotali1,LPSIi1,LPSIIi1)1×3n× TiOOMPSIiRiOMPSIIiORi 3n×3n=(Ltotali1×Ti,Ltotali1×MPSIi+LPSIi1×Ri,Ltotali1×MPSIIi+LPSIIi1×Ri)

从上面两次光线能量的变化中,可以总结出一条光线,从光源发出到传感器接收整个过程中,能量的变化。从光源发出的光线没有荧光成分,表示为 ( L e , 0 , 0 ) \left(L_{e},0,0\right) (Le,0,0),那么到达传感器的光线能量为: ( L t o t a l N , L P S I N , L P S I I N ) 1 × 3 n = ( L e , 0 , 0 ) 1 × 3 n × ∏ i = 1 N [ T i M P S I i M P S I I i O R i O O O R i ] 3 n × 3 n 。 (L_{total}^{N},L_{PSI}^{N},L_{PSII}^{N})_{1\times3n}=\begin{pmatrix}L_{e},0,0\end{pmatrix}_{1\times3n}\times\prod_{i=1}^{N}\begin{bmatrix}T^{i}&M_{PSI}^{i}&M_{PSII}^{i}\\O&R^{i}&O\\O&O&R^{i}\end{bmatrix}_{3n\times3n}。 (LtotalN,LPSIN,LPSIIN)1×3n=(Le,0,0)1×3n×i=1N TiOOMPSIiRiOMPSIIiORi 3n×3n

至此,得到传感器处,一条光线中的荧光能量和包含荧光的总辐射能量3。LESS在此基础上,精简了计算流程,大幅提高了荧光模拟效率。

日光诱导叶绿素荧光模拟

目前,LESS在FLUSPECT基础上模拟了区分/不区分光系统I和II的多角度、多成像模式的冠层叶绿素荧光模拟。用户只需将【Sensor】【Products】【Chl.F】置为非“No”,并给发射荧光的object赋上荧光光谱,即由FLUSPECT模型生成的光谱,其余操作与模拟BRF无异,即可模拟叶绿素荧光。

荧光模拟选项
波段间隔设置

【Sensor】【Products】【Chl.F】置为非“No”后,【Spectral bands】不允许更改,固定为400 nm起,以整数波长间隔增长至最多(不含)855 nm,可通过【Spectral bands】右侧的【Define…】按钮设置整数波长间隔。

LESS中内置了两个版本的FLUSPECT,分别为Fluspect_B_CX_P6(区分PSI和PSII荧光)和Fluspect_B_CX_PRO(不区分PSI和PSII荧光),用户将【Sensor】【Products】【Chl.F】选为“Split PSI PSII”时使用前者,选为“Combine”时使用后者。两个模型对干物质含量和荧光量子效率的处理有些许不同,前者不区分干物质类别,但区分PSI和PSII的荧光量子效率,后者可以区分碳基干物质和氮基干物质,但不区分PSI和PSII的荧光量子效率。需要注意的是,只有干物质含量设为0时,后者才能区分干物质类别,否则不区分。当【Sensor】【Products】【Chl.F】置为“No”时,FLUSPECT只生成光谱,不生成荧光材质,可等同于PROSPECT。

FLUSPECT参数

LESS目前只模拟了叶片荧光发射后,在冠层中的辐射传输过程,无法精确刻画环境,如光照、温度等对叶片荧光产量的影响。用户可通过为object分组,赋予不同的叶片参数,即不同的FLUSECT输入参数,来近似描述环境的影响。

荧光产品存放在Results目录下,并带有“Fluor”标记。各荧光产品的介绍如下表。
在这里插入图片描述

荧光多角度文件及制图,和平行投影、鱼眼相机、透视投影的荧光影像


  1. Vilfan N, Van Der Tol C, Muller O, Rascher U and Verhoef W. 2016. Fluspect-B: A model for leaf fluorescence, reflectance and transmittance spectra. Remote Sensing of Environment, 186: 596-615 [DOI: 10.1016/j.rse.2016.09.017] ↩︎

  2. Vilfan N, Van Der Tol C, Yang P, Wyber R, Malenovský Z, Robinson S A and Verhoef W. 2018. Extending Fluspect to simulate xanthophyll driven leaf reflectance dynamics. Remote Sensing of Environment, 211: 345-356 [DOI: 10.1016/j.rse.2018.04.012] ↩︎

  3. egaieg O, Lauret N, Wang Y, Guilleux J, Chavanon E and Gastellu-Etchegorry J-P. 2023. Bi-directional Monte-Carlo modelling of solar-induced chlorophyll fluorescence images for 3D vegetation canopies in the DART model. International Journal of Applied Earth Observation and Geoinformation, 118: [DOI: 10.1016/j.jag.2023.103254] ↩︎

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023华为杯研究生数学建模研赛E题出血脑卒中完整论文(含28个详细预处理数据及结果表格)

大家好呀,从发布赛题一直到现在,总算完成了全国研究生数学建模竞赛(数模研赛)E题完整的成品论文。 本论文可以保证原创,保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成品论文。…

高级运维学习(十)系统安全

kali 实际上它就是一个预安装了很多安全工具的Debian Linux [rootmyhost ~]# kali reset kali reset OK. 该虚拟机系统用户名为:kali,密码为:kali 基础配置 $ ip a s # 查看网络IP地址,本例中查看到的是192.168.88.40 $ sudo systemctl start ssh # 启s…

java面试题-并发编程基础

1.线程的基础知识 1.1 线程和进程的区别? 难易程度:☆☆ 出现频率:☆☆☆ 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在指令运行过程中还需要…

驱动开发,基于gpio子系统编写LED灯的驱动,亮灭控制

1.gpio子系统介绍 一个芯片厂商生产出芯片后会给linux提供一个当前芯片中gpio外设的驱动,我们当前只需要调用对应的厂商驱动即可完成硬件的控制。而linux内核源码中的gpio厂商驱动有很多,这里linux内核对厂商驱动做了一些封装,提供了一系列的…

中秋国庆内卷之我爱学习C++

文章目录 前言Ⅰ. 内联函数0x00 内联函数和宏的比较0x01 内联函数的概念0x02 内联函数的特性 Ⅱ. auto(C 11)0x00 auto的概念0x01 auto的用途 Ⅲ. 范围for循环(C11)0x00 基本用法0x01 范围for循环(C11)的使用条件 Ⅳ. 指针空值nullptr(C11)0x00 概念 前言 亲爱的夏…

leetcode Top100(17)矩阵置零

给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]]示例 2: 输入&…

C++ -- 类型转换

目录 C语言中的类型转换 为什么C需要四种类型转换 C 类型转换 static_cast reinterpret_cast const_cast 添加关键字 volatile dynamic_cast 补充 RTTI 总结 C语言中的类型转换 在C语言中,如果赋值运算符左右两侧类型不同,或者形参与实参类型…

如何搜索浏览器添加印象笔记中搜藏的结果

在印象笔记记录的东西多了,就放在哪里不动,失去记录的意义了 1、如何将浏览器中添加印象笔记一块的搜索结果 2、需要两个步骤 第一:将浏览器中添加印象笔记的插件 第二:将印象笔记中的搜索方法勾上,如下 结果如下&…

【从0学习Solidity】41. WETH

【从0学习Solidity】41. WETH 博主简介:不写代码没饭吃,一名全栈领域的创作者,专注于研究互联网产品的解决方案和技术。熟悉云原生、微服务架构,分享一些项目实战经验以及前沿技术的见解。关注我们的主页,探索全栈开发…

反射详细说明

反射概述 反射是指对于任何一个Class类,在"运行的时候"都可以直接得到这个类全部成分。 在运行时,可以直接得到这个类的构造器对象:Constructor。 在运行时,可以直接得到这个类的成员变量对象:Field。 在运行时,可以直接得到这…

【从0学习Solidity】 40. ERC1155

【从0学习Solidity】40. ERC1155 博主简介:不写代码没饭吃,一名全栈领域的创作者,专注于研究互联网产品的解决方案和技术。熟悉云原生、微服务架构,分享一些项目实战经验以及前沿技术的见解。关注我们的主页,探索全栈开…

《动手学深度学习 Pytorch版》 7.1 深度卷积神经网络(AlexNet)

7.1.1 学习表征 深度卷积神经网络的突破出现在2012年。突破可归因于以下两个关键因素: 缺少的成分:数据 数据集紧缺的情况在 2010 年前后兴起的大数据浪潮中得到改善。ImageNet 挑战赛中,ImageNet数据集由斯坦福大学教授李飞飞小组的研究人…

Spring后处理器-BeanPostProcessor

Spring后处理器-BeanPostProcessor Bean被实例化后,到最终缓存到名为singletonObjects单例池之前,中间会经过bean的初始化过程((该后处理器的执行时机)),例如:属性的填充、初始化方…

第 364 场 LeetCode 周赛题解

A 最大二进制奇数 降序排序字符串&#xff0c;然后将最后一个 1 与最后一位交换 class Solution { public:string maximumOddBinaryNumber(string s) {sort(s.begin(), s.end(), greater<>());for (int i s.size() - 1;; i--)if (s[i] 1) {swap(s[i], s.back());break;…

【Oracle】Oracle系列之八--SQL查询

文章目录 往期回顾前言1. 基本查询&#xff08;1&#xff09;All&#xff08;2&#xff09;in/exists 子查询&#xff08;3&#xff09;union/except/intersect&#xff08;4&#xff09;group by&#xff08;5&#xff09;having&#xff08;6&#xff09;聚集函数&#xff1a…

SLAM从入门到精通(用c++实现机器人运动控制)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 之前的一篇文章&#xff0c;我们知道了可以通过wpr_simulation包仿真出机器人和现场环境。如果需要控制机器人&#xff0c;这个时候就需要rqt_robo…

AcWing 5153. 删除(AcWing杯 - 周赛)(结论+枚举)

思路&#xff1a; ACcode: #include<bits/stdc.h> using namespace std; #define int long long string s; void solve() {cin>>s;s"00"s;int lens.size();for(int i0; i<len; i) {for(int ji1; j<len; j) {for(int kj1; k<len; k) {int xs[i]*…

leetcode:2446. 判断两个事件是否存在冲突(python3解法)

难度&#xff1a;简单 给你两个字符串数组 event1 和 event2 &#xff0c;表示发生在同一天的两个闭区间时间段事件&#xff0c;其中&#xff1a; event1 [startTime1, endTime1] 且event2 [startTime2, endTime2] 事件的时间为有效的 24 小时制且按 HH:MM 格式给出。 当两个…

Windows 基于Visual Studio 开发Qt 6 连接MySQL 8

前提条件&#xff1a; 1、Visual Studio 2022 社区版(免费版) 2、Qt-6.5.1版本 3、MySQL 8 Qt 6 配置MySQL 8 动态/静态连接库和MySQL 8 驱动。 libmysql.dll 和libmysql.lib是QT所需的动态和静态链接库&#xff1b;qsqlmysql.dll 和qsqlmysql.dll.debug是Qt所需的mysql驱…

机器人过程自动化(RPA)入门 1. 什么是机器人过程自动化?

如今&#xff0c;我们生活中几乎没有任何方面不受自动化的影响。一些例子包括洗衣机、微波炉、汽车和飞机的自动驾驶模式&#xff0c;雀巢在日本的商店里使用机器人销售咖啡豆&#xff0c;沃尔玛在美国测试无人机送货&#xff0c;我们的银行支票使用光学字符识别&#xff08;OC…