Phase unwrapping fringes

263 Views Asked by At

I have one third of an image which contains vertical interference fringes (the fringes are vertical lines with about one pixel width):

enter image description here

I'm looking for software solution, i. e. python or Mathematica code to unwrap the phase to get clear image without fringes, phase contrast image.

I found the article in python: https://www.kaggle.com/code/kmader/unwrapping-signals-phase-shift-overflow. In this link, under "In [9]:" there is unwrapped image:

enter image description here

I wanted to do the same with vertical lines in my picture.

In the picture there are vertical lines (bright and dark, side by side), I've marked two of them with blue and green:

enter image description here

2

There are 2 best solutions below

1
Christoph Rackwitz On

There is no phase information.

I took your data apart into even and odd columns. I also stretched the value range. Take a look:

side by side

Here is your original data, with stretched value range:

enter image description here

Both of these pictures I made are illustrations/plots, not data.

Since you won't tell us what this data is, how it was made, what is being imaged, we can't help you any more than this.

3
Oskar Hofmann On

You could use skimage.restoration.unwrap_phase(). An example for its use is given here.

Please note that phase unwrapping of noisy data is always a difficult process that usually requires some assumptions of the noise and how to handle it. Sometimes it outright is not feasible. Unwrapping of 2D-data may even be impossible even if there is no noise as one can have vertices in the wrapped data that cannot be resolved during unwrapping.