Topic: Denoising via NL-Means now available in COSI-Corr
This message to publicize an optimized implementation of the NL-Means denoising algorithm in the last version of COSI-Corr. If you are interested in learning more about this powerful denoising technique, here are the main papers we used for our implementation:
1- A. Buades, B. Coll, and J.M. Morel, "Nonlocal Image and Movie Denoising" International Journal of Computer Vision, Vol 76(2), pp: 123-139, 2008.
2- A. Buades, B. Coll, and J.M. Morel, "The staircasing effect in neighborhood filters and its solution" , IEEE transactions on Image Processing, Vol 15(6), pp: 1499-1505, 2006.
3- B. Goossens, H. Luong, A. Pizurica, and W. Philips, "An Improved Non-Local Denoising Algorithm" , in Proceedings of the 2008 International Workshop on Local and Non-Local Approximation in Image Processing (LNLA 2008), Lausanne, Switzerland.
Our algorithm uses SIMD instructions to allow fast multicore parallel execution. Most type of images can be denoised:
- Images can contain NaN (missing) values
- Image data type can be byte, integer, float, or double precision
- Images can contain several bands, i.e., standard RGB images from your digital camera, microscope, telescope, etc.. or they can simply be correlation images with displacement fields in EW and NS direction
- You can use the SNR to further weight the algorithm, if available
- Images can be georeferenced (or not)
- You can queue several processes
- You can apply a spatial subset on the image to filter to only denoise a particular area of the image (to be done when opening the bands)
Adjusting the filtering parameters can be a little tricky if you're not familiar with the algorithm. Using the default parameters, choosing the H value to be around 1.6*stdev(noise) is a good approximation. Note that you can apply the filter only on a small subset of your data, for speeding up the trial and error phase when adjusting parameters. Additional details can be found in the COSI-Corr manual:
http://www.tectonics.caltech.edu/slip_h … _guide.pdf
As you see, this filter is quite general (but only available for windows computers so far). For the particular application of measuring ground displacements, we have found that it is better to denoise the correlation images rather than denoising the satellite images themselves (the noise is indeed Gaussian on the correlation images). In particular, this method is useful if you are interested in deriving strain maps from the correlation images. It is usually a good idea to complement the NL-Means filter with an outlier detection algorithm. We will provide this feature in futures releases of COSI-Corr.
Let us know of your tests and experiments!
PS: if you happen to be on this page without knowing what COSI-Corr is, you can download it here:
http://www.tectonics.caltech.edu/slip_h … tware.html