Better highlights with enfuse

  1. I’m not a pro :).

  2. I like this result. But the sky for instance looses some colour it seems because it brightens. It’s not clipped though.

The playraw from this thread: Improve window look - Processing / Play Raw - discuss.pixls.us
I took the ‘1612’ DNG file, loaded it into Rawtherapee, reset to neutral, then loaded the default ‘film-look curve ISO medium’ preset, how whatever it’s called.

I did the same for the 1614 DNG file, but I lowered exposure quite a bit (around -2.6 EV?) to bring the bright parts more in line with where I want them.

Those two exports (as 16bit TIFF files, but regular sRGB, just as Rawtherapee normally does).

enfuse -l -2 --blend-colorpspace=CIECAM02 --exposure-optimum=0.6 --exposure-weight=1 --saturation-weight=0 -o output.jpg IMG_1612.TIF IMG_1614.tif

This results in:

The -l -2 means ‘two levels less than normal’. Less levels means ‘use more of local features, less of global features’. Too much can - quickly - become messy. But a few levels less can work if you think enfuse preserves too much of the global look of the images. Then again, enfuse is meant to make a natural looking image so global features are normally wanted.

CIECAM02 is (much) slower but often works better for me. I do try CIELAB / CIELUV and ‘identity’ just to see what the difference is. Here it helps in preserving some colour in the sky outside.

--exposure-optimum=0.6 is to tell we light a bit brighter result than enfuse does by default. If you would use more input images, it would also tell enfuse which pixels to use more from which image (I.E., pixels with a brightness closer to 0.6 get used more, further away from 0.6 get used less. 0 is dark, 1.0 is full bright. You’ll probably stop seeing colour the closer you get to 1.0).

--exposure-weight=1 is the default.

--saturation-weight=0 is to turn off saturation weighing. The default is 0.2. To make it ‘easier to understand’ I turn it off. Then in the end start raising it a bit to see if it helps the result. In this case it didn’t, so it stays off.

A parameter to play with normally is --exposure-cutoff. You can use it to say ‘do not use pixels darker than xxx, or brighter than xxx’. It can help in telling enfuse to simply not use brightly exposed pixels at all.
But in this case, that means the ceiling inside is also just away from clipping, and will not be used if you give it an exposure cutoff like 0:-10. (Use every pixel with value 0 and up, but do not use pixels that are within ‘10’ of the limit. You can also use percentages here).
So, if we tell it that, it will not use clipped pixels, but the ceiling is clipped in the 1612 image. But nicely clipped, we want that :). By using exposure cutoff, those clipped pixels are not used anymore, and so it switches to the very dark pixels of the 1614 image, and you get weird blending on the ceiling. Maybe using more in between images here would actually help.

Fun thing of enfuse in this case, is the more advanced way to use it, with saving/loading the masks it creates. You can call it with --save-masks and it will dump some tif files with the masks it generated. You can edit them, and then call enfuse again with --load-masks to use the edited masks. I use it sometimes to generate the masks for me which I will then load in a photo tool to use for altering the image, or doing the blending manually there.

What makes this demo shot tricky are the fine-mazy curtains in front of the window. They are black but you don’t want them too dark because it’ll look weird with the bright window behind it.

2 Likes