http://www.ece.gatech.edu/research/labs/MCCL/pubs/dwnlds/p5.pdf
describes this very well and puts some excellent examples. As you can see, AHD is (IMO) the overall best interpolation debayering algorithm from all that have been analyzed in this document. I think I'll change the default setting in the DSLR_RAW module from bilinear to AHD in the next version.
In this comparison, POCS (Color plane interpolation using alternating projections) performed best regarding to lowest average mean square error, but fails on the subjective appearance of some of the test images, which are scanned slides from a Kodak Photo CD.
POCS performs incredibly good on artificial star fields, as can be tested out here with user supplied images (reference implementation with source code also available from this site):
http://www.ipol.im/pub/algo/g_gunturk_ap_demosaicking/An even better algorithm for artificial star fields is this one:
http://www.ipol.im/pub/algo/g_demosaicking_with_contour_stencils/But I still have no idea which algorithm deals better with noise. According to [1] the performance of adaptive algorithms (like AHD) "degrades significantly as noise increases".
At least I was able to compare a bilinear debayered stacked result with a Hamilton Adams (HA) debayered stacked result. Keep in mind, that HA is quite a simple algorithm and is often only used as an initial preparation step in more advanced algorithms.
But HA renders small white points (stars) better than the bilinear algorithm, so it was not that big surprise to me, that faint stars (mag 13..15) are turning out visibly smaller and somewhat brighter. Attached is a screenshot of a 30x3min stack where the HA integrated result shows sharper stars and even clearly shows two stars as separated (left to the NGC 4132 galaxy) where the bilinear method baked them together.
But since the thread is actually about noise evaluation: After replacing the batch debayer script with my HA version noise is evaluated without problems so far. The weights for "noise evaluated" stacking look OK to me. But I really don't know how to interpret the SNR increments. I stack 30 images and expect sqrt(30) ~ 5.5, but not values above 8?!
Reference SNR increments:
??s0R = 4.5578
??s0G = 8.8960
??s0B = 9.0716
Average SNR increments:
??sR = 4.6774
??sG = 8.1588
??sB = 8.6586
Regards,
Rüdiger
[1] "A case for denoising before demosaicking color filter array data"; Sung Hee Park, Hyung Suk Kim, Steven Lansel, Manu Parmar, and Brian A. Wandell
http://graphics.stanford.edu/~shpark7/projects/demden/Asilomar09_cfadenoise.pdf