Hi all.
Sorry for joining late to the discussion. I’m the author of one of the pixel interpolation methods AMaZE is using, referred in the code as “Adaptive Ratios”.
As Emil said, AMaZE performs several pixel value estimations and then tries to select the best suited result for each of the four cardinal directions. If I recall correctly, Emil’s implementation uses the Adaptive Ratios and the widely spread Hamilton-Adams interpolation methods. Both methods produce this kind of artifacts when the intensity of the blue and the red channels happens to be too far away from each other. When this occurs, the under or overestimation is quite noticeable, since the degree of color correction in alternate rows is very different.
I believe the implementation of the Adaptive Ratios in AMaZE is from 2009. Since then, in my own demosaicing algorithms I use a refined version of the pixel estimation method which produces virtually no artifacts even in the hardest parts of the image. And, unlike AMaZE, there is no need to perform a separate diagonal refinement at all, so it should run faster.
In the example image you are using, this is the straight result of the demosaicing:
If someone is kind enough to reupload the rest of the sample images used for the crops (most of their links expired) I would post more examples.
My code is part of a full demosaicing routine (RCD) written à la dcraw: pure ANSI C with neither parallelization nor optimization. It just works but it’s probably not ready for production. If it might be of any interest, I would release it gladly.
The goal of the RCD algorithm is to minimize any kind of artifact even with artificial lightning or strong chromatic aberrations. This way, the resulting image can be safely sharpened for final printing. Intentionally it does not deal with moirée, though, so it’s not suited for all images.
The algorithm can be included in RawTherapee, as it happened with IGV, or the standalone pixel estimation method can be used to update AMaZE. Given this last option, I would suggest you to update too the full red and blue channel interpolation in AMaZE, whose quality is just average. I believe integrating the one I use in RCD will be pretty straightforward and yield better results every time.
Best regards,
Luis
