[français]
NL-SAR: Non-Local framework for (Pol)(In)SAR denoising
Description
-
Speckle noise is an inherent problem in coherent
imaging systems like synthetic aperture radar. It creates strong
intensity fluctuations and hampers the analysis of images and the
estimation of local radiometric, polarimetric or interferometric
properties. SAR processing chains thus often include a multi-looking
(i.e., averaging) filter for speckle reduction, at the expense
of a strong resolution loss. Preservation of point-like and fine
structures and textures requires to locally adapt the estimation.
Non-local means successfully adapt smoothing by deriving data-driven
weights from the similarity between small image patches.
The generalization of non-local approaches offers a flexible
framework for resolution-preserving speckle reduction.
NL-SAR is a general method that builds extended non-local neighborhoods for denoising amplitude, polarimetric and/or interferometric SAR images. These neighborhoods are defined on the basis of pixel similarity as evaluated by multi-channel comparison of patches. Several non-local estimations are performed and the best one is locally selected to form a single restored image with good preservation of radar structures and discontinuities.
The proposed method is fully automatic and can handle single and multi-look images, with or without interferometric or polarimetric channels. Efficient speckle reduction with very good resolution preservation has been demonstrated both on numerical experiments using simulated data and airborne radar images.
- See also: MuLoG filter, PPB filter, NL-InSAR.
Associated publications and source codes
Associated publications/reports:-
Charles-Alban Deledalle, Loïc Denis, Florence Tupin, Andreas Reigber and Marc Jäger
NL-SAR: a unified Non-Local framework for resolution-preserving (Pol)(In)SAR denoising,
IEEE Trans. on Geoscience and Remote Sensing, vol. 53, no. 4, pp. 2021-2038, 2015 (IEEE Xplore, HAL)
IEEE GRSS 2016 TRANSACTIONS PRIZE PAPER AWARD
-
Charles-Alban Deledalle, Loïc Denis, Florence Tupin, Andreas Reigber and Marc Jäger
Additional illustrations of NL-SAR method for resolution-preserving (Pol)(In)SAR denoising,
Technical report HAL, hal-00955194 (HAL)
- NL-SAR Toolbox is open-source software distributed under CeCILL license that provides a collection of tools for the estimation of multi-modal SAR images with non-local filters. Beyond estimation, NL-SAR Toolbox provides a suite of tools to manipulate SAR images. There are 5 ways to interract with NL-SAR: in command line, with Matlab, with Python, with IDL, as a dynamic library (e.g. to use it from a C program).
-
We recommend that you read the documentation first, install NL-SAR Toolbox and then
look at the examples.
- Download NL-SAR Toolbox v0.9:
- Git:
git clone https://bitbucket.org/charles_deledalle/nlsar.git
- Archive: v0.9.zip, v0.9.tar.gz, v0.9.tar.bz2
- Bitbucket: https://bitbucket.org/charles_deledalle/nlsar
- Git:
- Download binaries for v0.8 (comming soon for v0.9):
- Binaries: nlsartoolbox_v08_prebuilt.zip (Linux, Mac, Windows 64bits)
- Download Documentation: nlsartoolbox_v09_doc.pdf
- Download development version of NL-SAR Toolbox from:
- Git:
git clone -b dev https://bitbucket.org/charles_deledalle/nlsar.git
- Git:
- Download NL-SAR Toolbox v0.9:
-
Version History:
- Feb. 7, 2018:
git checkout tags/v0.9
, v0.9.zip, v0.9.tar.gz, v0.9.tar.bz2- Add compatibility with TIFF format (in particular Sentinel-1), ENVI format (with extension .hdr, in particular Radarsat-2), CEOS format (in particular ALOS-2/PALSAR-2).
- Switch to MuLoG diagonal loading technique, see here.
- Add sarexplode command to extract channels of DxD covariance matrix images, into D^2 mono-dimensional images (possibily in TIFF or ENVI format).
- Fix few small bugs.
- July 21, 2016:
git checkout tags/v0.8
, v0.8.zip, v0.8.tar.gz, v0.8.tar.bz2- Improve computation time by about 30%
- Improve robustness (add a bilateral term, deal better with correlated noise, check Wishart statistics)
- Improve compatibility with Mac OS-X and Windows (experimental)
- Add possibility to use other metrics than GLR (Kullback-Leibler or GEOmetric distance)
- Remove dependancy to libfftw3f
- July 24, 2015:
git checkout tags/v0.7
, v0.7.zip, v0.7.tar.gz, v0.7.tar.bz2- Fix many small bugs including search window path for correlated noise
- Learn the kenels also with respect to overlapping (relative shift in the patch)
- Can now precompute kernels offline
- Add (experimental) GUI for Matlab
- Add interface for Python 3 (thanks to Andreas Reigber)
- April 10, 2014:
git checkout tags/v0.6
, v0.6.zip, v0.6.tar.gz, v0.6.tar.bz2- Add interface for IDL
- Add plugin for PolSARpro v4.2.0 (experimental)
- Matlab's interface has now a fancy progress bar (in verbose mode)
- April 5, 2014:
git checkout tags/v0.5
, v0.5.zip, v0.5.tar.gz, v0.5.tar.bz2- Refine similarity measure of rank-deficient matrices.
- Refine wishart samples for kernel learning.
- Fix a bug concerning RAT files with extra bytes.
- November 1, 2013:
git checkout tags/v0.4
, v0.4.zip, v0.4.tar.gz, v0.4.tar.bz2- Possibility to have floating number of looks in input.
- Fix a bug concerning the computation of the bias reduction.
- Fix a bug concerning Python in the configuration script (thanks to Loïc).
- Fix a bug concerning the use of qsort (affecting only Mac OS X versions).
- October 14, 2013:
git checkout tags/v0.3
, v0.3.zip, v0.3.tar.gz, v0.3.tar.bz2- Can now read PolSARPro's Sinclar and Coherency matrices and all XIMA formats.
- Possibility to swap endianness from little to big endian and vice versa.
- Fix many small bugs.
- August 26, 2013:
git checkout tags/v0.2
, v0.2.zip, v0.2.tar.gz, v0.2.tar.bz2- Add interfaces for Python and as a dynamic library.
- Fix problems of compatibility for MacOS-X (tested on Lion, 10.7.5)
- July 25, 2013:
git checkout tags/v0.1
, v0.1.zip, v0.1.tar.gz, v0.1.tar.bz2
- Feb. 7, 2018:
Results on scalar data with simulated Gamma noise
















