GHS - more intuitive and simpler for the user

GHS (Generalized Hyperbolic Stretch) is an image processing algorithm, especially for difficult images that require a “tone mapper”.

It has the particularity of going off the beaten track by not using the usual concepts (and therefore vocabulary) - introduced by Adobe - ACES - Agx, etc. This complicates its understanding and use.

To make it more intuitive and easier to use, I added (easily) 2 features

  1. Automatically calculate black points and white points (not in Inverse GHS mode). This allows to compensate for example (as poor Dehaze does) the black point in foggy images and take into account the reconstruction of highlights
    As a reminder, unlike other Tone-mappers, these 2 points are in linear mode. The aim of the operation is to bring the data back into the interval [0 1]. Of course it is possible to retouch in manual mode, for example negative values ​​(depending on the images) to open up overly pronounced shadows and help GHS

  2. Provide an evaluation, estimation…, of the Symmetry Point (SP). This value, which has nothing to do with “middle gray,” is essential to understanding GHS and the results. By default, I chose 0.015. The evaluation seems good to me in RGB Luminance mode, acceptable in RGB mode and it is not provided for the other modes, because it has no value. It doesn’t make much sense to try to automate this, as it’s just an evaluation of the symmetry point from the data in linear mode. This point corresponds to the maximum of the histogram in linear mode and with the working profile. It is up to the user to choose and adapt this value by adjusting the slider (SP)

I open a pull request
Pull request 7442

Executables (Appimage, Windows)
ghsauto

I attach the link to Rawpedia which I cannot update
Rawpedia - GHS

Jacques

5 Likes

You can update the page in the git repo for rawpedia now.

This certainly makes it easier to get a good result. There is a small issue with the Auto checkbox on Ubuntu 24.04. When you click on the box to enable Auto mode, it sets the parameters OK but the check mark doesn’t appear in the box. If you click on the box a second time, the check mark appears.

1 Like

@Wayne_Sutton

I have just pushed a change (executables in progress, good I think in 30 minutes) which should overcome this failure

jacques

ghsauto

1 Like

This seems to work properly now. I also have a question regarding the position of the black and white point adjustments in the UI. The RawPedia description recommends carrying out these adjustments before invoking the GHS algorithm to avoid clipping data. Would it not be preferable in this case to put them at the top of the module to avoid having to scroll down and then back up again?

@Wayne_Sutton

Indeed, this seems preferable and more consistent with the other places where the WP and BP are set.
I just moved the White and Black Point settings, as well as the inverse GHS settings, because in this case (rare use), the BP and WP settings are completely different.

Running executables

Jacques

1 Like