Difference between Thermal Noise Removal and GRD Border Noise Removal?


What exactly is the difference between these two operations? The source code (https://github.com/senbox-org/s1tbx/blob/master/s1tbx-op-calibration/src/main/java/org/esa/s1tbx/calibration/gpf/RemoveGRDBorderNoiseOp.java vs https://github.com/senbox-org/s1tbx/blob/master/s1tbx-op-calibration/src/main/java/org/esa/s1tbx/calibration/gpf/Sentinel1RemoveThermalNoiseOp.java) is dealing with similar concepts.


One tries to remove the garbage around the edge of the image that can be found in GRD products. The other applies the thermal noise LUTs to the whole image to compensate. It removes the gradients you can sometimes see between subswaths.

Thanks! So is whole-image thermal noise removal a strict superset of GRD border noise removal? Or are they subtly different?

They are different things, as Luis explains above.

Sorry, just trying to clarify this for myself. So are they completely independent? If I do A, then B, will the result be exactly the same compared to doing B, then A?

1 Like

No, probably not. We should rename GRD Border Noise Removal to avoid confusion. How about GRD Border Cleanup? Also coming up in my mind but ill advised - Junk removal, resampling residual removal or just Bob.

Hm - so if I want to apply both operations, is AB or BA the recommended order?

1 Like