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

这篇具有很好参考价值的文章主要介绍了基于Python的PROSAIL模型介绍以及使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、介绍

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

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

(1)版本1

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

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

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

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

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

 (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函数所需要的参数,解释与参数范围如下:

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

  •  typelidf=1:使用双参数LAD参数化,其中a和b分别控制平均叶斜率和分布双峰。典型分布由以下参数选择给出:基于Python的PROSAIL模型介绍以及使用
  • 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()                     

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

基于Python的PROSAIL模型介绍以及使用文章来源地址https://www.toymoban.com/news/detail-434298.html

到了这里,关于基于Python的PROSAIL模型介绍以及使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python中,hasattr()函数的详细介绍以及使用

    在Python中, hasattr() 函数是一种重要的工具,用于判断对象是否具有指定的属性或方法。通过使用 hasattr() 函数,我们可以在运行时动态地检查对象的能力,提高代码的灵活性和可维护性。本文将介绍 hasattr() 函数的基本概念、使用方法以及与其他相关函数的比较,同时提供实

    2024年02月12日
    浏览(42)
  • FPGA(基于xilinx)中PCIe介绍以及IP核XDMA的使用

    例如:第一章 PCIe简介以及IP核的使用 PCIe 总线架构与以太网的 OSI 模型类似,是一种分层协议架构, 分为事务层(Transaction Layer)、 数据链路层(Data Link Layer) 和物理层(Physical Layer)。 这些层中的每一层都分为两部分:一部分处理出站(要发送的)信息,另一部分处理入站(接收

    2024年02月08日
    浏览(44)
  • 详细介绍 Yolov5 转 ONNX模型 + 使用ONNX Runtime 的 Python 部署(包含官方文档的介绍)

    对ONNX的介绍强烈建议看,本文做了很多参考:模型部署入门教程(一):模型部署简介 模型部署入门教程(三):PyTorch 转 ONNX 详解 以及Pytorch的官方介绍:(OPTIONAL) EXPORTING A MODEL FROM PYTORCH TO ONNX AND RUNNING IT USING ONNX RUNTIME C++的部署:详细介绍 Yolov5 转 ONNX模型 + 使用 ONNX Runti

    2024年02月01日
    浏览(48)
  • 文本识别CRNN模型介绍以及pytorch代码实现

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文本识别是图像领域的一个常见任务,场景文字识别OCR任务中,需要先检测出图像中文字位置,再对检测出的文字进行识别,文本介绍的CRNN模型可用于后者, 对检测出的文字进行识别。 An End-to-End Tra

    2024年02月07日
    浏览(40)
  • 基于python的pulp库使用,从基础模型到复杂模型,从一维变量到二维变量

    学习笔记,仅作参考。 个人觉得配合步骤和建模,直接看代码就能入门pulp,所以没有啥解释,见谅。 https://blog.csdn.net/youcans/article/details/116371416 1、安装PuLp (pip install pulp) 2、导入PuLp (from pulp import * )或者(import pulp as pl) 3、定义线性规划问题 4、定义决策变量 小tips 当约

    2024年02月08日
    浏览(79)
  • 【Python beautifulsoup】详细介绍beautifulsoup库的使用方法,包括安装方式、基本用法、常用方法和技巧,以及结合lxml和parsel的具体使用场景和区别。

    Python beautifulsoup库是一个强大的Web抓取和解析库,它提供了丰富的功能和简单易用的API,可以帮助我们处理HTML和XML文档,从中提取数据,进行数据清洗和处理。beautifulsoup库基于Python标准库中的html.parser模块,同时还可以与第三方解析库lxml和parsel配合使用,提供更高效和灵活的

    2024年02月04日
    浏览(60)
  • ChatGPT背后的大预言模型 以及《ChatGPT全能应用一本通》介绍

    大型语言模型已经彻底改变了我们通过自然语言处理进行交互的方式,使得更多的基于语言的应用程序成为可能,例如语言翻译,问答,文本摘要和聊天机器人。 由于这些模型是在大量文本数据集(如书籍,文章和社交媒体帖子)上进行训练的,因此它们能够学习人类语言的

    2024年02月06日
    浏览(57)
  • 【AIGC】CPM-BEE 开源大模型介绍、部署以及创建接口服务

    # CPM-Bee 百亿参数的 开源 中英文双语基座大模型 CPM-Bee 是一个完全开源、允许商用的百亿参数中英文基座模型,也是 CPM-Live 训练的第二个里程碑。它采用Transformer自回归架构(auto-regressive),在超万亿(trillion)高质量语料上进行预训练,拥有强大的基础能力。开发者和研究

    2024年02月09日
    浏览(45)
  • 【AIGC】BaiChuan7B开源大模型介绍、部署以及创建接口服务

    baichuan-7B 是由百川智能开发的一个开源的大规模预训练模型。基于Transformer结构,在大约1.2万亿tokens上训练的70亿参数模型,支持中英双语,上下文窗口长度为4096。在标准的中文和英文权威benchmark(C-EVAL/MMLU)上均取得同尺寸最好的效果。 huggingface github 系统:centos7.8.2003 GPU:

    2024年02月09日
    浏览(44)
  • Python可视化学习——使用JSON进行数据转换、pyecharts模块调用以及可视化案例的介绍(可视化案例数据暂无),柱状图及动态柱状图的构建

    可视化效果一:2020年印美日新冠累计确诊人数 2020年是新冠疫情爆发的一年,随着疫情的爆发,国内外确诊人数成了大家关心的热点,相信大家都有看过类似的疫情报告.本案例对印度美国日本三个国家确诊人数的进行了可视化处理,形成了可视化的疫情确诊人数报告.  可视

    2024年02月01日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包