Rawtherapee Vibrance Skin-tones H values?

Hi,
I am trying to use RT Vibrance Skin-tones setting, it looks great, but I can’t find any information about HH range (HSV).

Is H from 0 to 20? from 10 to 30? from 0 to 40 or something else?

image

(It also seems that no way to add the adjustment point from the image, by pressing Ctrl key (like in tone curves for example) image )

So, unfortunately it is impossible to add the point from image and check values with Navigator HSV or adjust it for particular person from image.

I’ve tried to find some information in RawPedia, but this is the article about the Skin-tones:

Does anybody know that H values (range)?

Thank you in advance!
Dmitry

@Shutovds

Simplified algorithm (2011).

In Lab mode, at startup I do a full gamut check and calculate the resulting RGB saturation.

In a first step according to saturation, hue and luminance, I apply a correction to the saturation according to pastel / satur

If the H(H) curve is activated then in the range -0.05 radians to 1.6 radians (red) with a transition zone of 0.15 radians, a progressive Hue change is applied.

if “skin protect” is activated another algo is set up beforehand which takes into account the luminance of each pixel, the chroma, the hue and will apply a reduction to the saturation…ignoring completely if the Mister or Madam is blue/white/red/spotted…I don’t say that it is exhaustive, but it should cover 99% of the cases…

Then I applied a Munsell correction.

Jacques

1 Like

@jdc
Hello Jacques,

Thank you for your response and for your contribution to RawTerapee! (I saw your copyright in color.cc file)

As I understand from your answer H activated in the range of -0.05 to 1.6 radians, it means:
360 - 0.05 * 360/(2 * Pi) = 357.13 and 1.6 * 360/(2 * Pi) = 91,71 degree.
So H vary from 357.13 to 91.71 degree is it correct?

Excuse me, but I have several additional questions:

  • You mentioned 0.15 radians transition zones are they outside of this range?

  • You also mentioned that you use Simplified algorithm (2011). Initially I merely wanted to correct the skintones for several photo, but it looks interesting. If it possible, could you please advise me where I can find any information about that algorithm? (simply to understand how it works).

  • I also saw comment (see below) inside of the code, C++ isn’t my strong side :grinning: was it really mixed?

// skin color: mixed from NX2 skin color palette, Von Luschan, and photos of people …

RawTherapee is a pretty new software for me and it looks great! Thank you!

Best Regards,
Dmitry

@Shutovds
Hello Dmitry

First excuse my bad english.

For the conversion radians degrees, it is that, but in RT all calculations (at least in Lab / LCH mode) are done in radians
The transition of 0.15 radians also applies to the limits.

it is not the habit of RT documentation to describe the algorithms, for my part I think that some algorithms should be detailed, even if it concerns only a small part of the users.
In this case (vibrance) there is nothing else than the Rawpedia page.

The algorithm I presented simplified yesterday can be found in several parts of the code

  • ipvibrance.cc (main), which shows the articulation of the various functions
  • gamutLchonly , put datas in gamut, allows to calculate “saturation” (line 2397 in color.cc)
  • SkinSat, it’s a personal variation around many observations of what is the color of the skin. In fact the essential factor of change is the luminance. The objective here is not to know who is what or to ask ethical questions, but to allocate for each case L,C,H a possible range of variation
  • Then at the end, we do a gamut check and a Munsell correction :
  • AllMunsellLch, various algorihms in color.cc and munselllch.cc. This algoritm compare Lab values before and after, and applies a correction to the Lab (LCH) values so that they match the Munsell tables. It uses Luminance, Chroma and Munsell notation for hue (ex _15PB10)
    this algorithm can bring important corrections for blue/purple, red/orange.

Please note. If you use vibrance in Local Aadjustments (same algorithm), then the deltaE algorithm will complement (and make partially obsolete) skinsat

jacques

@jdc
Hello Jacques,

Ah, excuse me my english too. It is my second language and I understand that it isn’t perfect. However, I believe if you and I understand each other and can communicate and discuss things that are interesting for us it should be enough.

It is good to have open code and have a possibility to look how it works, but when it is big and complicated it might be difficult to understand it. Your answers helped me to catch the main idea and where to find the implementation of this idea in code. Thank you for detailed answer!

I think you provided me very important information about Vibrance “Skin-Tones - Hue According to Hue” instrument: the Hue range much broader than I initially expected (now I understand why). It is vary from Hue 357.13 to 91.7 degree, and this information strongly affect the way, how I use this instrument.

I’ll explain.
Originally I expected the range should be between 0 and 40 degree, or something like this, so I wanted to do skin-tones a little bit smoother and choose the next curve:

image

(because I thought that the middle of curve should be in the middle, I didn’t want affect the main color, just wanted to hide some skin color defects a little bit)

But now I understand that I was wrong. Let’s say I consider the middle tone as 16-20 degree (for the skin that I have on the particular photo). If I want to do colors smoother I need to use something like this:

image

(you can see that the intersection point with 45 degree line moved to the left to approximately 16-20 degree)

Now I know about the range, but I think it might affect the way the other photographers use this tool. Do you know what should we do to add this information (about affected color range) to RawPedia?

Best Regards,
Dmitry

@Shutovds

Hello Dmitry

We change Rawpedia, with “The adjustment range mainly covers the red and orange hues and is expressed in radians. It starts at -0.05 radians (357.13 degrees) and ends at 1.6 radians (91.7 degrees).”
http://rawpedia.rawtherapee.com/Vibrance#Skin_Tones_-_Hue_According_to_Hue

jacques

@jdc
Hello Jacques,

Sounds good. Thank you for your help!

Have a great day!

Best Regards,
Dmitry