Terrain Flattening: edge effects at DEM tile boundaries?

Dear SNAP community,
Currently I’m attempting to apply the Terrain Flattening operator (TF Op), which otherwise appears to be very beautiful by the way (thank you very much for making this implementation available) and I am using the “internal” 30m ESA DEM. In the result, I am observing what appears to be artifacts along the boundaries of DEM tiles. Have others experienced this?

  1. T3 matrix (R,G,B) = (T22, T33, T11) before applying TF Op

  2. T3 matrix (R,G,B) = (T22, T33, T11) AFTER applying TF Op (notice artifacts which are a little harder to see at the beginning, but which become more obvious after later steps):

  3. T3 matrix (R,G,B) = (T22, T33, T11) after applying speckle filtering (the same artifacts are more obvious now)

  4. T3 matrix (R,G,B) = (T22, T33, T11) after applying multi-looking (default setting)

  5. T3 matrix (R,G,B) = (T22, T33, T11) after applying Range-doppler terrain correction. This visualization suggests to me the artifacts introduced by applying the TF Op, are likely corresponding edges in the DEM tiles. Is this a logical conclusion (or not)?

Hoping to learn if others experienced this issue, and any recommendations for work-arounds / fixes? Thanks a lot in advance for any feedback you might have : - )
Many thanks
Regards,
Ash

1 Like

I made a post about this here and is caused when running with CopDEM

It’s been fixed but not yet released as a patch to SNAP 10

1 Like

@anthony.scarth Thank you so much Anthony for your help! Regards, Ash

What is the reason for using hardcoded raster width and height instead of getting them from the raster? You’ll encounter the same issues with SRTM, ALOS, etc., when downloading DEMs, as they use varying tile sizes and grid registration schemes (pixel boundary vs. central point).

-            resampler.setParameter("targetWidth", 3600);
-            resampler.setParameter("targetHeight", 3600);
+            resampler.setParameter("targetWidth", 3601);
+            resampler.setParameter("targetHeight", 3601);
1 Like