Hi all. After being away for a while (I had to cope with three little kids and tons of work at the same time ), I feel like coming back to play with image processing algorithms.
I have seen some ongoing discussion around RCD. May I ask what is the current situation in RawTherapee and if there is something I can do to help?
This Christmas I have been coding again. I tried out some ideas and came up with a new version of RCD demosaicing. It marginally improves almost every aspect of the interpolation but still needs a bit of testing. The underlying principles of the algorithm remain the same, so don’t expect big improvements.
I have been thinking too about how to improve AMaZE. In the end, the pipeline of AMaZE and RCD is pretty much the same and some parts are interchangeable. Particularly in AMaZE, I believe it will be pretty straightforward to change the green pixel estimation method from Hamilton-Adams to something else and to change the red and blue channels demosaicing for the one in RCD, which has noticeable less artifacts.
If the green pixel estimation is good enough, it will be possible to get rid of the diagonal corrections, which add computational cost and don’t seem to perform well in some cases. In the end, maybe it would just make sense to create a new algorithm since only the directional strength estimations would remain.
I have also seen that VNG-4 gets quite a lot of usage, mainly because treating a Bayer CFA as a 4-color CFA removes many high frequency artifacts. If there is any interest in a better 4-color demosaicing algo, I had one from many years ago which performed better in almost every aspect. I thought VNG-4 was there just to support very old cameras, not for actual use with current ones.
One thing I would like to ask is if the engine of RawTherapee is separable. I wouldn’t like to have to compile the whole project and open the interface to test every change I make but I also see that coding for the dcraw pipeline causes some issues later on.
If there are other areas apart from demosaicing where I can help, let me know.