LESS的叶绿素荧光模拟实现——任意波段荧光模拟

目录

  • 前言
  • 一、任意波段荧光模拟的实现
  • 二、需要注意的输入参数


前言

此专栏默认您对LESS (LargE-Scale remote sensing data and image Simulation framework) 模型和叶绿素荧光(Sun-Induced chlorophyll Fluorescence, SIF)有一定的了解。当然,您也可以在这里下载中文的简明手册,了解更多关于三维辐射传输模型的原理及LESS操作。
此文将扩展LESS对任意波段荧光模拟的实现,以及波段相关参数的输入要求,适用于LESS version 2.1.5-2023-11-29。


一、任意波段荧光模拟的实现

在这篇文章中,荧光矩阵的采样间隔是5 nm,导致输入波段被固定在400-850 nm范围内,限制了模拟波段的自由选择。实际上,人们可能并不关心全波段的荧光,而只想要某个,或者某几个波段的荧光,这便引出了任意波段荧光模拟的需求。

任意波段荧光模拟指的是,不再限制荧光模拟的波段间隔与数量,可以自由模拟关心波段的荧光。本文将在这篇文章的基础上,进一步阐述任意波段荧光模拟的实现。

这篇文章里讲述了如何对荧光矩阵进行任意激发波段和发射波段的重采样。简单来说,就是在激发波段上进行宽波段积分,在发射波段上进行线性插值。例如,设定激发光谱是 E ( [ 400 , 450 , 460 , 500 , 580 , 600 , 650 , 700 , 730 ] ) E\left([400,450,460,500,580,600,650,700,730]\right) E([400,450,460,500,580,600,650,700,730]),发射光谱是 F ( [ 640 , 650 , 685 , 700 , 710.1 , 735.5 , 850 ] ) F\left([640,650,685,700,710.1,735.5,850]\right) F([640,650,685,700,710.1,735.5,850]),那么荧光激发矩阵的大小就是 7 × 9 7\times9 7×9,即 F 7 × 1 = E F 7 × 9 × E 9 × 1 F_{7\times1}=EF_{7\times9}\times E_{9\times1} F7×1=EF7×9×E9×1。这个 E F 7 × 9 EF_{7\times9} EF7×9即由荧光矩阵的重采样实现。

但是,当输入的波段只有发射段(640-850 nm)时,激发段只有一部分(640-750 nm)被考虑在模拟中,400-640 nm的激发段将无法参与模拟,并且,荧光会再激发,导致较大的模拟偏差。因此,在模拟荧光时,需要一条固定的激发光谱,其光谱间隔固定为inc。下图展示了不同光谱间隔下,由重采样造成的误差大小。可以看到,采样带来的误差总体呈上升趋势,在inc=10, 29, 121 nm附近存在低谷。进一步在这几个谷里以0.01 nm步长分析,此时误差较小的波段间隔为10.41(0.00106948),28.74(0.00448519),120.47(0.0141459),括号中为绝对误差,相对误差小于5‰。取inc=28.74 nm能够较好地平衡计算消耗和采样误差。这是由荧光光谱的特殊形状所决定的,这几个波长间隔能较好地描绘出荧光光谱的特征形状。因此,LESS中固定的激发光谱基于这样的考虑内置在程序中。这样带来一个小的麻烦是,所有与波长相关的输入参数必须包含这条固定光谱。该参数可通过“…\app\bin\scripts\Lesspy\const.conf”文件中的"static_spectrum_inc"修改。
重采样偏差随采样间隔的变化

二、需要注意的输入参数

正如前文所述,模拟荧光时,所有与波长相关的输入参数必须包含一条固定的激发光谱。当Console窗口中出现:
If simulating ChlF, make sure to align with the bands in the ".less\EFwlinsim.txt" file
ChlF
可按提示,查看EFwlinsim.txt文件。该文件记录了参与模拟的波段,请确保输入的与波长有关的参数,如土壤的实测光谱、天空光比例、实测的太阳光谱和天空光光谱等,与EFwlinsim.txt文件中的波段对齐。