Table of PSNR/SSIM values

Results on SAR & PolSAR data (Aerial & Satelitar sensors)
































- tsx: @DLR, Terrasar-X image of Toulouse, amplitude, 1-look, X-band, resolution: 1.10m x 1.04m (azimut / range)
- lelystadt: @ESA, ERS-1 image of Lelystadt, amplitude, 3-looks (PRI data), band FIXME, resolution: FIXME
- sanfrancisco: @JPL-NASA-Caltech, AIRSAR image of San Francisco, polarimatric, 2-looks, L-band, resolution 10m x 10m
- dresden: @DLR, ESAR image of Dresden, polarimatric, 1-look, band FIXME, resolution FIXME
- kaufbeuren1: @DLR, F-SAR image of Kaufbeuren, polarimatric, 1-look, band FIXME, resolution FIXME
- kaufbeuren2: @DLR, F-SAR image of Kaufbeuren, polarimatric, 1-look, band FIXME, resolution FIXME (correlated noise)
- kaufbeuren3: @DLR, F-SAR image of Kaufbeuren, polarimatric, 1-look, S or X-band, resolution FIXME
- The code of pretest has been modified to manage the case where L < D in the same way as for NL-SAR, and its parameters have been tuned in a case by case basis to offer best quality.
- Refined Lee and IDAN results have been obtained with @ESA POLSARPRO.
Results on InSAR data (Aerial)
















Last modified: Fri Aug 23 13:52:33 UTC 2019