@alexpok: nice samples, will take a look. Can you include the result of the original ZeroNoise with these files?
(I'm just curious to see how it works, since I couldn't run it)
In case of these examples it crashes on the last stage. I spent lot of time, push it to work - missing DLL in system, i have to set previous date on computer, compatibility mode with WinXP etc. But sometime (depends on files) it crashes on last stage - not enougth memory. Too much for me ( I have 64Gb (Win64)) - i decided to stop trying.
But i have cheked your patched Ufraw version ( i am not sure, that i know how to set all necessary options, but i dit what i can). The same problem - i put small jpeg files - how it looks to the same folder, and add the third file - you can see another (i think so) type of artifacts.
More interesting, i think - i try some (new for me) Photoshop workflow, emulating your program. I put processed cr2 files on separate layers, and try to use very nice option - layer blending with comdition. I simply take (not very precise) highlights from one image, and rest from brighter one. It works, but this procedure is time consuming and nonlinear by itself. Whats interesting - i have the same artifacts in the same place (on a cups), but have some walkaround - in Photoshop you can "split" the border of this algoritm, after this some of the pixels you take from first, some - from second, and certain critical amount on the border - mixed. This works. The result is not so bright and nice that in your program, but it works. Thats why i am sure, that particular this problem could be solved with moderate time.
[Addition of the next day].
I put the results (jpegs, but full res around 4 megs each) of both CeroNoice and my Photoshop method in the same subdir CeroNoice.Bad
The result of CeroNoice was processed 2 ways - by Adobe Camera Raw 8.3, and modified UFRAw. I should say, that result of UFraw looks much better - it doesnt have greenish color cast, and all artifacts much less prominent.
Now my image a little bit brighter - i modified method a little.
[endOfAddition]
PS.
The numbers (on the border) in this huge tif are pretty close, but i found this problem (much less prominent tho) even in "Good" situation. May be performing all calculations in double (8 byte) could help. For example, with FFT i can perform multiplications of numbers with millions decimal digits(nvidia CUDA) with double and only 10000 or so with float. Even one wrong constant and conversion(8-4-8) can ruin all algorithm.
PPS. Thanks for your great work - its realy amaizing. I even did not believed my eyes trying RAW video and Dual ISO.