Noisy pixel removal
Deno.m
This routine approximately remove ~5% of the noisiest pixels at your current data count. So if the result is still too noisy after running one time, try running it several times for better cleaning. Below shows the denoising criterion and an example of running this routine.
-
Denoising criterion
Based on experience, the noises residing in displacement field results will somewhat look like the following (Left figure). It could be inconsistent distribution or having very drastic values. Therefore, this code calculates the sum of difference between the center pixel and its neighboring pixels with a self-defined window size sliding with one-step increment. After that, it calculates cumulative density function (CDF) of the sum of difference and picks the value at 95% (Right figure). Pixels with the sum of difference larger than this value will be regarded as noises and set to NaN.
Example of noise and noise-free area
Cumulative density funciton of the sum of difference
-
Example
Note that the near-fault area often has abrupt deformation gradient, thus it's often regarded as noise in this code. Larger window size might reduce this effect or simply break the displacement matrix into one hanging wall and one footwall matrix and denoise them separately.
Pre-denoised EW displacement
Post-denoised EW displacement