Skip to content

gfacciol/da3d

 
 

Repository files navigation

DA3D: Data Adaptive Dual Domain Denoising

Nicola Pierazzo, Jean-Michel Morel, and Gabriele Facciolo
<{nicola.pierazzo,morel,facciolo}@cmla.ens-cachan.fr>, CMLA, ENS Paris-Saclay, France
Complete IPOL article available at: http://www.ipol.im/pub/art/2016/203
For future releases of the code visit: https://github.com/gfacciol/da3d

DA3D (Data Adaptive Dual Domain Denoising) is a last step denoising method that takes as input a noisy image and as a guide the result of any state-of-the-art denoising algorithm. The method performs frequency domain shrinkage on shape and data-adaptive patches. Unlike other dual denoising methods, DA3D doesn’t process all the image samples, which allows it to use large patches (64×64 pixels). The shape and data-adaptive patches are dynamically selected, effectively concentrating the computations on areas with more details, thus accelerating the process considerably. DA3D also reduces the staircasing artifacts sometimes present in smooth parts of the guide images.

The effectiveness of DA3D is confirmed by extensive experimentation. DA3D improves the result of almost all state-of-the-art methods, and this improvement requires little additional computation time.

Building

To compile, use

$ mkdir build
$ cd build
$ cmake .. [-DCMAKE_CXX_COMPILER=/path/of/c++/compiler -DCMAKE_C_COMPILER=/path/of/c/compiler] [-DCMAKE_BUILD_TYPE=Debug]
$ make

To rebuild, e.g. when the code is modified, use

$ cd build
$ make

This code only supports the PNG, JPEG, and TIFF (float) image formats and requires the libpng, libtiff, libjpeg, and libfftw libraries.

Usage

Running the program without parameters prints its usage instructions:

$ da3d

  usage: ./da3d noisy guide sigma output

The guide image must be computed from the noisy image using another denoising algorithm for instance:

Releases

No releases published

Packages

No packages published

Languages

  • C 76.3%
  • C++ 22.3%
  • CMake 1.4%