克里斯蒂安·阿尔林·索伦森
这是一个用于处理 Sentinel-1 卫星图像的 Python 模块,纯粹是用 Python 编写的。它允许您找到所需的图像、下载它们并使用它们(校准、散斑拟合器等)。我使用 SentinelSAT 包作为元数据。然后从 NASA ASF 下载数据。
为什么?因为我不与 ESA SNAP 合作。另外,这样我的整个工作流程就可以更轻松地用 Python 来完成了。
我对质量、安全性或任何其他方面不做任何保证。按照您的意愿使用它。
介绍
要求
安装并运行
在 Python 中使用 Sentinel-1 图像
SAR,简要
致谢
麻木
地理熊猫
mgrs(应该在以后的版本中删除..sry..)
scikit-learn(应该在以后的版本中删除..sry..)
scipy(应该在以后的版本中删除..sry..)
卡托皮
枕头
熊猫
哨兵卫星
绘图库
这个存储库可以使用 git clone 或 pypi 安装。目前,我只将它放在 pypi-test 中,所以希望它保留在那里。
使用 Pypi
GDAL。确保您的 gdal 绑定正常工作...
使用pypy测试安装sentinel_1_python
python3 -m pip install sentinel-1-python --extra-index-url=https://test.pypi.org/simple/
使用克隆
安装所有要求
克隆
git clone https://github.com/aalling93/sentinel_1_python.git
返回目录
获取图像的元数据
使用 Sentinel_metadata() 作为 met:met.area([29.9,21,56.7,58])met.get_metadata(sensor='s1_slc',start_data='20220109',end_date='20221010')
如果需要,可以过滤图像
met.iw() #filer 所以我们只有 IW
下载前显示图像:
met.plot_image_areas() # 显示图像范围met.show_cross_pol(4)
然后我们就可以看到图像的范围。
并在下载之前显示图像...
下载图像
文件夹 = f'{os.getenv("raw_data_dir")}/slc_sweden'with Satellite_download(met.products_df) as dwl:os.makedirs(folder, exit_ok=True)#保存元数据dwl.products_df.to_pickle(f'{folder} /slc_dataframe.pkl')#下载缩略图dwl.download_thumbnails(folder=f'{folder}/slc_thumbnails') #下载.zip格式的slc图像并解压为.SAFE格式..dwl.download_sentinel_1(f'{folder} /slc')
在Python中加载、校准、散斑过滤器图像
image_paths = glob.glob(f'{os.getenv("raw_data_dir")}/*/*/*.SAFE')img = s1_load(image_paths[0])img =img.calibrate(mode='gamma') #也可以使用,例如 'sigma_0' img = img.boxcar(5) #可以轻松制作,例如 Lee 滤波器..img.simple_plot(band_index=0)
我们现在可以提取由索引或坐标集定义的图像区域。
indx = img.get_index(lat=57.0047,long=19.399)img[indx[0]-125:indx[0]+125,indx[1]-125:indx[1]+125].simple_plot(band_index=1 )
返回目录
合成孔径雷达 (SAR) 是一种有源仪器,可用于非合作监视任务等。与MSI等产品相比,它的最大优势在于它可以昼夜工作,并且可以穿透云层和雨天。通过将 SAR 仪器安装在卫星上,可以获得具有特定设计的时间和空间分辨率的全球覆盖范围。因此,通过结合AIS和SAR仪器,可以获得合作和非合作监视。
雷达是一种发射具有微波频谱中特定特征的电磁脉冲的仪器。对于单静态雷达,雷达仪器既发射又接收来自脉冲的反向散射信号。反向散射信号取决于其照射的目标的结构,因此,通过比较众所周知的发射和接收信号,可以使用单静态雷达方程描述目标的几何特征和基本特征:
在哪里 ??是从发射信号导出的接收信号,??。变量?是雷达的设计特定波长,?(?,?) 是雷达增益模式。信号根据行进距离 δ 进行分散。因此,可以导出雷达截面 ?(?, ?),它描述了目标的介电和几何特性,并且取决于角度 ?和 ?。 然而,在存在噪声的情况下,必须在单基地雷达方程中添加另一个贡献。在我的另一个存储库 https://github.com/aalling93/Finding-on-groud-Radars-in-SAR-images 中,我使用射频干扰 (RFI)。来自其他雷达的其他信号干扰 SAR 信号的现象。一般来说,?(?,?) 描述的是目标区域内的可用能量,因此必须使用该区域进行标准化。雷达后向散射系数按下式计算:
根据当前的问题可以使用不同的区域。当使用 SAR 作为成像雷达时,图像中的每个像素都有一个相位和幅度值。通过校准图像,可以获得雷达后向散射系数,如方程所示。 。在此模块中,可以下载加载和校准 Sentinel-1 图像,而无需外部软件或(臭名昭著的)Snappy 软件包。
由于 SAR 受到照明区域内所有物体的反向散射影响,因此会出现一种称为散斑的类似噪声的现象。这会产生颗粒状图像,其中每个像素都是该区域中单个物体的反向散射的组合。 在我的仓库 https://github.com/aalling93/Custom-made-SAR-speckle-reduction 中,我实现了几种不同的散斑滤波器,并显示了不同条件下的差异。 。
SAR成像雷达与普通雷达不同,它利用平台的运动来合成更好的分辨率,因此被称为合成孔径雷达。当拍摄静止目标的照片时,可以根据平台的速度找到多普勒频率。 SAR 正在向同一目标发射和接收多个脉冲。当 SAR 飞向目标时,它会测量到正多普勒频率,该频率逐渐减小,直到垂直于目标,然后负多普勒频率会逐渐增加
电磁信号以水平或垂直极化方式传输,全参数 SAR 能够传输水平和垂直极化。由于发射脉冲与目标的相互作用,垂直和水平信号都会反射回 SAR。这导致出现几种不同的散射机制。存在多种类型的散射机制。对于船舶检测,最突出的是表面散射和双反射散射。
发射的信号将被其照亮的物体部分吸收,部分反射。表面散射是描述反射信号的散射。如果表面完全光滑(镜面反射),则不会有反向散射反射回 SAR。如果表面粗糙,则会发生散射,部分入射脉冲会散射回 SAR。与光滑表面相比,粗糙表面具有更高的反向散射。此外,对于粗糙表面和光滑表面,与 VH 和 HV 相比,VV 和 HH 具有更高的反向散射(HV 和 VH 几乎总是相同)。 潮湿的表面会导致更高的雷达截面。表面的反向散射取决于其照射目标的粗糙度和介电常数。因此,即使考虑到其在 SAR 频率下的高介电常数,由于其潮湿且相对光滑的表面(在低风速下),海洋表面通常会导致较小的反向散射。
当发射的脉冲从角落镜面反射两次回到 SAR 时,就会发生双反射散射。这导致非常高的反向散射。船舶通常有很多拐角并且非常光滑,导致反向散射特别高。因此,通常很容易区分例如船舶与海洋表面。有关海洋散射机制的更多信息。如上所述,存在几种其他散射机制,并且当检测例如北极 SAR 图像中的船只时,也必须考虑体散射。
由于 SAR 及其移动平台的几何形状,典型的 SAR 成像传感器被设计为在图像采集过程中假定目标静止的情况下拍摄具有良好分辨率的聚焦图像。这种聚焦不能针对移动目标,因此普通 SAR 仪器不适合检测快速移动的物体,例如船舶。结果是静态背景分辨率良好,而移动目标分辨率较差。在非合作监视任务中,这是一个重大问题。假设目标以恒定加速度垂直于 SAR 视线移动,可以通过考虑 SAR 图像的多普勒频移来减少该问题。海船通常不遵循这种模式。因此,在使用 SAR 仪器观察船舶时,必须考虑更复杂的轨迹模式。
总之,利用SAR仪器的能力,应该可以探测到海洋表面的船只。
我自己、西蒙·卢彭巴、艾吉尔·利珀特
请参阅许可证文件。简而言之:
在你的作品中引用我!类似于:Kristian Aalling Sørensen (2020) sentinel_1_python [源代码]。 https://github.com/aalling93/sentinel_1_python。电子邮件:[email protected]
让尽可能多的人在 Github 上关注我。您和您的同事至少使用这个。我是一个同类猎人。
给这个存储库加注星标,条件与上面相同。
也许给我写一两封电子邮件,告诉我我的工作有多出色?
帮助我改进工作。我一直在寻找合作者。