Blown highlights in old Nikon NEF (comparing HLR methods)

Unless I missed it I don’t see one given…

kofa.txt (11.4 KB)

RawTherapee is using this:

“ranges”: {
// measured at ISO 100. ISO differences not measured, but known to exist
“white”: [ 16300, 15700, 16300 ], // typical R 16383, G 15778, B 16383

I would pick 15700 as the white point, but do keep in mind that this data was only measured for 100 ISO.

darktable via rawspeed is using:

  <Sensor black="0" white="15892"/>

Just another comment from here. The opposed algorithm is kept very simple to stay performant (it was basically just one part of segmentation) allowing it to be used as a default algo.

Whenever you observe such chroma noise, blown-border issues or alike there is a very good chance segmentation will do better. It needs some user help though. In most cases you just tune the candidates slider. When pressing the mask button beside you can see what parts of the image got a good candidate instead of the global correction in opposed.

2 Likes

Hi,
I just wanted to say that I’ve been testing the opposed algorithm on some of my images, and I am really impressed by it. It’s so neat and simple that I’m stealing the code for ART too. Kudos to you, @Iain and @garagecoder! I might also look into the segmentation-based one, but for now opposed seems good enough for most situations (still testing though…). So, thanks!!

2 Likes

If you run into “something” let us know! For me personally I like that the same code works so good for xtrans and bayers.

2 Likes

Actually I’m using the RGB variant… (because in ART – inherited from RT – highlight recovery happens after demosaic, and I didn’t want to make a big change just to test out the new method.) So far, the RGB mode seems to work fine. There are some minor differences when I compare with dt, but overall they are quite similar.

No highlight recovery algorithms just colour adjustments and masks. Primarily using RGB levels.

2017-10-15_13-50-59-DSC_0026_05.NEF.xmp (21.3 KB)

5 Likes

I notice highlight recovery module is one of the few modules that multiple instances is greyed out. I presume there is good reason for this omission that can not be overcome because of HLR’s position in the pipeline. It sounds like different localized HLR techniques being applied in a single image may have advantages at times if multiple instances was practical.

@hannoschwalm I just downloaded this image and used the segmentation based HLR method. All I needed to do was lower the clipping threshold until the magenta sky turned a beautiful blue. There is also another shot which I use to test HLR problems with and the segmentation based HLR method did a fantastic job once I lowered the clipping threshold on that image too. Great work making this method. It looks really promising and simple to use. Thanks for your hard work, it is appreciated.

Dus you check with the raw clipping indicator , that all blown parts are recognized / marked as blown ?

Might have an impact somewhere , or may require less tweaking of the threshold .

Best for this task is the mask button in the HLR module itself …

What are the colors displayed when altering candidates… what data is found or what will be recovered…in the mask view

It’s a false color representation of segments concidered to have a good candidate.

There are plenty of areas that the raw clipping indicator does not mark, but show up magenta:
image

Yet, clip highlights and reconstruct in LCh remove almost all of the magenta. I’m not sure if what remains is CA or not:
image
image

Both of them, plus guided laplacians, show the following mask:
image

With guided laplacians, some blotches of magenta remain:
image

With the raw white level of 15700, as suggested by @g-man, I get the following mask for clip highlights and reconstruct in LCh:
image

For guided laplacians, the mask is a bit different (just a few pixels):
image

The raw overexposure indicator:
image

Output from guided laplacians:
image

Turning HLR off and zooming in, there are still magenta areas:
image

But even those are fixed by guided laplacians:

The areas that still have some magenta:
image

Raw overexposure indicator:

HLR mask from guided laplacians:

1 Like

Okay thanks…

Is there a draft documentation? I’ve read some of the PRs, but they are too technical for me at this point (even though I remember some of the basics of segmentation / morphological operations from university). I also remember reading bits of advice on the forum, but can’t find them right now.

In preparation :grinning: @Iain has already done most of it including some general info how highlights reconstruction can be understood and what the problems are.

1 Like

Here is the draft documentation

4 Likes

Interesting… sometimes when I look at these sorts of images and I like the colors overall and its just seems dark I try edits without filmic and now without sigmoid… using only the tone eq and few other modules…it may not really be a good edit in the end but what was interesting is at least with this combination of modules a nice demonstration of inpaint vs segmentation results showed up. Here in the first image is my edit and inpaint at the default threshold and that has left a gradient at the blown area in the upper right of the sky. It runs along the dust spot or artifact… Simply switching to segmentation and dropping the threshold one click to 0.99 or leaving it at 1 and increasing the candidates fills and blends that area…

In many images it can appear that the result is the same but clearly the segmentation method will be quite useful…

Inpaint

Segementation

2017-10-15_13-50-59-DSC_0026.NEF.xmp (10.0 KB)

2 Likes

Exactly. That’s what the segmentation and finding candidates is for :+1:

1 Like