9
\$\begingroup\$

I photograph in RAW, and convert using Darktable. Camera happens to be Nikon D40, 55-200mm lens. For a small number of photos, especially of clear blue skies, I cannot reduce noise without introducing artefacts. This remains true when I change de-noising method, although I cannot claim to have tried everything. Is there a solution to this? Example to illustrate my question follows:

  1. No denoise, no halo artefacts, but annoying noise: enter image description here

  2. Very light denoise (profiled, wavelets, strength 0.097), halo artefacts: enter image description here

Any thoughts on this appreciated. :-)

\$\endgroup\$
5
  • 6
    \$\begingroup\$ I don't see the "very annoying noise" in the first picture. \$\endgroup\$ Dec 13, 2015 at 13:18
  • 1
    \$\begingroup\$ @OlinLathrop Are you saying you don't see noise, or that you don't find the noise annoying? \$\endgroup\$
    – mattdm
    Dec 13, 2015 at 14:07
  • 2
    \$\begingroup\$ @matt: I haven't pixel-peeped, but there isn't much noise in the first picture, especially considering its darkness. \$\endgroup\$ Dec 13, 2015 at 14:45
  • \$\begingroup\$ Assuming this is a RAW file? \$\endgroup\$ Dec 14, 2015 at 18:34
  • \$\begingroup\$ @Jakub First sentence. \$\endgroup\$
    – mattdm
    Dec 14, 2015 at 21:20

4 Answers 4

17
\$\begingroup\$

I actually wouldn't describe what you're seeing as a halo artifact. It seems to me to be posterization — there just aren't enough tones to smoothly represent the gradient of the sky. It just happens to be in a circular pattern because in this image the center is brighter and then diminishes evenly in all directions. In a different image, this same effect might appear as horizontal or arcing bands.

If you look closely, the banding is actually present in the first image as well, but the noise provides a sort of dithering which masks it.

You could probably reduce this by using an all 16-bit workflow (RAW to TIFF instead of JPEG) but if you end display will be normal computer monitors, that's not much help.

So, general solutions are:

  • Leave the noise; it's not that bad. (Or, apply high NR to the area around the plane, but leave the rest of the image alone — see Darktable: masks.)
  • Introduce artificial grain/dithering, which will have the same smoothing effect and may appear less annoying to you. In fact, you might want to do this even in addition to the above, because as I mentioned, if you look closely, the artifact is apparent even in your first (non-denoised) image. You can do this by enabling Darktable's dithering module.
  • Increase the recorded exposure significantly so the sky is a brighter blue. There are more tones to choose from in the brighter keys, and then you can "stretch" these across the sky with less banding. *

In this particular case, you have another option, since the sky is featureless: get rid of the vignetting, and just replace it with a flat blue color taken from that right around the airplane:

Flat color

You could then add back slight vignetting artificially, taking care to avoid any banding.


* This applies to exposure when capturing the image. The human response to light is non-linear; twice the light only appears a small amount brighter — but is a significant increase in the data recorded. This gives you more room to "stretch" those values over a broader final range. Many newer and higher-end cameras have 14-bit RAW conversion, which makes this less of an issue, but the D40 has only 12-bit conversion, so it can matter in difficult situations.

\$\endgroup\$
4
  • 1
    \$\begingroup\$ Why are there more tones to choose from in brighter keys(last bullet currently)? \$\endgroup\$
    – dpollitt
    Dec 13, 2015 at 14:10
  • \$\begingroup\$ @dpollitt I'll expand. But also I bet we have an existing question about that around here somewhere. \$\endgroup\$
    – mattdm
    Dec 13, 2015 at 14:44
  • 1
    \$\begingroup\$ I've recently discovered darktable's dithering module which solved this for me. I found its auto setting worked very well once the module was turned on. \$\endgroup\$ Apr 12, 2016 at 17:28
  • \$\begingroup\$ @DavidOliver Nice — I'll update my answer with a link to that. \$\endgroup\$
    – mattdm
    Apr 12, 2016 at 17:49
5
\$\begingroup\$

I think what you're seeing is called banding or posterization. This is where smooth, continuous tones are rendered in a stepwise manner because the bit depth (the number of bits used to represent each pixel) is limited and the jump between pixel values is large enough to be visible. Because the image is still in Darktable and hence is 16 bit (which is enough to eliminate banding), I'm guessing that you're seeing the artifacts because of 8 bit display limitations.

I said "I think" because the image where you see the banding is only lightly denoised, and the remaining noise should be enough to avoid banding. (The cure for banding is actually to add noise to the image.)

\$\endgroup\$
1
  • \$\begingroup\$ Noise or actually Dithering, which yeap, could be some form of noise... or viceversa. \$\endgroup\$
    – Rafael
    Dec 14, 2015 at 21:00
3
\$\begingroup\$

The effective trick for this is to double the resolution of the photo, add a very small amount of stochastic hue-constrained noise, bring the resolution back to original, and THEN de-noise.

There is already significant banding in the original, by the way...which I find way more annoying than any noise, which seems pretty minimal.

Edit: These two photos also present differently on different devices. On my MacBook Pro, the banding is much more obvious than the noise, and it's the other way around on my retinal display tablet.

\$\endgroup\$
2
\$\begingroup\$

I have made a circular 8 bit gradient with sampled edge colour and center colour. This illustrates that it clearly is not the 8bit quantisation problem.

enter image description here

I have also took a stare at the source, non-denoised image and I found posterisation there too!

enter image description here

This posterisation is already there in first image, denoising only reveals it.

There cannot be any posterisation in most RAW files bacause sensor noise is dithering the image and hiding quantisation effectively.

So, I see only two possible reasons for that:

  • you are editing image processed either in-camera or by 3rd party, and careless processing may easily introduce posterisation. JPEGs from many cameras are prone to posterisation
  • other processing settings of Darktable are causing posterisation

In first case, you have no way of fixing it easily while preserving the look except smoothing gradient manually.

In second case you should make all processing settings neutral and see if it changes anything and then introduce settings one by one while checking if the banding appears.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.