Remove just chroma noise in darktable

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

3 Likes

Would someone explain how one recognizes color versus luma noise?

1 Like

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

Thanks.

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.

3 Likes

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

2 Likes

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.

1 Like

Simply read the former posts, 2 ways to remove just „color sand“ are described for denoise (profiled) module (one with non local means, and one using wavelet denoise)
You can save the settings as presets.

I think the color smoothing options in the demosaicing module also reduce color noise.

Have you tried the old lowpass module, something like:
image
I’ve to admit I usually like the result.

2 Likes

A display refered denoising would come too late in the pipe (the data would not be linear anymore, which would be problematic as we do a lot of averages when denoising, so better have linear data).

A sensor denoising using all channels together is fine (like non local means for instance: the 3 channels are used to compute the distance between 2 patchs, and are denoised together).
Denoising each channel independently from the others can give ugly color noise sometimes, if the denoising methods works only channel per channel, then it is nice to do a transform to Y0U0V0 that tries to concentrate all the redundant information of the RGB in the Y0 channel and all the noise in the U0 and V0 channels:
Y0 = (R+G+B)/3 (assuming identical noise variance on the RGB channels this reduces the noise variance by 3 – in darktable we adapt these coefficients to white balance multipliers)
U0 = 0.5 * R - 0.5 * B (try to cancel the signal to keep only the noise)
V0 = 0.25 * R - 0.5 * G + 0.25 * B (try to cancel the signal to keep only the noise)
This then makes it possible to denoise much more aggressively U0 and V0

3 Likes

Thanks. Tried this, also tried below @phweyland’s advice. First works better with my Panasonic, latter with friend’s Cannon :thinking:

Saving presets for particular module and adding such module with settings to image with two clicks, done better than I could expect.

Using lowpass for noise reduction is a neat trick! First time I saw it. Thank you for the tip!

2 Likes

One looks like too much grain or artifacts under physical zoom…chroma is often green /blue artifact that can be clumped or finer in nature…often you will see luma noise in a sky and chroma in shadows…this is way over simplified but you asked about how to recognize it now what it is…so hopefully this helps…@rawfiner has excellent videos…watch them on youtube and you will be the noise master…

2 Likes

maybe a preset would be handy?

Good idea :slight_smile:

1 Like