I’m trying to understand the difference between multi-temporal and single-date speckle filters that are implemented in SNAP.
As I understand it, the multi-temporal filter applies a weighted average of the selected spatial filter across all images of a time series. In this respect I would highly appreciate it if somebody could clarify:
- If this weighting done per pixel? If so, how come the output of the boxcar (mean) multi-temporal filter with 15x15 kernel looks much sharper than the one processed using the same single-date filter (see image below)?
- How the weights are calculated? I tried to dig into the Java code (see: https://github.com/senbox-org/s1tbx/blob/master/s1tbx-op-sar-processing/src/main/java/org/esa/s1tbx/sar/gpf/filtering/MultiTemporalSpeckleFilterOp.java), but I still don’t really understand what calculations are done in lines 363 and 374.
Thanks for any advice!