跳转到主要内容

合成孔径雷达(SAR)传感器的算法和实用工具

项目描述

沙仑

合成孔径雷达(SAR)传感器的算法和实用工具。通过 XarrayDask 实现云原生SAR处理。

本开源项目由B-Open赞助 - https://www.bopen.eu

功能和限制

沙仑 是一个Python库和命令行工具,具有以下功能:

  • 提供地形校正卫星SAR数据的算法
    • 几何地形校正(地理编码)
      • 快速模式:用于地形校正图像
      • 精确模式:用于干涉测量处理
    • 辐射地形校正(伽玛平坦化)
  • 通过 xarray-sentinel 访问SAR数据
    • 支持大多数Sentinel-1数据产品,如由ESA分发
      • Sentinel-1 单视复数(SLC)SM/IW/EW
      • Sentinel-1 地面距离检测(GRD)SM/IW/EW
    • 在本地计算机或通过 fsspec 在网络上读取未压缩和压缩的SAFE数据产品 - 依赖于rasterio>=1.3
  • 通过 rioxarray 访问 DEM 数据
    • 通过 rasterio / GDAL 读取本地和远程数据,支持几乎所有栅格格式
  • 支持大于内存和分布式数据访问及处理,通过 Dask
    • 全GRD的高效几何地形校正
    • 全GRD的高效辐射地形校正。

总体而言,该软件处于 beta 阶段,并适用一般注意事项。

当前限制

  • 文档需要改进。见 #6。

非目标/警示事项

  • 未尝试支持UTC闰秒。包含闰秒的观测可能会导致代码崩溃或静默返回错误结果。

SAR地形校正

典型的侧视SAR系统以均匀采样在方位角和斜距上获取数据,其中方位角和距离代表获取特定目标的时间和绝对传感器到目标的距离。因此,近程相对于远程看起来被压缩。此外,目标高程与平滑大地水准面的任何偏差都会导致额外的局部几何和辐射畸变,称为透视、叠加和阴影。

  • 雷达透视:相对于雷达远离的方向,向雷达倾斜的地形表面看起来更短。这些区域比SAR图像上的其他地方更亮。
  • 雷达叠加:当地形坡度大于入射信号角度时,发生透视的极端情况。
  • 雷达阴影:当地面点在同一方位角但不同斜距上沿视线路径对齐时发生。这通常是由于一个后倾角大于观测角度的后倾面。在这种情况下,雷达信号永远不会到达最远点,因此没有测量,这意味着这种信息缺失是无法恢复的。

几何地形校正(GTC)校正由于目标高程引起的畸变。辐射地形校正(RTC)也补偿了场景地形产生的后向散射调制。

安装

conda 环境中安装 sarsen 是最简单的方法。以下命令创建一个新的环境,激活它,安装软件包及其依赖项

  conda create -n SARSEN
  conda activate SARSEN
  conda install -c conda-forge dask proj-data sarsen

请注意,proj-data 软件包相当大(500+MB),它仅用于处理垂直坐标不在已知椭球上的输入DEM,例如高度超过 EGM96 大地水准面SRTM DEM

命令行使用

sarsen 命令行工具根据选定的DEM校正SAR数据,并可能生成几何地形校正图像(GTC)或辐射地形校正图像(RTC)。地形校正图像将具有与输入DEM相同的像素,应事先重新采样到目标投影和间距,例如使用 gdalwarp

以下命令执行几何地形校正

  sarsen gtc S1B_IW_GRDH_1SDV_20211217T141304_20211217T141329_030066_039705_9048.SAFE IW/VV South-of-Redmond-10m_UTM.tif

执行几何和辐射地形校正要求更高,但可以一次生成10米分辨率的完整GRD产品的RTC(在32GB MacBook Pro上大约需要25分钟)

  sarsen rtc S1B_IW_GRDH_1SDV_20211217T141304_20211217T141329_030066_039705_9048.SAFE IW/VV South-of-Redmond-10m_UTM.tif

Python API使用

Python API具有对相同命令的入口点,它还提供对几个较低级别算法的访问,但内部API不应被视为稳定。

以下代码将几何地形校正应用于 "S1B_IW_GRDH_1SDV_20211217T141304_20211217T141329_030066_039705_9048.SAFE" 产品的VV极化

>>> import sarsen
>>> product = sarsen.Sentinel1SarProduct(
...   "tests/data/S1B_IW_GRDH_1SDV_20211223T051122_20211223T051147_030148_039993_5371.SAFE",
...   measurement_group="IW/VV",
... )
>>> gtc = sarsen.terrain_correction(
...   product,
...   dem_urlpath="tests/data/Rome-30m-DEM.tif",
... )

可以使用键 correct_radiometry 激活辐射校正

>>> rtc = sarsen.terrain_correction(
...   product,
...   dem_urlpath="tests/data/Rome-30m-DEM.tif",
...   correct_radiometry="gamma_nearest"
... )

参考文档

这是参考文档列表

项目资源

on-push codecov

贡献者

主要仓库托管在GitHub上。测试、错误报告和贡献非常受欢迎和感激。

https://github.com/bopen/sarsen

主要开发者

主要贡献者

参见参与此项目的贡献者列表

赞助

B-Open 承诺长期维护项目,我们很高兴接受赞助以开发新功能。

我们想向项目赞助商表示感谢

  • Microsoft 赞助了 GRD 产品和 伽马平坦化 算法的支持。

许可证

Copyright 2016-2022 B-Open Solutions srl

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

  https://apache.ac.cn/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

sarsen-0.9.3.tar.gz (2.5 MB 查看哈希)

上传时间 源代码

构建分布

sarsen-0.9.3-py3-none-any.whl (23.3 kB 查看哈希)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面