Enhancing local vs. global contrast - RT wavelets



Hi there,

part two of “enhancing local vs. global contrast” this time using RT and it’s unbelievably powerful wavelet tool.
We start with an image where all the basic settings have been done (exposure, sharpening, blablabla…)

We then activate the wavelets. In this example I set the wavelet levels to 9. Go to Residual Image pull down the contrast to you liking. I set it to:

And the picture turns to this:

Then go to the Final Touchup. Here activate the final local contrast curve and play around with it. I usually get good results pulling it up just in the middle, but this time I also enhanced the highlights? (is it a luminosity dependent curve??) a little, like this:

Be aware that the strength of this local contrast setting depends on what you did before in the Residual Image menu. The final local contrst manipulation leads to this:

Highlight and midtone control like Luminar's capabilities
Proposal for Raw Therapee Tutorial Site
Clarity vibrance in RT
(PkmX) #2

I like to pull the middle part up in the final local contrast curve as well (It’s baked into my default preset). It adds a certain pop to the image but you do have to be careful about pulling the right part which can introduce halo.

The “toning and color balance” slides in the “residue image” box is also a very nice way to get some subtle split toning. My favorite right now is -6 on the yellow/blue slider in highlights and -2 in the shadows.

(Desmis) #3

I am very glad that you like this tool :slight_smile:

Try the branch “waveletnew” which introduces new features


(Guillaume Castagnino) #4

That’s indeed very nice. Wavelet is a very powerful toy but hard to handle. Your proposal is very efficient to reduce the global contrast while preserving the local contrast. I keep it in mind, I helps a lot on some hard shots I have !



RawTherapee_waveletnew_5.2-148-gb82212c3_WinVista_64.zip is available at https://drive.google.com/open?id=0B2q9OrgyDEfPS2FpdDAtMVI1RG8


@PkmX: I didn’t have problems with halos so far. I actually presented this method because it seemed to me, that it didn’t tend so much to producing halos.
I tried your toning tip, and it is very subtle but cool. I t also made me discover the hue over hue curve above the toning and color balance, very powerful!

@jdc, thanks for the tip I’ll look into it, adn thanks @gaaned92 for the link, I was just about to ask. :grin:


Note that this is Part 2. Where do I find part 1?
And thanks for the instructions.


@mikesan, I believe that it is here: Enhancing local contrast vs. global contrast.


Yes @afre is right. I did another one about local vs global contrast but that was in Gimp.

(Stefan Chirila) #10

@McCap THANK YOU! for the tutorial :slight_smile: it’s super useful - a great little tool which is way too often overlooked.


@McCap Why would you take an image where sharpening had already been applied and then apply one of the strongest possible processing methods to it which inevitably will produce extremely unpleasant artifacts to every already sharpened edge? Is it just me or is the shown result riddled with strange artifacts looking like coarsely ground pepper hiding every hint of detail in the foreground? Not that the initial image was any good in the affected areas (they would need careful noise reduction but IMHO these areas are not beyond salvage) but it was way better than the result after processing…

If any contrast processing is to be done it has to be performed before any sort of sharpening is applied, only then you can avoid any undue exaggeration of noise or sharpening processing artifacts.


Well, the point was just to show how you can flatten global contrast and then add some local contrast using the method I explained. I showed that in three steps, nothing else. On what you aplly this to is totally up to you or whomever might find this useful.
If your critique is, that my starting picture was already to noisy and/or too sharpened for then applying more (local) cotrast…then yes you may be correct. But that wasn’t the topic…


It is exactly the problem: If you tried the kind of contrast processing on an image which doesn’t have as much noise your processing would fail because the wavelet discrimination of the areas would fail and thus the processing you want would falsely be applied to areas which it shouldn’t touch.

(Morgan Hardwood) #14

@charlyw64 you may be right, but I believe the residual layer and the way the final local contrast curve are used would not be affected by noise, since noise would not appear in the residual layer but in the first (finest) layer.

