基于Python的PROSAIL模型介绍以及使用

news2024/11/22 20:34:16

1、介绍

        PROSAIL是两种模型耦合得到的。 SAIL是冠层尺度的辐射传输模型,把冠层假设成是连续的且具有给定几何形状和密度的水平均匀分布的介质层,从而模拟入射辐射与均匀介质之间的相互作用,具体还是挺复杂的。而PROSPECT就是叶片尺度的辐射传输模型,把叶片假设为1到n个具有粗糙表面的吸收板,且这些吸收板被n-1层空气隔开,从而计算叶片结构的各向同性散射,当然叶片内的各种生化参数是这个模型的重要参数。PROSAIL就把两者结合起来,PROSPECT作为SAIL的基本单元,就得到了PROSAIL,能够用来计算植被的冠层光谱以及叶片各种重要的生化参数。


2、不同语言版本及安装方案

(1)版本1

        这是目前版本最全的主页,如下图所示:包括Matlab、fortran、IDL、python以及R语言。本人试过R语言的版本,跑起来没有问题。

http://teledetection.ipgp.jussieu.fr/prosail/

        但在安装Python版本时报错,看起来应该是需要配置fortran编译器,我电脑之前装过fortran但是这个项目作者已经不再更新了,我也就没再继续死磕,怕遇上神仙bug,溜了溜了。

 (2)目前使用的版本

        推荐使用这个人写的版本,(GitHub - jgomezdans/prosail: Python bindings for the PROSAIL canopy reflectance model)非常好用,效率很高,底层没有使用Fortran语言,而是改用了numba加速,是一份非常优秀的代码。可以直接 pip install prosail就可以安装。

          但是对于某些计算机,可能运行下面代码时候会出现反射率的值为NAN的情况:

prosail.run_prosail(1.5, 40., 8., 0.0, 0.01, 0.009, 3., -0.35, 0.01,30., 10., 0., typelidf=1, lidfb=-0.15, rsoil = 1., psoil=1., factor="SDR")

        请教空天院师兄,对原作者的Prosail python版本进行修正,修正后的放到资源中去,供有需要的小伙伴进行下载。

3、相关参数介绍

        下图为运行run_prosail函数所需要的参数,解释与参数范围如下:

  •  typelidf=1:使用双参数LAD参数化,其中a和b分别控制平均叶斜率和分布双峰。典型分布由以下参数选择给出:
  • typelidf=2椭圆分布,其中LIDFa参数代表平均叶角(0度为平叶型,90度为直立叶型)。忽略LIDFb参数。

4、运行结果

        一般我们都默认‘SDR’返回反射率,函数能够返回一个数组,波长从400-2500。代码如下:

import prosail
import numpy as np
import matplotlib.pyplot as plt
ref = prosail.run_prosail(1.4, 42., 8., 0.0, 0.01, 0.009, 3., -0.35, 0.01,
                        27., 10., 0., typelidf=1, lidfb=-0.15, 
                        rsoil = 1., psoil=1., factor="SDR")
plt.plot(np.arange(400,2501),ref,'r-')
plt.show()                     

         显示的波谱曲线如下所示:

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

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

相关文章

​kali下搭建WiFi钓鱼热点​

在linux下建立无线热点并不像在windows下开启网络共享或者使用无线网卡驱动设置AP模式即可。 linux下的无线共享要用到两个软件:hostapd(创建无线热点)、dnsmasq(dns服务和dhcp服务). 1.安装以上两个软件: 1 2 apt-get install hostapd apt-get install…

【Java】字符串String

目录 1.字符串的构造 2.字符串转换 2.1字符串与数值转换 2.2大小写转换 2.3字符串转数组 2.4格式化 3.字符串操作 3.1字符串比较 3.2字符串查找 3.3字符串替换 3.4字符串拆分 3.5字符串截取 3.6去除空格 4.字符串的不可变性 5.字符串修改 5.1StringBuffer…

基于FreeRTOS的CPU利用率计算教程详解(STM32版)