其余的操作及结果输出与这篇文章无异。

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

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

相关文章

Kubernetes

Kubernetes Docker的安装Docker安装:安装docker依赖环境配置国内docker-ce的yum源(这里采用的是阿里云)安装docker。插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自…

C++基础 -17-继承中 基类与派生构造和析构调用顺序

首先声明 定义了派生类会同时调用基类和派生的构造函数 定义了派生类会同时调用基类和派生的析构函数 那么顺序如何如下图 构造由上往下顺序执行 析构则完全相反 #include "iostream"using namespace std;class base {public:base(){cout << "base-bui…

orvibo旗下的VS30ZW网关分析之二:版本回退方法

概述 上接第一篇: orvibo旗下的VS30ZW网关分析之一-CSDN博客 此产品VS30ZW支持openwrt的页面,可以版本回退进行刷机。 openwrt固件下载: 固件名称:openwrt-VS30ZW-mt7628.bin 链接地址:https://download.csdn.net/download/leekwen/88579427 版本回退方法: 1、同…

多模态大模型总结2(主要2023年)

LLaVA-V1&#xff08;2023/04&#xff09; 论文&#xff1a;Visual Instruction Tuning 网络结构 如下图 所示为 LLaVA-v1 的模型结构&#xff0c;可以看出其简化了很多&#xff0c;但整体来说还是由三个组件构成&#xff1a; Vision Encoder&#xff1a;和 Flamingo 模型的 V…

微信小程序获取手机号上限,怎么处理比较省钱

微信新规 微信2023年改了规则&#xff0c;原本免费的小程序获取手机号&#xff0c;现在如果要获取要1分钱一条。 有些小程序的用户非常恐怖&#xff0c; 比如一些工具类的&#xff0c; 群发类的。如果进入小程序就必须要获取小程序&#xff0c;就像是无底洞&#xff0c;让运营…

【古月居《ros入门21讲》学习笔记】14_参数的使用与编程方法

目录 说明&#xff1a; 1. 参数模型&#xff08;全局字典&#xff09; 2. 实现过程&#xff08;C&#xff09; 创建功能包 参数命令行的使用 YAML参数文件 rosparam命令 使用示例 编程方法&#xff08;C&#xff09; 配置代码编译规则 编译并运行 编译 运行 3. 实…

【C++笔记】红黑树的简易实现

【C笔记】红黑树的简易实现 一、什么是红黑树以及红黑树好在哪里1.1、什么是红黑树1.2、红黑树比AVL树好在哪里&#xff1f; 二、红黑树的模拟实现2.1、红黑树的插入2.2、仅变色调整2.3、变色单旋调整2.4、变色双旋调整 一、什么是红黑树以及红黑树好在哪里 1.1、什么是红黑树…

Docker容器网络模式

1.none网络 1&#xff09;使用默认网络模式创建一个BusyBox容器&#xff0c;用于对比none网络模式&#xff1b; 测试网络&#xff0c;可以正常连接外网。 2&#xff09;再创建一个none网络模式的BusyBox容器&#xff1b; 测试网络连接&#xff0c;无法连接外网。 总结&#x…

深入了解Spring Boot中@Async注解的8大坑点

文章目录 1. 缺少EnableAsync注解2. 异步方法需独立3. 不同的异步方法间无法相互调用4. 返回值为void的异步方法无法捕获异常5. 外部无法直接调用带有Async注解的方法6. Async方法不适用于private方法7. 缺失异步线程池配置8. 异步方法与事务的兼容结语 &#x1f389;深入了解S…

Ros报错:The Plugin for class ‘jsk_rviz_plugin/Plotter2D‘ failed to load

一般出现这种情况&#xff0c;是提醒Ros缺少某种库&#xff1a; 图中显示的错误是说明少了jsk_rviz_plugins库&#xff0c;他是一个提供原始rviz插件的包。 解决办法是安装相应的库与插件&#xff1a; #根据自己ROS的版本选择相应的指令 # ubuntu20.04:noetic sudo apt-get i…

