inconsistencies in unwrapped interferogram between tiles #14
Replies: 3 comments 2 replies
-
Hi @RShamshiri, Any pixels in the unwrapped phase whose connected component label is zero are typically assumed to be unreliable. tophu doesn't currently try to apply any correction to those pixels. I think that's why you're seeing those large phase jumps in the tophu result. The discontinuities appear to be occurring at the boundaries of connected components or along tile boundaries within the "invalid" regions (i.e. regions where the connected component labels were all zero). I usually mask out these "invalid" pixels when visualizing the unwrapped output in order to just look at the pixels that the unwrapper deemed reliable. You might find that the import numpy as np
import matplotlib.pyplot as plt
import tophu
# Compute unwrapped phase and connected components
unw, cc = tophu.multiscale_unwrap(...)
# Treat conncomp=0 pixels as invalid
unw_masked = np.ma.array(unw, mask=(cc == 0))
# Plot the unwrapped phase with invalid values masked
plt.imshow(unw_masked) It's concerning to me, though, that it looks like vanilla SNAPHU assigned a nonzero connected component label to a much larger portion of the image than tophu did. I wouldn't expect that -- under the hood, tophu is basically running SNAPHU independently on each tile. Generally, the overall area unwrapped by tophu has been similar to SNAPHU in my testing. Did you apply some different configuration options when you ran SNAPHU? For some context, tophu operates under the assumption that each individual connected component in each tile is unwrapped in a self-consistent manner, but that the relative phase between individual tiles (or even individual connected components within the same tile) may be incorrect. If this is true, then we should be able to apply a constant phase shift to each component in order to correct for the relative phase errors. In order to estimate the correct phase shift to apply, tophu unwraps a filtered, downsampled replica of the original interferogram as a single tile and uses that as a reference. In general, it's not safe to expect that applying a similar constant phase shift to pixels with connected component label = 0 will work, because the relative phase between pixels within this region is likely to be incorrect. That's why Hope that helps. |
Beta Was this translation helpful? Give feedback.
-
Hi @gmgunter! Thank you for your feedback! As you suggested, I removed the pixels labeled zero, and here are the masked unwrapped interferograms from Tophu, the original Snaphu, and their differential map: Here, I plotted the pixel values along the dashed line shown in the first two maps: as shown in the maps, the results are almost identical, and the jumps are still there! I tried applying Tophu with different overlapping (700 and 0) and down-sampling (3/7/15) factors, but I did not see any significant improvement! I wonder if increasing the down-sampling factor would help! as this would make the reference plane (the coarse resolution interferogram) smoother, thereby reducing the potential jumps in it. I note that I have not changed the configuration options while running the original Snaphu, but applied spatial filtering with a larger window size before phase unwrapping in ISCE2 due to poor coherence. Kind regards |
Beta Was this translation helpful? Give feedback.
-
Hi @scottstanie I'm following up on the files you requested to confirm if they were received in good order. Please let me know if there were any issues with the files. Thank you |
Beta Was this translation helpful? Give feedback.
-
Dear All,
I am testing Tophu as the original phase unwrapping results in several phase jumps. To do so, I am running the following command from the branch located at "https://github.com/gmgunter/tophu/tree/conncomp-labels":
uw, cc = tophu.multiscale_unwrap(int, cor, 5*28, unwrap=tophu.unwrap.SnaphuUnwrap(), downsample_factor=(15, 15), ntiles=(3,3), tile_overlap=[700, 700])
and here are the results: unwrapped interferogram and the connected component:
I ran
multiscale_unwrap
with various down-sampling factors and tiles numbers, but the unwrapped phase has inconsistencies between the tiles. I wonder if I ran it correctly or need to adjust the settings for a better result.Here are the unwrapped interferogram and the connected component map obtained using the original phase unwrapping in Snaphu:
and here is the coherence map:
I would also like to know if the multiscale unwrapping method works on the interferograms with such poor coherence in general.
Kind regards
Roghayeh
Beta Was this translation helpful? Give feedback.
All reactions