Handling noise from post processing? [GIMP]

Much of my work involves taking low-contrast scenes and boosting levels and saturation. As a result, I often lose smooth gradation from one tone or color to the next. Blur seems like the obvious choice but not when a nearby element needs to remain sharp. De-noise filters don’t always handle the specific type of noise. Can’t seem to find a tutorial that directly applies? An example at the following link, in the long planks of the ceiling. With careful use of the magic wand and selective gaussian blur I got OK results. Needs more.
example image link

Have you tried frequency separation to try and isolate the noise? Then apply a slight blur.

Just when I thought I was getting good at this, I had to Google “frequency separation” and my current version of the GIMP. Wow how did I miss all that? I’ll dig through those tips and check back here in case someone else has something else to add!!

1 Like

There are always stones unturned! Frequency separation is awesome and so useful. Have fun :slight_smile:

1 Like

If it helps, I wrote something up a while back that might be relevant:


Pat, when I started searching for the correct term, I saw one of your articles and realized I started reading it last year, but then stopped because it used a portrait as an example. I thought to myself “I don’t do portraits.”
Oops! Live and learn.

1 Like


Denoising is not designed to deal with posterization.

Only in GIMP? Use darktable or RawTherapee.
Also, you showed the end result, but that doesn’t help us understand the source of the problem. Upload the original raw file instead.

Did you scale it down after the color/levels processing? Due to the limited it-depth of Gimp color channels, when you do “heavy” color processing in Gimp, you lose colors or, more accurately, you lose levels in the color channels(*) sometimes as much as 10-15% of these. The result is a light quantization of the image, very often showing as '“banding”. The corresponding histogram shows regular gaps at one end and spikes in the other (“haircomb” histogram). Scaling down the image afterwards makes that a bit less noticeable because the pixel interpolation smooths everything.

The cure is to use a high-bit-depth-capable application (plenty discussed on pixls.us) or the next version Gimp (currently experimental 2.9.x), that supports 8/16/32-bit and floating-point channels.

(*) All color processing is mapping the 256 existing values into other values. If you add the constraint that the output should keep the values in the same order, the only way to keep 256 output values is to do nothing. Hence all other processing produces less output values.

Morgan, I will research posterization, and here is a link to my RAW file.
Link to RAW file

For scaling down, I have been using a script that does the task in multiple steps. Hopefully that’s proper procedure.

I tinkered with a 16-bit GIMP from Partha. Then I read several articles online saying the human eye could not discern the difference between images in 8 bit and images in 16 bit??

The problem is not the discerning of, but rather the processing. That is, doing violent modifications to data in high bit depth means that there is less data lost during operations (or none in some cases). Always default to high bit depth processing wherever you can.

(also - you can upload raw files directly here to the forum if you want - just drag and drop them into your post editor).

So the articles I read were correct but not directly relevant to my goals.
This morning, I downloaded the latest 16-bit GIMP.

@okieman seriously consider using a dedicated raw processor as your starting point.

8808-KeithPurtell.jpg.out.pp3 (10.8 KB)

1 Like

At least in the specific example given you can make things a bit more smooth using a strong bilateral filter:

With that said it’s a much much better idea not to create the mess in the first place. :wink:


Shazam, Morgan and Jonas,

Thanks for the examples! I’ve got the latest RawTherapee, but I’ve just been using it to tweak basic levels and then output my tif. I think you’re saying explore the potential?

I hadn’t known about the bilateral filter but the results are really nice. Most my GMIC so far is using the anisotropic smoothing or one of the sharpening options.

For scaling down, I have been using a script that does the task in multiple steps. Hopefully that’s proper procedure.

No, that’s awful, but that explains the smoothing of the histogram. Problems when scaling down are due to spatial frequency folding. They are avoided by removing the high frequency components form the original image so that there is nothing to fold. In many cases you can skip this because the scaling algorithm acts as a low-pass filter (or the high frequency components in the image are diverse enough to not produce any visible effects). Otherwise you can do it explicitly and in a controlled way by using a Gaussian blur, or do it in a WTF way by applying several steps of scaling that each acts as a low pass filters but also degrades the image by interpolation.


Although I suspect that you put nine answers into one paragraph, I trust you. How do I make a scaling step act as a low pass filter?

I think such an image (low saturation and midtones) is ideal for LAB manipulation. Rawtherapee has an awesome LAB sub-tab in the main curves tab. It will be worthwhile for you to explore it. Here is my attempt with LAB and then (my favourite) Residual Image tab in Wavelet Level.
8808-KeithPurtell-1.jpg.out.pp3 (10.7 KB)

If you think it is a bit dark, that is very easy to rectify.

I am not saying you should use scaling steps. You should avoid them. Scaling down always acts a as a low-pass filter as a side effect but

  • the response curve of that filter depends on the interpolation technique used
  • this filter may not be sufficient

Using scaling steps seems to work because by cumulating the low-pass filtering of each step you eventually achieve a sufficient reduction of the high-frequency components. But this works by inadvertence and by cumulating side effects, overlooking the other side effect: creeping image blur due to the cumulated pixel interpolations.

Shreedhar, thank you. One thing I really like about those profile files is that I can also crack them with a text editor and review the settings.