Beep6581 / RawTherapee

A powerful cross-platform raw photo processing program
https://rawtherapee.com
GNU General Public License v3.0
2.77k stars 314 forks source link

Add more scopes #4763

Closed eprovst closed 3 years ago

eprovst commented 6 years ago

Scopes help us to quickly see what is wrong with an image and also give us the ability to do certain corrections 'by the numbers' that are hard to judge on a screen.

Potential scopes include:

Vectorscope
Currently RawTherapee only has histograms which is great to see the overall lightness, redness, etc. of the image. However, it's often useful to have an idea of the color balance in terms of hue and saturation -- eg. to check skintones; this is exactly what a vectorscope is. For the skintones use case a skintone line is also a must have on a vectorscope.

A possible alternative to a vectorscope is a chrominance chart which fits easier within the current interface.

More to be added.

Thanatomanic commented 6 years ago

I agree that a vectorscope and color wheels could be nice additions. I have done some color grading for film on a hobby project, and both the vectorscope and color wheels can be very convenient to use. Personally, I would not call this a high priority thing though, because I believe the proposed color wheel operations can already be achieved using other tools available in RT. Maybe not as convenient ...

We might get some inspiration from the way darktable has implemented their vector scope (my bad, darktable only has a waveform tool).

eprovst commented 6 years ago

I agree that it isn't a high priority however it's a really nice to have :smile: But it's true anything you can do with color wheels can also be done with levels although color wheels make it a lot easier to get the color you want.

I can't recall Darktable having a vectorscope, however when it comes to design I think something similar to the one in Nuke (with less lines), Final Cut or Speedgrade would work. As long as it has the skintone line and a reasonable mapping of color and saturation it will be ideal for the purpose of photography. I don't think there is a need to see the NTSC color targets for example.

Addition: 0 saturation should also be marked on the vectorscope of course.

heckflosse commented 6 years ago

@ElecProg Some screenshots or a video would help more than 1000 words for this issue!

Thanatomanic commented 6 years ago

image This is how the scope waveform looks like in darktable.

image This is what DaVinci Resolve can give you in terms of color gauges.

eprovst commented 6 years ago

Third Davinci scope in @Thanatomanic s comment. You wont need all the lines and boxes on that scope for photography. So you could simplify the design quite a bit.

However a chrominance chart like used in CameraBag might fit better within the current UI, it's basically a vectorscope cut open and put into a rectangle.

eprovst commented 6 years ago

Chrominance chart:
As noted in my earlier comment a chrominance chart might be a better fit withing RT, as it has the same dimensions as a histogram. On the horizontal axis we have the hue and on the vertical axis saturation (bottom being 0% and top 100%). On my sketch it seems as if this would have to create a blob however in practice all pixels in the picture would be plotted which would create a similar look as a vectorscope.

The long vertical line represents the skintone line and the shorter would show the position of the pixel under the cursor.

chrom

Horizontal dotted lines showing certain saturation levels might also be useful.

The main difficulty in a chrominance chart is the plotting of pixels with low or no saturation as they have a rather ambiguous hue.

Beep6581 commented 6 years ago

Here's a nice rundown of various color representation widgets: https://blog.frame.io/2017/09/27/introduction-to-video-scopes/

eprovst commented 6 years ago

As the article states, having the option to limit the scope to a selection on the image might also be useful.

Beep6581 commented 6 years ago

I like the ability to see beyond the output limits.

sguyader commented 6 years ago

I discovered the RGB parade in a video NLE (Kdenlive) and I think it's really useful. But it takes more screen estate.

eprovst commented 6 years ago

Note: Updated issue to better reflect the current discussion. Moved color wheels to a separate issue (#4804)

X-Raym commented 5 years ago

Vectorscope would be nice. An handy way to check for saturation. It is easy to put a bit more saturation than needed. Such scope could prevent that. Thx!

Beep6581 commented 5 years ago

https://discuss.pixls.us/t/waveform-histogram/14138/16

Lawrence37 commented 4 years ago

I'm working on an implementation of a waveform viewer. A vectorscope is a possibility, but I need more information such as the color representation (Hue-Saturation, Chroma-hue, ???) and what information is relevant to photographers.

eprovst commented 4 years ago

@Lawrence37 great news!

About vectorscopes:
I think both Chroma-Hue and Saturation-Hue have their uses, though chroma might be fairly computationally expensive, I'm not sure.

The 'skin-tone line' is a lifesaver in portraits (skin-tones are 'memory colours' so if you get them wrong they 'feel' wrong) so I feel like that one has to be included. Different skin-tones are mainly dependent on saturation and luminance and lie either above or below the line, so you really only need one.

The concentric circles denoting 25, 50, 75 and 100 percent saturation are also fairly useful to get an idea of the actual saturation.

Generally about scopes:
The brightness of the dots in the scope should be changeable to more clearly see details when the scope is 'blown out'.

Highlighting the pixel below the cursor in the image on the scope also seems like a useful feature to have.

Edit: clarification.

Lawrence37 commented 4 years ago

Thanks @elecprog. According to my research, most vectorscopes use the U and V in the YUV color space. I guess I will try several color representations and see if they are useful or redundant.

Lawrence37 commented 4 years ago

Here's how the standard vectorscope (U-V) compares to Hue-Saturation and Hue-Chroma vectorscopes. Each have their strengths and weaknesses, although U-V and H-C are somewhat similar.

Image H-S U-V H-C
image image image image
image image image image
image image image image
image image image image
Lawrence37 commented 4 years ago

I will go ahead with the H-S and H-C vectorscopes. The H-S vectorscope is useful for preventing over saturation and the H-C vectorscope is good for general purposes. They also complement the HSV and L a b* display below the navigator.

The "skin tone line" is problematic. I have not found any good resources on "typical" HSV or L a b* skin tone values.

Thanatomanic commented 4 years ago

Does this help? https://munsell.com/color-blog/color-of-flesh/#:~:text=The%20fact%20is%20that%20most,everyone%20averages%205YR%2C%20chroma%203.

https://www.sciencedirect.com/science/article/pii/S0022202X92903477

Lawrence37 commented 4 years ago

Thanks @Thanatomanic. The first link helped with the the L a b* value. For HSV, I transformed the U-V skin tone line.

Thanatomanic commented 3 years ago

I think this issue can be closed due to https://github.com/Beep6581/RawTherapee/commit/f9e8fb41242460add0ef1c97a979e4bd48d61106 and the great work by @Lawrence37