目录
6.干涉图堆栈处理(interferogramStack):
ISCE
SBAS处理流程可以参考博主
【时序InSAR开源软件】用isce2(stackSentinel.py)+mintpy进行哨兵一号SBAS小基线集InSAR时序处理全流程-CSDN博客
【INSAR形变监测】SENTINEL-1 TOPS INSAR全流程 (ISCE2+MINTPY)_sentienl-1 形变处理-CSDN博客
ISCE主要是使用stackSentinel.py生成干涉图
源码:isce2/contrib/stack/topsStack/stackSentinel.py at main · isce-framework/isce2 · GitHub
stackSentinel.py输入输出为:
输入数据:SLC、DEM、Orbits数据
输出数据:一系列可运行文件,每个运行文件实际上有几个相互独立的命令,每个运行文件的配置文件包括执行特定命令/函数的处理选项。
stackSentinel.py
stackSentinel.py使用示例
# interferogram workflow with 2 nearest neighbor connections (default coregistration is NESD):
stackSentinel.py -s../SLC/ -d ../../MexicoCity/demLat_N18_N20_Lon_W100_W097.dem.wgs84 -b '19 20 -99.5 -98.5' -a ../../AuxDir/ -o ../../Orbits -c 2
# interferogram workflow with all possible interferograms and coregistration with only geometry:
stackSentinel.py -s../SLC/ -d ../../MexicoCity/demLat_N18_N20_Lon_W100_W097.dem.wgs84 -b '19 20 -99.5 -98.5' -a ../../AuxDir/ -o ../../Orbits -C geometry -c all
# correlation workflow with all possible correlation pairs and coregistration with geometry:
stackSentinel.py -s../SLC/ -d ../../MexicoCity/demLat_N18_N20_Lon_W100_W097.dem.wgs84 -b '19 20 -99.5 -98.5' -a ../../AuxDir/ -o ../../Orbits -C geometry -c all -W correlation
# slc workflow that produces a coregistered stack of SLCs
stackSentinel.py -s../SLC/ -d ../../MexicoCity/demLat_N18_N20_Lon_W100_W097.dem.wgs84 -b '19 20 -99.5 -98.5' -a ../../AuxDir/ -o ../../Orbits -C NESD -W slc
stackSentinel.py参数列表
| 参数 | 短选项 | 长选项 | 类型 | 是否必需 | 默认值 | 选项 | 含义 |
|--|--|--|--|--|--|--|
| display_help | -H | --hh | 无 | 否 | 无 | 无 | 显示详细帮助信息,调用 customArgparseAction 打印 helpstr 并退出程序 |
| slc_directory | -s | --slc_directory | str | 是 | 无 | 无 | 包含所有 Sentinel SLC 的目录 |
| orbit_directory | -o | --orbit_directory | str | 是 | 无 | 无 | 包含所有轨道数据的目录 |
| aux_directory | -a | --aux_directory | str | 是 | 无 | 无 | 包含所有辅助文件的目录 |
| working_directory | -w | --working_directory | str | 否 | ./ | 无 | 工作目录 |
| dem | -d | --dem | str | 是 | 无 | 无 | DEM 文件的路径 |
| polarization | -p | --polarization | str | 否 | vv | 无 | SAR 数据的极化方式 |
| workflow | -W | --workflow | str | 否 | interferogram | slc, correlation, interferogram, offset | InSAR 处理的工作流 |
| swath_num | -n | --swath_num | str | 否 | 1 2 3 | 无 | 要处理的条带列表 |
| bbox | -b | --bbox | str | 否 | 无 | 无 | 经纬度边界(SNWE),示例:'19 20 -99.5 -98.5' |
| exclude_dates | -x | --exclude_dates | str | 否 | 无 | 无 | 要排除处理的日期列表,示例:'20141007,20141031' |
| include_dates | -i | --include_dates | str | 否 | 无 | 无 | 要包含处理的日期列表,示例:'20141007,20141031' |
| start_date | --start_date | 无 | str | 否 | 无 | 无 | 堆栈处理的开始日期,格式应为 YYYY-MM-DD,如 2015-01-23 |
| stop_date | --stop_date | 无 | str | 否 | 无 | 无 | 堆栈处理的结束日期,格式应为 YYYY-MM-DD,如 2017-02-26 |
| coregistration | -C | --coregistration | str | 否 | NESD | geometry, NESD | 配准选项 |
| reference_date | -m | --reference_date | str | 否 | 无 | 无 | 参考采集的目录 |
| snr_misreg_threshold | --snr_misreg_threshold | 无 | str | 否 | 10 | 无 | 使用互相关估计距离失配准的 SNR 阈值 |
| esd_coherence_threshold | -e | --esd_coherence_threshold | str | 否 | 0.85 | 无 | 使用增强谱分集估计方位失配准的相干阈值 |
| num_overlap_connections | -O | --num_overlap_connections | str | 否 | 3 | 无 | 用于 NESD 计算(方位偏移失配准)的每个日期和后续日期之间重叠干涉图的数量 |
| num_connections | -c | --num_connections | str | 否 | 1 | 无 | 每个日期和后续日期之间干涉图的数量 |
| azimuth_looks | -z | --azimuth_looks | str | 否 | 3 | 无 | 干涉图多视处理时的方位视数 |
| range_looks | -r | --range_looks | str | 否 | 9 | 无 | 干涉图多视处理时的距离视数 |
| filter_strength | -f | --filter_strength | str | 否 | 0.5 | 无 | 干涉图滤波的强度 |
| unw_method | -u | --unw_method | str | 否 | snaphu | icu, snaphu | 解缠方法 |
| rmFilter | --rmFilter | 无 | bool | 否 | False | 无 | 是否生成一个额外的去除滤波效果的解缠文件 |
| param_ion | --param_ion | 无 | str | 否 | 无 | 无 | 电离层估计参数文件,若提供将进行电离层估计 |
| num_connections_ion | --num_connections_ion | 无 | str | 否 | 3 | 无 | 用于电离层估计的每个日期和后续日期之间干涉图的数量 |
| useGPU | -useGPU | --useGPU | bool | 否 | False | 无 | 当可用时允许程序使用 GPU |
| num_process | --num_proc | --num_process | int | 否 | 1 | 无 | 每个运行文件中并行运行的任务数量 |
| num_process4topo | --num_proc4topo | --num_process4topo | int | 否 | 1 | 无 | 并行进程的数量(仅针对地形) |
| text_cmd | -t | --text_cmd | str | 否 | 无 | 无 | 要添加到每个运行文件每行开头的文本命令 |
| virtual_merge | -V | --virtual_merge | str | 否 | 无 | True, False | 对合并的 SLC 和几何文件使用虚拟文件,不同工作流有不同默认值 |
其中比较重要的
-s:slc(single look complex)影像所在目录。
-d表示包含影像范围的DEM文件(WGS84),可利用dem.py命令线上下载。
-a为S1-A的的辅助文件目录,因为S1-A的SAR影像可能由不同版本的设备处理仪器(IPF)获得,而S1-B则不需要
-o为S1轨道文件的目录,缺失的文件将自动下载
-b为研究区经纬度范围
-c为SAR影像连接数,确定每景影像与其相邻日期最近的影像生成干涉图的数目,取决于时间基线,对S1而言一般取3
-u为解缠算法,一般选snaphu
-n为SAR影像的subswath的编号,从左到右为1,2,3
-f为干涉影像的滤波强度
-z为方位向的视数
-r为距离向视数,S1的SAR影像的分辨率为5 m * 20 m(距离*方位),视数越小则干涉影像目标点数(或者像元)越多,处理越费时,但是形变细节保留更多。
--reference_date为影像的参考日期。
执行stackSentinel.py命令后会在当前目录生成一系列文件和文件夹,在runfile文件夹下有16个python脚本文件,分别代表干涉处理的步骤,依次运行脚本则得到一堆干涉影像。
注意:使用stackSentinel.py后可能会生成11个run文件,这个是由于stackSentinel.py参数不同导致的
ISCE处理流程
run_01_unpack_topo_reference:
用于配置和执行解包堆栈参考SLC的操作。它会调用unpackStackReferenceSLC方法,从safe_dict中获取相关信息,对参考Sentinel - 1 SLC数据进行解包,将数据从原始的SAFE文件格式转换为适合后续处理的格式。
run_02_unpack_secondary_slc:
负责配置和执行解包辅助SLC的任务。通过调用unpackSecondarysSLC方法,使用stackReferenceDate、secondaryDates和safe_dict中的信息,对辅助日期对应的Sentinel - 1 SLC数据进行解包处理,同样将数据转换为可进一步处理的格式。
run_03_average_baseline:
用于配置和执行计算平均基线的操作。它调用averageBaseline方法,利用stackReferenceDate和secondaryDates相关数据,计算平均基线。基线信息在后续的干涉测量等处理中非常重要,它反映了不同SLC数据采集时卫星轨道的相对位置关系。
run_04_extract_burst_overlaps:
由于inps.coregistration为NESD且updateStack为False,被生成并用于配置和执行提取突发重叠区域的操作。通过调用extractOverlaps方法,从解包后的SLC数据中确定不同突发之间的重叠区域,这些重叠区域的数据将用于后续的精确配准步骤。
run_05_overlap_geo2rdr:
负责配置和执行将重叠区域从地理坐标转换为距离向坐标并计算偏移量的操作。调用geo2rdr_offset方法,针对secondaryDates对应的SLC数据,在之前提取的重叠区域基础上,进行坐标转换和偏移量计算,为后续的重采样做准备。
run_06_overlap_resample:
用于配置和执行对重叠区域进行带载波重采样的操作。通过调用resample_with_carrier方法,以secondaryDates数据为基础,结合之前计算的偏移量,对重叠区域的数据进行重采样,使不同SLC数据在重叠区域的坐标和分辨率达到一致,便于后续处理。
run_07_pairs_misreg:
如果updateStack为True,配置和执行针对secondaryDates的成对配准误差处理;若updateStack为False,则针对acquisitionDates。通过调用pairs_misregistration方法,利用safe_dict中的数据信息,对每对SLC数据进行配准误差的计算和分析,以确定数据之间的精确差异,为后续的时间序列处理提供基础。
run_08_timeseries_misreg:
用于配置和执行时间序列的配准误差处理。调用timeseries_misregistration方法,综合之前计算的成对配准误差信息,对整个时间序列的SLC数据进行配准误差的进一步分析和处理,以提高数据在时间维度上的一致性和准确性。
run_09_fullBurst_geo2rdr:
负责配置和执行对全突发数据进行从地理坐标到距离向坐标的偏移处理。调用geo2rdr_offset方法,并设置fullBurst='True',对secondaryDates对应的全突发SLC数据进行坐标转换和偏移量计算,与之前重叠区域的处理类似,但针对的是整个突发数据。
run_10_fullBurst_resample:
用于配置和执行对全突发数据进行带载波的重采样操作。调用resample_with_carrier方法,同样设置fullBurst='True',对经过地理到距离向坐标偏移处理后的全突发secondaryDates数据进行重采样,确保全突发数据在坐标和分辨率上的一致性,满足后续处理要求。
run_11_extract_stack_valid_region:
负责配置和执行提取堆栈有效区域的操作。通过调用extractStackValidRegion方法,对经过前面一系列处理后的SLC堆栈数据进行分析,确定数据中的有效区域,排除无效或噪声数据区域,提高后续处理的数据质量。
run_12_merge_reference_secondary_slc:
因为mergeSLC为True,用于配置和执行合并参考SLC和辅助SLC的操作。通过调用mergeReference方法合并参考日期的SLC数据,调用mergeSecondarySLC方法合并secondaryDates对应的辅助SLC数据,并设置virtual = 'False',表示采用实际合并而非虚拟合并的方式,将多个SLC数据合并为一个更便于后续处理的数据集。
run_13_grid_baseline:
负责配置和执行网格化基线的操作。调用gridBaseline方法,使用stackReferenceDate和secondaryDates相关数据,将之前计算的平均基线信息进行网格化处理,将基线数据转换为适合网格化分析和后续应用的格式。
run_14_merge_burst_igram:
配置了合并突发干涉图的操作,接着调用runObj.igram_mergeBurst(acquisitionDates, safe_dict, pairs)方法,将之前生成的突发干涉图进行合并,以得到更完整或适合后续处理的干涉图数据。
run_15_filter_coherence:
用于配置对干涉图相干性进行滤波的操作,然后调用runObj.filter_coherence(pairs)方法,对由pairs确定的干涉图数据进行相干性滤波处理,以提高干涉图的质量和可靠性。
8574




被折叠的 条评论
为什么被折叠?