前言:FreeRTOS 是一个 RTOS 类的嵌入式实时操作系统,作为实时操作系统其必定拥有任务调度的属性。通过系统自身的任务调度算法实现任务安全且高效的切换,这就不可避免的引出了各个任务对 CPU 的利用率问题(裸机情况下 CPU 利用率默…

自行车和电动自行车上亚马逊标准有什么区别?UL2849,16CFR1512

自行车 自行车是一种两轮的或三轮的交通工具,完全靠人力驱动后轮前进。本政策所涵盖的自行车包括当座位调整到最高位置时,座位离地面超过 25 英寸的自行车,以及座位高度为 25 英寸或以下的人行道自行车。本政策也适用于公路使用的卧式自行车…

有人看好、有人唱衰,无代码能不能开发复杂应用?

司马说 工欲善其事,必先利其器,软件开发也是如此。《人月神话》有一章的标题就是“巧匠因为他的工具而出名”。软件开发与编码工作是一项枯燥无味的任务,但现在这项工作很可能利用软件本身来完成。 无代码开发颠覆了传统编码的开发模式&#…

【工具使用】- git实现gitee托管代码以及检出代码

1. 下载Git工具 git下载地址1:https://git-scm.com/download/win git下载2:https://mirrors.tuna.tsinghua.edu.cn/github-release/git-for-windows/git/Git%20for%20Windows%202.40.1/ 下载完成后安装 安装直接执行exe可执行程序,下一步…

晒出新高度?2023夏季小红书防晒趋势前瞻

夏日将临,防晒需求激增,进入市场旺季。今年防晒赛道朝着“防护升级,多面兼顾”大势发展。 哪些趋势值得关注?本期,千瓜将通过小红书数据分析和笔记内容洞察,为品牌提供数据支持和方向参考。 月增长高达501.…

分布式事务 [面试]

1. 基础概念 1.1 什么是事务 事务可以看做是一次大的活动,它由不同的小活动组成,这些活动要么全部成功,要么全部失败。 1.2 本地事务 在计算机系统中,更多的是通过关系型数据库来控制事务,这是利用数据库本身的事务…

TBSS和dpabifiber

以前用过TBSS,最近好久没用,又忘记了,现在重新捡起来。 首先是QSIprep和QSIrecon。 QSIPrep预处理后,文件夹包括anat和dwi。anat和fmriprep是一样的,就不介绍了。 dwi: 可以看出,这些就是在原始…

全景丨0基础学习VR全景制作,平台篇第16章:热点功能-图片

大家好,欢迎观看蛙色VR官方——后台使用系列课程! 功能说明 应用场景 热点,指在全景作品中添加各种类型图标的按钮,引导用户通过按钮产生更多的交互,增加用户的多元化体验。 图片热点,即点击热点后弹出单张…

总结841

学习目标: 5月(张宇强化前10讲,背诵25篇短文,熟词僻义300词基础词) 每日必复习(5分钟) 重做了5道记录本上的极限题,值得庆幸的是,有一道极限题之前有三种解法&#xff…

【c语言】函数递归调用

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 给大家跳段街舞感谢支持&#xff01;ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ…

98. 验证二叉搜索树【68】

难度等级&#xff1a;中等 上一篇算法&#xff1a; 剑指 Offer 54. 二叉搜索树的第k大节点【37】 力扣此题地址&#xff1a; 98. 验证二叉搜索树 - 力扣&#xff08;Leetcode&#xff09; 1.题目&#xff1a;98. 验证二叉搜索树 给你一个二叉树的根节点 root &#xff0c;判断…

阿里云服务器配置选择流程(2023新版教程)

阿里云服务器ECS选购指南&#xff0c;阿里云百科分享2023阿里云服务器新手选择流程&#xff0c;选购云服务器有两个入口&#xff0c;一个是选择活动机&#xff0c;只需要选择云服务器地域、系统、带宽即可&#xff1b;另一个是在云服务器页面&#xff0c;自定义选择云服务器配置…

Cartographer源码阅读---点云数据的预处理

上一节我们已经看到了, 传感器数据是通过CollatedTrajectoryBuilder类的HandleCollatedSensorData函数 传递给 GlobalTrajectoryBuilder类的相应函数. 从GlobalTrajectoryBuilder开始, 传感器数据才真正进入到Cartographer的前后端. Cartographer最重要的数据类型就是点云, 所以…

软件著作权审查时间、软件导刊审稿周期、计算机工程与应用审稿周期、计算机技术与发展审稿周期、电子测量与仪器学报审稿周期

目录 《软件著作权》审查时间《软件导刊》审稿周期《计算机工程与应用》审稿周期《计算机技术与发展》审稿周期《电子测量与仪器学报》审稿周期 《软件著作权》审查时间 2022年申请软著的时间节点&#xff1a; 11.15受理通知书 11.15审查中 12.3审批中 12.20审查中 12.24待发放…

如何利用ChatGPT API 搭建私人 AI会话

搭建私有ChatGPT 访问谷歌的方式自行解决一、Github域名和证书私有服务器开始搭建私有Open Ai 访问谷歌的方式自行解决 对不起&#xff0c;没有魔法者止步&#xff01;没有 API 止步&#xff01; 对不起&#xff0c;没有魔法者止步&#xff01;没有 API 止步&#xff01; 对不…

C#医院手术麻醉临床信息管理系统源码:操作指南(一)

手术麻醉系统操作指南&#xff1a; 1.麻醉管理 手术管理包括:手术申请、手术安排、查看手术申请单、手术通知单&#xff0c;填写病人术前会诊记录、谈话记录、麻醉记录、手术记录、附加手术、术后信息及手术回顾等功能。 &#xff08;1&#xff09;手术申请 【功能】&#…

亚马逊cpc常见产品测试合集

CPC认证就是儿童产品安全证书&#xff08;Children’s Product Certificate, CPC&#xff09;&#xff0c;适用于所有以12岁及以下儿童为主要目标使用对象的产品&#xff0c;如玩具、摇篮、儿童服装等。 如在美国本地生产则由制造商负责提供&#xff0c;如在其他国家生产则由进…

电脑文件夹拒绝访问,如何解决?

案例&#xff1a;打不开电脑文件夹怎么办&#xff1f; 【今天工作的时候&#xff0c;需要打开文件夹查找资料&#xff0c;但是这个文件无法打开&#xff0c;提示拒绝访问。有没有小伙伴也遇到过这种情况&#xff1f;最后是怎么解决的&#xff1f;】 使用电脑的过程中&#xf…