# A SqueezeSAR Spatially Adaptive Filtering Algorithm Based on Hadoop Distributed Cluster Environment
## 3 Experimental Results and Analysis
### Data Processing Flow  
In the field of InSAR parallelization processing, secondary development using open-source software is a common technical tool [53]. The most widely disseminated open-source software is Doris, a data preprocessing software developed by Technische Universiteit Delft, and StaMPS, a time-series analysis software developed by Stanford University [54]. The Doris software is an open-source InSAR processing software written based on the programming language C++ and has a modular structure, where each module identifies the different algorithms for the processing steps, and users can choose the most appropriate interference module for data processing according to the actual situation. It is worth noting that each pre-processing module of Doris, in the process of generating interferograms, needs to set different parameters to generate the datasets, which can be based on these datasets for secondary development and processing and is a characteristic point of Doris. StaMPS focuses on the time-series analysis modules. In fact, StaMPS can perform the pre-processing of the SAR data (co-registration, interference, differential interference, coordinate system conversion, etc.) by calling Doris for the identification and filtering of SHPs in the later stage. Finally, it reconstructs the phase information of the coherence map by combining the phase triangulation algorithm to complete the time series analysis by combining the extracted DS and PS to obtain the subsidence rate results of the study area. Notably, because Doris and StaMPS only support PS-InSAR algorithm data processing, we implemented the entire DS point extraction and phase optimization steps of SqueezeSAR in this process, based on the Python code. Therefore, our parallelization algorithm was also developed and implemented based on the Python code.  
The entire data processing flow of the SqueezeSAR algorithm is shown in Figure 8. When the differential interference is completed based on Doris, StaMPS is used to generate the interferogram sequence and partition the data into data blocks named PATCHs; the purpose of this step is mainly to prevent the overflow of memory when reading the data, owing to an oversized dataset. By setting the search window size and amplitude dispersion index, the KS test algorithm is used for the initial selection of the DS points from the raw data of the intensity image, and the extracted data are stored in the HDFS for distributed storage  
Figure 7: Study area(including the main urban area of Kunming and its surroundings).  
for the next step of the parallel calculation of spatial adaptive filtering. Subsequently, the baseline generates the information of the N(N\(-\)1)/2 interferograms based on Doris, and the interferogram range is partitioned accordingly, based on the chunk size of the PATCHs. The data information of each PATCH is read by the driver in the Spark distributed computing engine, and the interferogram phase data with a larger data volume is sent to the executor by the broadcast RDD. The data stored in the HDFS are then distributed to each executor for filtering, and the data from each executor are collected by the master node, based on the collected RDD, and written to the storage node disk. Finally, the phase triangle algorithm is used to invert the phase of the filtered interferogram to obtain more accurate phase information and extract the DS candidate points. Time-series analysis was performed jointly with the PS candidate points to obtain the deformation rate results of the study area.