New "relight" filter, a digital "fill-in flash"

I have just introduced a simplified version of the shadows/highlights tool, designed to brighten back-lit images. The idea is to create a sort of “digital fill-in flash”, that brightens the dark areas without significantly affecting the highlights.

Here is an example of what can be obtained with just three controls, one that adjusts the strength of the shadows compression, one that defines the shadows range, and the third to introduce some contrast in the mid-tones:

If you are interested and want to read more, I have written a detailed blog post on the subject.


It’s like you’re peeking over my shoulder. The new camera has a highlight-weighted matrix metering mode, and I recently shot pictures at one of the subjects the camera maker recommends for the mode: a theater-lit musical event. I did a number of dual exposures, one with each of the matrix modes, and the highlight-weighted shots won the day.

What I had to do with each one, however, was to apply a curve to pull up the shadows. Not onerous, actually consistent enough to script for batch proofing. I’m curious to see how relight results will compare, may convince me to start using photoflow for my manual processing.


1 Like

What about posting a sample RAW file to play with :wink: ?


The point is that a simple curve does a decent job, but kills local contrast. To see this, let me show you the output of the shadows/highlights tool when using a very small blur radius (which is equivalent to applying the tone compression curve to the non-blurred image):

This is with the guided filter radius at 128:

Nothing enormously different, yet IMHO the second one is better…


My upload to kept aborting, was able to scp it to my web server:
License: CC-BY NC (

Here is your original image, with only a basic raw processing:

Here is the result of a single “relight” layer:


while this is sightly more complex edit, with a partial exposure correction + highlights compression prior to the relight filter:

DSZ_1127.pfi (35.9 KB)


Interesting results. In rawproc, to even get close to the relight shadow distribution I needed a rather aggressive curve; here’s a screenshot that tries to capture the difference:

In the processing chain up to the curve, I kept the original proof raw conversion except to remove the blackwhitepoint scaling, and I added a camera space -> working profile transform. Thing is, the upper values are maybe too saturated in the relight rendition, at least to my eyes.

Your thread has come at an opportune time for me, as I’m working through this very consideration in figuring out how to use the new camera. It goes into a “one tone curve to rule them all” sort of mental discourse (ha, there’s a fancy way to refer to ‘talking to ones self’… :smiley: ) and the never-ending quest for reliable ETTR.

With regard to such tools in rawproc, I’m actually going the other way; 0.9 is going to remove my simplistic shadow, highlight, and contrast tools, as I now prefer to do such manually with a spline curve. But such considerations are taking me to a “dark place” regarding my curve tool, that is, what do I need to do to get it out of the old 0-255 paradigm and allow one to construct proper curves over the high bit-depth display range.

I need to update my Photoflow AppImage; is relight in your nightlies?

Interesting exercise! FWIW, here’s how I’d do it (though I don’t have a one-slider solution):

1 Like

Nice!! What did you do?

Very nice! I’d be very much interested in the PP3…

well I cheated :wink:
I used not just global controls (mostly dynamic range compression, shadows push and exposure compensation), but I also darkened the stage with a local mask. I don’t have a (useable) pp3, but I’ll try to show the main steps later. I think you should be able to do everything in photoflow as well


That explains my perplexity! :wink:

Haven’t read the blog post yet. I applied lens correction in PhotoFlow but it is different from @agriggio’s.

@agriggio I followed your idea, and partially restored the stage with a local mask:

@afre the relight tool is based on a close-to-linear curve in log-lumi space, which translates into a sort-of power function in linear space. That’s why it is quite aggressive in the deep shadows. Also, the curve is applied to a blurred luminance channel, which helps preserving local contrast…

I will finish writing up the blog post about the new shadows/highlights tool as soon as possible. That’s the place where I will explain all the technical details…

Can you post a new Windows release with the Relight filter?

Continuous builds are available on github here:

The latest macOS build has the relight filter, I assume the windows version does too.

1 Like


I was going to post a similar reply, but @paulmiller has been more reactive :+1::clap:

If the tool is missing from the latest windows build (currently this one), then it’s a bug…

1 Like

Thanks. First attempt with the new filter was successful.
I had to set the contrast to 30 to make it look fine, but that’s ok.
I haven’t been around for a while, are there NR and Sharpening filters in PF? or any micro-contrast filter?

That is somehow expected… how do you find the filter output?

NR is still not very reliebale. On the other hand, there are various sharpening options, all available from the “sharpening” tool (accessible from the “details” tool group):


Unsharp mask is the most classical one, RL deconvolution uses the code from RawTherapee, and “texture” uses a texture sharpening filter from G’MIC.

For micro-contrast you can use the “local contrast” filter. It works more or less like the unsharp mask, but the underlying blur filter is edge preserving. Hence, if you keep the radius and threshold small, only fine textures are sharpened while strong edges don’t get over-sharpened. I personally use it more and more at the place of standard sharpening. One has to fiddle a bit with the radius and threshold values to find the optimum for each image…


Thanks for the explanation about the sharpening and local contrast filters. After looking closer at my image, I think it doesn’t need much detail enhancements, but rather mostly noise reduction.

This is an image that I already processed in the past with Lightroom, so I’ll append the LR version at the end. This is how it opens in PF out of the box:

With +1 exposure in the RAW development filter, and with the Relight filter and minor add of saturation, it looks like this:

I think I could do better, but I’m still not experienced enough with PF. For example, I could set a lower exposure value in the RAW Development filter, and apply the Relight at a higher strength. I think I clipped the clouds too much with the +1 exposure.

I also think I should have added more ‘pop’ to the image but I’m not sure how - I find the contrast control in the ‘basic adjustments’ filter is too aggressive.

I also wanted to apply some adjustment to the WB on the people holding the baby - since they are in the shade and the global WB is not ideal for their skin tone, so I added a WB layer but found it difficult to mask out the rest of the image and to find the right values - small changes to the temp/tint result in too big visual changes so it’s hard to find the value you look for. This is something I originally did in LR (see below).

This is the LR version that I developed a few months ago, which is pretty similar:

LR global settings:

LR local adjustments on the people in the front: