针对Planetscope 4波段图像的ATSA云掩码方法
项目描述
pyATSA
pyatsa可以在卫星图像中寻找云。
此仓库包含pyatsa包,它将Zhu和Helmer 2018年原创的ATSA方法和代码移植过来,还包括示例笔记本。目前,Python版本在加纳的Planetscope 4波段图像中产生的结果几乎与Planet Lab的可用数据掩码相当。在存在大量明亮不透水面、明亮土壤或水的情况下,pyatsa在云阴影类别中生成大量误报,并且从云中生成误报的斑点。这些问题是我们正在努力解决的主要问题。
安装
pip安装pyatsa
从源代码安装并带有依赖项
conda env create -f environment.yaml
conda activate pyatsa
# or anaconda3 if you use anaconda or whatever the path to your python file is
flit install --symlink --python ~/miniconda3/envs/pyatsa/bin/python3.7
pyatsa与Zhu和Helmer 2018年原始ATSA之间的差异
- 在计算时间序列中图像的晴空线时,Zhu将A_cloud设置为.5-1.5理想值,但低值导致在Planetscope图像中出现太多误报。
- 我选择在scikit-image中使用Li的交叉熵阈值法,而不是逆向距离加权法,来分割由场景几何计算出的潜在云阴影区内的云阴影。这更易于编程,并且看起来效果更好,IDW方法倾向于仅屏蔽云的直接相邻阴影。我在加纳测试pyatsa时观察到,云阴影几乎在1公里外,这与pyatsa的测试结果一致。更多实际阴影被正确屏蔽,尽管在云不存在的地方产生了更多误报。
与原始ATSA IDL代码比较
原始ATSA程序由作者在https://xiaolinzhu.weebly.com/open-source-code.html上分发。要运行,需要安装IDL和ENVI。然后
-
通过在终端中调用
idlde
来启动 IDL IDE -
在 idlde 中运行
ENVI
,因为需要使用 ENVI 函数来打开时间序列文件 -
运行
CD, "<包含 ATSA-Planet.pro 文件的目录路径>"
-
使用
.r ATSA-Planet.pro
编译 ATSA-Planet.pro 文件 -
从 idlde 中调用 IDL 脚本,使用
ATSA
IDL 脚本将保存一个以 ".sav" 结尾的文件(您需要编辑脚本以更改该文件在您计算机上的输出路径)。该文件将包含脚本中的所有变量和结果。该文件可以使用 scipy.io.readsav
作为一个 Python 字典读取,其中每个键是原始 IDL 变量名。这可以用于 pytests 来检查一致性。
要运行测试,导航到 atsa-python 文件夹并运行 pytest test_pyatsa.py
。pytest 将检查包含单词 "test" 的任何函数并执行该函数,为每个测试函数生成时间和测试结果。pytest 固定项用于定义测试之间共享的变量。这些测试当前使用两个固定项,一个用于 Python 版本的配置(这些配置是从 IDL 版本复制的),另一个用于包含 IDL 版本所有变量的 ~3Gb .sav 文件。
关于 IDL 版本的调试说明
IDL 代码有独立的循环来处理水域区域(通过预存在的水域掩码识别)和陆地区域。
水域掩码在水中为 0 值,在没有水的地方为 1。陆地类别的掩码值如下。
- 3 - 背景/SLC 错误,缺失数据
- 2 - 云(见第 365 至 378 行)
- 1 - 清晰的陆地(见第 323 至 331 行,其中 idl 从 ge 条件返回 1 或 0)
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分发
构建分发
pyatsa-0.2.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e5003b201065ead6feb99a1c9824e6474c9007d2bf98f8b436131834ce9f7ff5 |
|
MD5 | f2d3113483ab714655c6a49ce5993bc1 |
|
BLAKE2b-256 | 8af12510a44384c8a9805e377e4a89575f6f1ca266357ebcd354fa5c00200b15 |
pyatsa-0.2-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6564135b1d54c5c1cecaded8c80985b48b878700b60b0a6406de6bc4bfe24ac7 |
|
MD5 | 1d8bc0fc238a68cc295936d9355e68cb |
|
BLAKE2b-256 | 7906ef872a37084664f82734c7ac3ce1b532a512623071ae3e1d4a14d94fa122 |