1
Release Information / Re: Comparison of noise reduction algorithms: The double gradient synthetic image
« on: 2013 May 22 10:57:02 »It seems that high contrast areas (sharp edges) are hard to de-noise and not really indicative of how well an algorithm is suited for astro photography because they don't occur in a typical nebula or galaxy image.
Would it be possible to use a softer source image, add noise and then see how well each method does?
Here is a completely different noise reduction problem, this time with a synthetic image generated with the SimplexNoise tool in PixInsight:

Simplex noise is a texture generation algorithm created by Ken Perlin in 2001. It is similar to Perlin noise, but much faster. I implemented a barebones simplex noise generation tool in PixInsight back in 2007. If you are interested in this topic, this slide show from the author is very interesting to understand how all of this stuff works, with some historical background. By all means, exploring Ken Perlin's website is obligatory if you are interested in anything related to computer graphics.
Despite the fact that PixInsight's implementation of simplex noise is very basic, one can do things like this in a couple minutes with the SimplexNoise and CurvesTransformation tools, plus the Spherize script:

Returning to the subject of noise reduction, this is the simplex noise sample above with a mix of Gaussian and Poisson noise added with the NoiseGeneration tool, enlarged 2:1 without interpolation:

The noise has been added masked with the image itself. The result is an attempt to simulate the distribution of noise in a typical deep-sky image, with the purpose of testing the noise reduction algorithms on a smooth target. This simulation lacks small-scale image structures such as stars and ionization front edges, but my purpose is to provide a complimentary test to the first one with the double gradient image. Here are the results:
TGVDenoise

ATrousWaveletTransform

GREYCstoration

MultiscaleMedianTransform

ACDNR

Again, all tools have been applied without masks (not even ACDNR's built-in mask), trying to achieve the best possible result in each case.
The clear winner is again TGVDenoise. You may have to download the images and inspect them zoomed 4:1 to properly compare the results. As expected, ATWT performs extremely well for smooth targets. GREYCstoration also yields a very good result, but the strongest points of MMT and ACDNR definitely don't shine on smooth images without any edges like this one.
As happens with the double gradient image, this is a difficult target that tends to expose the weakest points of the most specialized algorithms. Some of these algorithms perform well for the double gradient and poorly for the simplex noise image (ACDNR), and vice versa (ATWT, GREYCstoration). I hope this will give you a more complete picture of the noise reduction tools that we have currently in PixInsight.
The bottom line is that TGVDenoise seems to outperform everything else that we have implemented in a variety of contexts. Does this mean that TGVDenoise will replace all of the other noise reduction tools? Well, not actually, and I have an example that shows this.
If you want to repeat this test yourself, I have uploaded the corresponding PixInsight project.
