Changes in noise reduction for darktable 2.7/3.0

:thinking: Better seems to do with the fact that one side of the comparison has more grain. If we matched the graininess, would your choice still be the better one?

I haven’t gone through thorough tests as @aadm, but have picked some late edits and swapped the old couple denoise chroma + denoise luma for the new nlm and got excellent results, after I learned in this thread how to do it right.
In the end, I find the new nlm easier to tweak, and in a more flexible way. For example, removing (or mitigating) dark blotches in very underexposed or high iso images, which, in the old way, I had enormous difficulty to deal with.
All in all, I’m very happy with it so far.

I am also quite happy with the current denoise.

One thing very interesting, when I work in 100% mode, the picture looks sometimes a bit worse or at least not that pleasing, but when I zoom out to full view (finally relevant), suddenly you can see a big improvement in microcontrasts with the new NLM method

I just sometimes would like to have a wider range of the auto-sliders. Sometimes I have them at the end and still not totally happy :slight_smile:

In my humble opinion, lowering opacity works well for low and medium ISO images, but less well in high ISO images.
In that case if you want grain, I would push central pixel weight, and reduce strength if needed.
I almost always use NLM, but I also always tweak its parameters, I find the default force value almost always too strong :wink:

Try doing the same approach (tweaking the 3 parameters instead of just reducing opacity) with the others images :wink:
Also, it’s not a big deal if some chroma noise remains at 100% zoom level, if you don’t see it when zoomed out :slight_smile:

Anyway, things I say are only advices, you can still use color blending modes if that suits your need. :wink:

Happy to hear that :slight_smile:

You do have a wider range, for almost all parameters of denoise profiled :wink:
You can enter values outside visible bounds by keyboard. The real ranges are:

  • [0;12] for patch size
  • [1;30] for search radius
  • [0;20] for scattering (though the value 1 is probably enough even for very high ISO images, and you will probably destroy local contrast by pushing the value too far)
  • [0;10] for central pixel weight (though very large value makes the result very similar to having 0 in patch size)
  • [0;1000] for strength
  • [0;1.8] for preserve shadows
  • [-1000;1000] for bias correction
  • [0;1000] for adjust autoset parameters
1 Like

Have a look at this:
Aurélien explains quite a lot of things in this video, it should makes things clearer :slight_smile:

Happy to help :slight_smile:

Presets still have some interest IMHO, as they show examples on how to use wavelets curves, and some people like the results they have with them, so it makes sense not to deprecate them too early to give some time to people to change their habits if they want to I guess :slight_smile:

@rawfiner, thanks for all your hard work on denoising. I’ve been getting excellent results with the NLM auto on my sports pictures taken at night. Sometimes I have to make a minor tweak, but most of the time it’s good.

I agree with keeping the presets. I still use the chroma preset when denoising low iso color noise or color noise introduced when I use some of @s7habo’s excellent editing techniques. I also think that a lot of work went into figuring out those curves, and it shouldn’t be lost.

Finally, I think NLM auto makes easy denoising accessible to the masses.

Thanks again for all your hard work,



Just checked this out and I must say I am impressed with the result… though its slower than old denoise.
A few spontaneous thoughts from a user: 1. I miss a slider for adjusting chroma denoise. 2. Do not remove the old presets please, they were introduced just 1 year ago I think. Old denoise is faster and useful when noise is not so strong. And some users like what they are used to. Though I admit it is somehow misleading.

I’m not using darktable, but how is the new noise reduction compared to RawTherapee ?

In terms of quality/result similar, maybe a little bit better. In terms of speed, worse. But the math behind it seems to be different, and so the usage is different, too. I don’t know. I still think RT is better in terms of sharpening/demoisaicing/noisereduction/resolution, but dt has other advantages. New denoise in dt is certainly much better than old denoise, especially with high iso shots. Overall new denoise is simlar to RT. If you want to use new denoise you should have GPU acceleration (OpenCL), otherwise it must be really slow.

1 Like

Ok, thanks. I’m using RawTherapee a lot, but if I encounter a high iso noisy image , I skip RT and do all my edit in DxO.
PRIME Noise reduction is also slow/very slow. :grinning:

You can use the central pixel weight and the force sliders to get an effect similar to what a chroma slider would do

There is no plan yet to remove them (although they have been adjusted a bit to prevent highlight clipping) :wink:

Chroma noise doesn’t exist. It’s just noise that doesn’t affect the 3 RGB channels at the same time.

Great work on the noise reduction :+1:

I find the ‘preserve shadows’ slider very useful. In darktable 2.6 I sometimes used a parametric mask to increase the denoise intensity in darker areas, the new features make that much easier.

This is a photo without denoise:

This is with the default settings in profiled denoise:

And finally with a lower value for shadows preservation:

In my experiences with the new profiled denoise the loss of detail is very low, the darker parts become a bit darker than before and you lose a bit of sharpness in the image. But you can easily compensate that.

1 Like

nice work @rawfiner!

I have found that you get excellent results when you combine your new profiled denoiser with a contrast equalizer:

ISO 640

denoiser alone (standard setting):

with contrast equalizer applied afterwards:

ISO 1600

denoiser alone:

with contrast equalizer applied afterwards:


Does new denoise support GPU acceleration?

Yes it does :wink:

18,598568 [dev_pixelpipe] took 0,027 secs (0,046 CPU) processed `denoise (profiled)’ on GPU, blended on GPU [full]