This is a bit too vague, could you demonstrate?


I would also think this. And would also repeat @Morgan_Hardwood’s question.

@charlyw64: I also have to add, that I don’t recall the original image being that noisy/grainy. It stems from 7 exposure blended using hugin, and if memory serves me correctly each single pictures was taken at ISO100 or in the worst case at ISO400. So there shouldn’t be much noise.
I did however use the resize function in RT and the post resize sharpening just to make the pictures smaller for upload, and did not control what the result looked like. I will look at the original picture later to see where the noise comes from, as I’m curious.

But still, I think the tool works perfectly also with non noisy pictures.


Exactly that’s the problem with wavelets, they don’t what you think they should. In this case you have high frequency (noise) and low frequency (roof tiles, stair structures, ground structures and the like) overlaying each other. Together with the sharpening, which introduces aliasing, you get high frequencies masking as low frequencies and thus the finest layer separates out the noise itself for the most part but the residual layer does pick up those areas where between sharpening and noise aliasing was happening (and there is a lot of that in the shown image). You should take the unprocessed image next to the last one on a lighttable and compare. The noise still got “enhanced”… And as soon as the noise is missing much more of the scene gets put into the residual layer and the contrast manipulation does pick up much larger areas of the photo.

The problem here is the property of light that there is a fixed SNR relationship when it comes to natural noise (photon shot noise) and thus your beloved wavelets will always put the brighter, low detail areas of the photo into the remainder while excluding low contrast areas (low SNR, thus more noise) as well as high detail areas of the photo (hair, fabrics, in focus grass, etc). So you end up with a wild mix of areas which basically need different processing…

When I tried wavelets first there was an option to show the affected areas of an image in sort of a mask - if that option is still available I suggest you take a few samples and look at how the selection changes, then you can see for yourself how unpredictable the wavelets are as a means to localize manipulations.

(Morgan Hardwood) #17

How’s that?


Watch the picture under Sampling sinusoidal functions for a quick explanation.

I understand what @charlyw64 means, but I doubt that the noise’s amplitude is large enough to comletely mask as large low frequencies. It might give the wavelet algorythm some trouble in the middle levels, but not on all.

Also here’s the original picture, not resized, with all the processing. This picture had much less noise to start with and the effect of the above mentioned technique is more or less the same. It will not be obvious for you, as this is my complete processing where I also did some other things. But I know that the effect I describe above worked as expected on this less noisy picture.

As to the noise in the pictures in my first post, I have no idea where that comes from. Maybe resizing, or I messed up something else, while quickly preparing the images for the tutorial? I’ll have to look into this…

(Morgan Hardwood) #19

Agreed that a structure “afflicted” by a specific form of aliasing called moire would present itself on a wavelet level different from that which it would have been on had it not been afflicted by moire, but I find it very unlikely that this would influence the residual layer in any significant way as we’re talking about sharpening artifacts and noise which would manifest on some wavelet levels (RT by default uses 7, McCap used 9) and not flow over onto the residual in a way which would make the technique void.

I may be wrong about this but I haven’t found that to be the case yet. There’s a reason I asked for a demonstration.

Source image, no sharpening, wavelets off:

Ridiculous sharpening to cause aliasing and noise:

Wavelet levels enabled using @McCap’s values, showing only the residual image:

Ridiculous sharpening disabled, no difference to image worth caring about:

All the sharpening artifacts are limited to the first 4 levels, this shows level 5 with ridiculous sharpening enabled:

Level 5 with ridiculous sharpening disabled, barely any difference already at this level:

@McCap your final result looks great!

(Stefan Chirila) #20

It’s sad to sometimes see conversations getting heated in here sometimes; but for what it’s worth, the educational value of this thread is amazing! Thank you so much all for the insight @Morgan_Hardwood @McCap @charlyw64. I haven’t used wavelets much in the past, nor taken the time to fully understand them in all their complex glory, but I tried the sharpening technique and it’s quite something.