用于分析 UV SO2 相机数据的 Python 库
项目描述
Pyplis 是一个 Python 工具箱,最初是为分析 UV SO2 相机数据而开发的。该软件包括用于分析大气成像数据的全面而灵活的算法集合,并针对所有主要操作系统和 python 3 以及 python 2.7 进行了测试。
联系人:Jonas Gliß ( jonasgliss@gmail.com )
新闻/通知
Pyplis 1.4.3 发布
现在支持 Python 2 和 3
可以通过conda install -c conda - forge pyplis轻松安装(包括所有要求)
注意(Python 2.7 即将退役)
如果您仍在使用 Python 2.7(或任何其他 Python 2 版本),请考虑将您的安装更新到 Python 3,因为 Python 2 即将结束生命周期。
代码文档等
pyplis 的代码文档和更多信息托管在Read the Docs上。
主要特点
测量几何的详细分析,包括自动检索到排放羽流和/或相机图像中的地形特征的距离(在像素级)。
用于检索羽流背景强度的几个例程(直接从羽流图像或使用额外的天空参考图像)。
自动分析电池校准数据。
校正由于滤光片透射窗口中的波长偏移引起的 SO2 灵敏度的跨检测器变化。
DOAS 校准例程包括两种方法来识别摄像机图像中 DOAS 仪器的视场。
使用光流分析或使用信号互相关来检索羽流速度。
基于直方图的光流场后期分析,用于低对比度图像区域中的气体速度分析,其中光流无法检测运动(参见Gliss 等人,2018,AMT)。
基于图像中位于不同距离的暗地形特征的对比度变化的信号稀释效应校正程序。
支持标准图像格式,包括FITS 格式。
轻松灵活地设置数据导入和相机规格。
pyplis 及其特征(包括分析示例)的详细描述可以在Gliss et al., 2017, MDPI Geosciences中找到。
安装说明和要求
我们建议使用Anaconda Python 发行版(或Miniconda,如果您想节省磁盘空间)并使用conda包管理器。为什么?参见,例如,这里有一些很好的理由。
下面假设您已经熟悉了conda包管理器并且它已安装在您的系统上。建议查看与conda 虚拟环境相关的指南。
使用 conda 安装
Pyplis 可通过 conda -forge 通道获得,并且可以通过以下方式轻松安装:
conda install -c conda-forge pyplis
这也将安装所有要求。这是让 pyplis 在您的系统上运行的推荐(也是最简单的)方法。
要求
在安装 pyplis 之前,请确保您已安装所有要求(如果您按照前一节所述通过 conda 安装 pyplis,则会自动完成)。
所有强制要求的列表可以在提供的 conda 环境文件pyplis_env.yml中找到,也可以直接用于安装要求,如下所述。
可选依赖项(使用额外功能)
安装要求
在安装Pyplis之前,您需要安装所有要求。为此,您可以使用提供的 conda 环境文件或手动安装所有要求,如以下两节所述。下面的所有说明都假设您使用Anaconda作为包管理器。
使用提供的 conda 环境文件安装需求
您可以使用提供的环境文件pyplis_env.yml(或pyplis_env_py27.yml,如果您仍然使用 python 2.7)安装所有强制性要求。您可以使用以下命令将环境文件安装到新环境(此处名为pyplis)中:
conda env create -n pyplis_env_test -f pyplis_env.yml
或者您可以通过激活环境将其安装到现有环境中,然后:
conda env update -f=pyplis_env.yml
手动安装需求
您还可以按照以下分步指南中的说明从头开始安装所有要求:
conda create --name pyplis # creates new conda environment with name pyplis (optional) conda activate pyplis # activates new environment (optional) conda install -c conda-forge scipy pandas astropy basemap opencv geonum pydoas
pyplis的安装
在这里,您有 3 个选项。
通过康达
从命令行调用:
conda install -c conda-forge pyplis
此选项会自动安装 pyplis 和所有要求。
通过点子
从命令行调用:
pip install pyplis
此选项仅安装 pyplis,您必须自己安装所有要求(有关详细信息,请参阅前面的部分)。
从源头
为了从源代码安装,请将repo(或pyplis 版本之一)下载或克隆到您选择的本地目录中。然后,解压缩并从项目根目录(包含 setup.py 文件的目录)调用:
python setup.py install
此选项仅安装 pyplis,您必须自己安装所有要求(有关详细信息,请参阅前面的部分)。
笔记
如果要运行测试和/或示例脚本,请使用选项 2(因为使用 Pyplis 二进制轮的 PyPi 安装不附带这些)。
安装备注及已知问题
如果您在 Windows 机器上工作并在安装其中一个要求时遇到问题(例如,如果您已经安装了 Python 2.7 并且想要升级依赖项,例如 numpy 或 scipy),请查看 Christoph Gohlke 的预编译二进制轮子网页
有时重新安装整个 Python 环境(或者,如果您使用 Anaconda,创建一个新环境)而不是尝试将所有依赖项升级到所需版本会很有帮助
如果您发现错误或检测到其中一项要求的特定问题(例如,由于未来版本),请告知我们或提出问题。
如果您在安装 pyplis 时遇到问题,请随时联系我们(或提出问题)。
入门
Pyplis示例脚本(见前一点)是熟悉 Pyplis 功能和编写自定义分析脚本的良好起点。这些脚本需要下载 Etna 示例数据集(有关说明,请参阅以下部分)。如果您需要更彻底的测试,请参阅此wiki 条目
示例和测试数据
pyplis 示例数据(运行示例脚本所需)不是安装的一部分。它可以从这里下载,也可以使用以下命令在 Python shell 中自动下载(安装后):
import pyplis pyplis.inout.download_test_data(<desired_location>)
如果 <desired_location> 未指定,它将数据下载到my_pyplis目录中。否则,(如果 <desired_location> 是有效位置)它将被下载到 <desired_location> 中,然后将添加到位于安装数据目录中的补充文件_paths.txt中。然后可以通过测试数据搜索方法找到:
pyplis.inout.find_test_data()
后者在需要访问测试数据时搜索文件_paths.txt中提供的所有路径。如果找不到数据,它会引发异常。
笔记
如果数据是手动下载的(例如使用上面提供的链接),请确保将其解压缩到本地目录<desired_location>并让 pyplis 知道它,使用:
import pyplis pyplis.inout.set_test_data_path(<desired_location>)
科学背景
文章:
Pyplis - 用于分析 SO2 相机图像以从点源检索排放率的 Python 软件工具箱,Gliß,J.,Stebel,K.,Kylling,A.,Dinger,AS,Sihler,H.,和 Sudbø,A ., 地球科学, 2017
介绍Pyplis和实现细节。此外,本文对 SO2 相机技术进行了全面回顾,重点是所需的图像分析。该论文于 2017 年 12 月作为《地球科学杂志》(MDPI) 的火山羽流特刊的一部分发表。下载论文。
引文
如果您发现Pyplis对您的数据分析有用,如果您通过引用该论文来承认我们的工作,我们将不胜感激。引用细节可以在这里找到。
版权
版权所有 (C) 2017 Jonas Gliss ( jonasgliss@gmail.com )
该程序是免费软件:您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款重新分发和/或修改它,许可证的第 3 版或(由您选择)任何更高版本。
分发此程序的目的是希望它有用,但不提供任何保证;甚至没有对适销性或特定用途适用性的默示保证。有关详细信息,请参阅 GNU 通用公共许可证。
您应该已经收到了一份 GNU 通用公共许可证的副本以及该程序。如果没有,请参见此处。
笔记
该软件于 2017 年 2 月 17 日从piscope重命名为Pyplis
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
关于 conda 环境的评论
我们强烈建议为您的不同项目在单独的 conda 环境中工作,而不是将所有内容都安装到您的 Anaconda 根环境(基础)中,这通常是默认激活的。换句话说:请不要将 pyplis 安装到您的根环境中,而是使用以下命令创建一个新环境:
为什么?