Bug #8455

match greens feature produces white noise

Added by Igor Kuzmin over 9 years ago. Updated over 6 years ago.

Start date:
Due date:
% Done:


Estimated time:
Affected Version:
git development version
hardware architecture:


Green equalization results in many white dots appearing on the image. They are very well visible on high iso pictures, but also can be seen in dark areas of low iso photos. Tested on 7D and 400D. Here's an example:
Raw file:
Green eq off:
Green eq on:


#1 Updated by Jose Carlos Garcia Sogo about 9 years ago


#2 Updated by Igor Kuzmin about 8 years ago

still happens in master if "local average" or "full and local average" match greens setting is enabled (worse for the latter). "full average" on the other hand doesn't result in white dots.

#3 Updated by Simon Spannagel about 8 years ago

  • Target version changed from 1.0.3 to Candidate for next patch release

#4 Updated by Tobias Ellinghaus over 7 years ago

  • Affected Version set to git development version
  • % Done changed from 0 to 20
  • Priority changed from High to Medium
  • Status changed from New to Incomplete

Does this still happen with git master?

#5 Updated by Igor Kuzmin over 7 years ago

  • Category set to Darkroom

Yes, it does, in exactly the same way, nothing has changed since. I can reupload examples I posted before, but it should be easily reproduced with a lot of images.

#6 Updated by Pascal de Bruijn over 7 years ago

Here are some more samples to reproduce this issue.

This still happens with git master on high ISO images.

Not only we do we get hot pixels, but GreenEq also doesn't actually work on high ISO images.

#7 Updated by Pascal de Bruijn over 7 years ago

While I don't fully grasp the lavg green eq code, with the following commit it seems the white dots problem is gone now:

But it seems the above change also slightly reduces sharpness.

That said, it still doesn't work on higher ISO images, which seems mostly related to the static threshold of 0.01.

#8 Updated by Pascal de Bruijn over 7 years ago

Now we're scaling the local green-eq treshhold along with image ISO:

We do this because a high threshold on a low iso image produces aliasing artifacts.
And a low threshold on a high iso iamge means green-eq stops working at all.

#9 Updated by Igor Kuzmin over 7 years ago

White dots are gone, yes, but now local average results in lost of details and some nasty aliasing artifacts. So I still consider green eq being quite broken.
Is full average alone enough to fix green eq problem? I mean why do we have 3 options? Because no-one knows which one is the correct way?

#10 Updated by Pascal de Bruijn over 7 years ago

So the previous fix was far from perfect :)

green_eq_lavg: bring back and fix old algorithm

green_eq_lavg: minor cleanup

These two bring back the old algorithm but guard against corner-cases which produced hot pixels.

The problem was that (in dark area's) m2 could be very small, and when m1 was divided by m2, that resulted in a very high multiplication factor, which resulted into output values well beyond 10.0f in some cases.

#11 Updated by Tobias Ellinghaus over 6 years ago

  • System set to all

Is the issue fixed now? Any update?

#12 Updated by Igor Kuzmin over 6 years ago

  • % Done changed from 20 to 100
  • Status changed from Incomplete to Fixed

current green eq implementation does enhance noise a little, but I would consider that original issue is fixed.

Also available in: Atom PDF

Go to top