Open Source Image De-Noising
GREYCstoration is an open-source tool able to de-noise, inpaint, or resize 2D color images. This is a command-line program developed by the IMAGE team of the GREYC Lab in France and is available for Unix, Mac, and Windows systems under the CeCILL license. The algorithm is based on anisotropic diffusion partial differential equations. These equations are able to smooth an image while preserving its main structures. The demo page presents interesting examples of color image de-noising and reconstruction. This is a serious free alternative to commercial products like Noise Ninja or Neat Image that perform the same kinds of operations. The tool is still a little bit hard to use (command-line based), but I hope the simple C++ API will ease the integration of the algorithm in more user-friendly interfaces. Previous versions of GREYCstoration are already available in Digikam and Krita.
"The demo images are more than a little impressive."
I disagree. They are overly smoothed and detail is destroyed. They look like the type of thing a noob makes upon discovering video filters. For example, look at the delicate features in the jellyfish or the pig's hair. This samples look more like demonstrations of soften or posterization filters. They should also use real, not artificial, noise.
Usually in wars people on both sides have weapons. Otherwise the war doesn't last very long.
This space intentionally left blank.
Sure, he's a noob. That DT-MRI of gray matter paths in your brain based on diffusion tensors is purely the stuff of rank amateurs!
Being a research scientist doesn't necessarily qualify someone as having a photographer's eye. Nobody's saying the guy couldn't research circles around any of us. What the parent poster said is his de-noise filter is way too aggressive and obscures image detail. That appears to be true, at least judging by the settings he's using for his demo shots.
Sufficiently advanced noise is indistinguishable from the stuff that comes out of a cheap imaging device
Not really true, because the noise that comes out of any imaging device (cheap or otherwise) is not random. It fits a particular profile that's unique to that model of device, or even that particular unit. Advanced photo filtering algorithms (including those used in the in-camera processors that convert raw image data to jpg image files) use that individual profile to filter noise. They're not trying to figure out what's noise and what isn't on the fly, which is at best an imperfect science, and that's being charitable. They have a good idea before they even look at an image what the noise is going to look like, so they do a better job of removing it without sacrificing detail.
The more advanced filters like NeatImage are also almost infinitely configurable in what noise they go after and where, and how aggressive they are. Now, this guy's algorithm seems to be pretty configurable as well, so maybe he just didn't use very good settings himself on most of his image demos, and the algorithm is actually capable of better results. He does seem like he's a better scientist than image-maker so that's entirely possible.
It would be interesting to see what could be done with this if it was given an intuitive GUI and put in the hands of some real photographers. (Yes, even real photographers have to shoot at ISO 800 and above occasionally, and would benefit from noise reduction that actually works without sacrificing detail.)