RabbitMQ消息的应答

消息的应答机制 消费者完成一个任务可能需要一段时间&#xff0c;如果其中一个消费者处理一个长的任务并仅只完成了部分突然它挂掉了&#xff0c;会发生什么情况。RabbitMQ 一旦向消费者传递了一条消息&#xff0c;便立即将该消息标记为删除。在这种情况下&#xff0c;突然有个…

计算机视觉:使用dlib实现人脸检测

1 dlib介绍 Dlib是一个广泛使用的开源库&#xff0c;在计算机视觉和机器学习领域具有重要影响。它是由Davis King在2002年开发&#xff0c;主要用C语言编写&#xff0c;但也提供了Python接口。Dlib结合了高效的算法和易用性&#xff0c;使其成为学术界和工业界的热门选择。 1.…

SpringBoot项目启动后自动停止了?

1 现象 2023-11-22T09:05:13.36108:00 DEBUG 17521 --- [ main] o.s.b.a.ApplicationAvailabilityBean : Application availability state LivenessState changed to CORRECT 2023-11-22T09:05:13.36208:00 DEBUG 17521 --- [ main] o.s.b.a.Applicat…

一文1000字彻底搞懂Web测试与App测试的区别

总结分享一些项目需要结合Web测试和App测试的工作经验给大家&#xff1a; 从功能测试区分&#xff0c;Web测试与App测试在测试用例设计和测试流程上没什么区别。 而两者的主要区别体现在如下几个方面&#xff1a; 1 系统结构方面 Web项目&#xff0c;B/S架构&#xff0c;基…

Android中实现RecyclerView,并对item及其多个子控件的点击事件监听

目录 背景 实现RecyclerView 第一步、 新建item的xml 第二步、在activity的布局中引入 RecyclerView 第三步、新建一个adapter 第四步、在activity中初始化绑定adapter即可 实现item及其多个子组件点击事件监听 第一步、 适配器中创建监听对象 第二步、适配器中绑定监听…

uniapp ios 授权弹窗 uniapp弹出框怎么实现

新版本的信息弹窗组件 可以弹出很多条信息&#xff0c;并单独控制消失时间、点击消失。 用循环来生成很多个弹窗&#xff0c;用this.$refs来传值&#xff0c;并添加数组。 1.布局 2.js 具体流程。需要一个弹窗&#xff0c;基本信息传入组件&#xff0c;处理后添加入数组&am…

智能优化算法应用:基于闪电搜索算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于闪电搜索算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于闪电搜索算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.闪电搜索算法4.实验参数设定5.算法结果6.参考…

【C++】异常处理 ① ( 异常概念引入 | 抛出异常语法 | 捕获异常语法 | 异常捕获流程 | 异常处理代码示例 )

文章目录 一、异常处理1、异常概念引入2、抛出异常语法3、捕获异常语法4、异常捕获流程 二、异常处理代码示例1、错误代码示例 - 抛出异常 / 不捕获异常2、正确代码示例 - 抛出异常 / 捕获异常3、正确代码示例 - 抛出异常 / 捕获异常不处理继续抛出异常 一、异常处理 1、异常概…

接口测试入门8问(含答案+文档)

Q1&#xff1a;什么是接口测试&#xff0c;基础知识什么的讲讲吧&#xff01; A&#xff1a;你好&#xff0c;接口可以分下面几种 1、系统与系统之间的调用&#xff0c;比如银行会提供接口供电子商务网站调用&#xff0c;或者说&#xff0c;支付宝会提供接口给淘宝调用 2、上…

Table和HashBasedTable的使用案例

------------------- 1.普通使用 package org.example.testhashbasedtable;import com.google.common.collect.HashBasedTable; import com.google.common.collect.Table;import java.util.Map;public class TestHashBasedTable {public static void main(String[] args) {Ta…