Remove just chroma noise in darktable

Is there a way to remove just chroma noise using one of the denoise modules?
I’m a Lightroom user and that program has a Color slider in its Noise Reduction section that eliminates just color noise easily.
I’ve tried the recommended Denoise (profiled) module in darktable with no success. I end up removing luminance noise too.
Attached is a detail comparison image between Lightroom (left, with color noise removed) and darktable (right, with color noise).

Thanks in advance

Contrast equalizer module, preset denoise chroma?

1 Like

You can use denoise profiled in wavelets mode, and drag all the Y0 curve to the bottom


@Claes gave you one possible way, here are two others:

denoise non-local means has a dedicated chroma slider and denoise profiled (wavelets) has a colour related section.

1 Like

Thanks for all your suggestions!

1 Like

Like this:
Screenshot from 2020-08-21 16-53-19

Raise or lower strength and opacity depending on the noise amount any your desires.

denoise (profiled) in non local means mode (or non local means auto) with setting central pixel weight (details) to 1.0 might be an option to suppress the chroma noise

1 Like

Here are my settings for denoise (profiled). I maintain noise in the details (maintaining sharpness) but eliminate much of the colour noise.

1 Like

Just setting the blending mode for a denoiser to color will do just the color noise right ?

That was the old way - now you can suppress the color noise independent of luma noise using the related settings in the dialog. E.g. use Y0 for luma noise and U0V0 for chroma noise in wavelet mode. No need for additional blending modes


Would someone explain how one recognizes color versus luma noise?

Luma noise concerns changes in intensity/brightness, while the colour stays the same;
Chroma noise shows changes in hue and saturation, while the intensity stays the same.

The distinction is useful, s (in general) moderate luma noise is less objectionable than a similar amount of chroma noise. A small amount of fine-grained luma noise can even give the impression of a sharper image.

1 Like


Note that the concepts of luma noise and chroma noise are not rooted to the physical phenomena.
It is actually the RGB channels that are noisy: each channel is noisy mostly independently from the others, and we (humans) perceive that as problems of colors and luminance.

As rvietor said, the distinction allows however when denoising to keep grain without having the disturbing chroma noise.

In denoise profiled, in wavelets, the Y0U0V0 mode use a norm crafted for denoising to separate “luma” and “chroma” (the transformation tries to minimize the noise variance in the Y0 channel even before any denoising).
We could use plenty of other transforms to split some sort of luminance from some sort of chrominance (you can see for instance that we can use plenty of different norms in darktable for color preservation), though most of them were not designed especially for denoising.

As a summary:

  • there are plenty of ways to transform RGB to a “luma and chroma” representation, with different definitions, which will give different results
  • most of them were not designed for denoising
  • the important thing to remember is that what we perceive as color and luminance noise is actually just the combination of the 3 RGB channels that are noisy.
1 Like

I found that I don’t need to suppress noise for the low frequencies (‘coarse’), but rather the middle ones. I used to filter high freq (‘fine’) as well, but your chart gave me an idea: I bumped up the strength parameters, moved the curve all the way down, and them moved the point for each freq band right up to the top while zoomed in to 100%, and checked which ones helped with the noise. As I said, low freqs didn’t seem to contribute noise (on my Nikon D7000); other cameras, even ISO levels, may well be different.

1 Like

I zoom to 100%, and I see noise, but I don’t perceive it as luma and chroma; it’s just noise to me. Does it depend on where in the image you look or on the zoom level?

Luma noise is darker or lighter spots that have the same colour as the surrounding area.
Chroma noise will have a different colour, e.g. yellow or blue dots on a surface that would normally be uniform in colour (e.g. skin, sky). Compare these two: in the first one, chroma noise is mostly suppressed (but luma noise is not), while the second one has no noise reduction applied at all.


Now I think I finally understand. Thanks for the replies. :smiley:


What is your take on separating the two? A sensor denoising on a per channel basis (loosely called sensor/scene-referred denoise) and a perceptual denoise tailored to the ouput display (loosely called display/vision-referred). Both seem to be conflicting enough to separate them into two different tasks.

(Kind of like exposure, local contrast etc. manipulations should happen first in linear light, but desaturation of whites and blacks should be at the end before outputting to a certain display color space close to the look-tab in filmic, as this is specific to the output display space)

In RAW developing tutorials (no matter which software) there is stated that chroma noise looks like color sand, but luma noise resembles film grain, and that user may want to remove only chroma noise. Yes, it all reffers to “visible” noise after demosaicied and color space translated image, visible.

I use Rawtherapee. In RT there is “Noise Reduction” module (in “details” group), which is divided into three groups - Luminance noise, Chrominance noise and Median filter. If the latter is used in “chroma only” mode, it works just like @bipster wants. Pleasant “grainy” noise without “colorful sand”.
In DT I still try to get the same effect.