Stefano Tommesani

  • Increase font size
  • Default font size
  • Decrease font size

AltaSonita - image denoising software

Hits smaller text tool iconmedium text tool iconlarger text tool icon

AltaSonita is an image denoising application built to run on nVidia video boards using CUDA technology. Three different denoising algorithms, and five intensity levels let you remove most of noise from photos without blurring small details and edges.

AltaSonita is provided as free software, and you can download it from here. Please note that AltaSonita requires a CUDA-enabled video board, that is a recent nVidia video board; it will not run on any other video board.

As the following images show, the intensity setting works by separating edgy areas (drawn in red) from mostly plain areas (drawn in blue), and in plain areas the amount of noise filtering is higher as there are no relevant edges that would be blurred by the denoising process. Increasing the intensity setting reduces the amount of edge-preserving areas, so that aggressive noise filtering is applied to more zones of the image.

NLM0
Original image
KNNmin
KNNminstat
KNN filter with min intensity Edges (drawn in red) of KNN filter with min intensity
KNNmax
KNNmaxstat

KNN filter with max intensity Edges (drawn in red) of KNN filter with max intensity
NLMmin
NLMminstat
NLM filter with min intensity Edges (drawn in red) of NLM filter with min intensity
NLMmax
NLMmaxstat

NLM filter with max intensity Edges (drawn in red) of NLM filter with max intensity

 

Nvidia-Cuda-150x150

The image denoising CUDA kernels are contained in the following nVidia SDK example: Image denoising

Please refer to the nVidia whitepaper for details regarding the K Nearest Neighbours (KNN), Non Local Means (NLM) and Quick NLM filters.

Quote this article on your site

To create link towards this article on your website,
copy and paste the text below in your page.




Preview :

AltaSonita - image denoising software
Wednesday, 30 March 2011

Powered by QuoteThis © 2008
Last Updated on Thursday, 14 July 2011 09:57  

Add comment


Security code
Refresh

View Stefano Tommesani's profile on LinkedIn

Latest Articles

Comparing SSE2 and GPGPU C++ AMP 20 May 2013, 15.41 GPGPU
Comparing SSE2 and GPGPU C++ AMP
The temporal median algorithm compares the same pixel in consecutive images in a sequence, and returns the median value of the pixel, i.e. the pixel value that has the same number of lower and higher values (an easy way to
Spidering Facebook public profiles with C++ and Boost
Back in 2010, security researcher Ron Bowes wrote a Ruby script that downloads information from Facebook's user directory, a searchable index of public profile pages. The directory did not expose a user's entire profile and
GPGPU performance on switchable graphics notebooks
Many notebooks on the market feature switchable graphics, that is, a notebook with an Intel CPU with built-in HD Graphics technology, as well as an additional AMD HD Radeon GPU or nVidia GeForce GPU. During normal usage, just
Unit testing with Visual C++ 2012 24 April 2013, 23.42 Testing
Unit testing with Visual C++ 2012
The article related to multi-threading and SSE2 optimizations (you can find it here) uses a quick-and-dirty way to check if the optimized code is correct, i.e. it runs an iteration on a given input image with a reference serial
Different types of parallel loops with Intel TBB, SSE2, SSSE3 and Visual C++ 2012
This is not the first article on this site that discusses how to use the Intel Thread Building Blocks library to spread the computation of an image-processing kernel over multiple threads: the article named "Multi thread loops