darktable-org / darktable

darktable is an open source photography workflow application and raw developer
https://www.darktable.org
GNU General Public License v3.0
9.75k stars 1.14k forks source link

Feature request: display live samples as points in the vectorscope #9798

Closed Mark-64 closed 3 years ago

Mark-64 commented 3 years ago

A feature that would help very much color grading IMO would to display the "live samples" in the color picker module as points in the vectorscope, see the mockup

immagine

The samples should match the form chosen in the colopicker (mean, min, max). Hovering the sample in the colorpicker should highlight the corresponding point in the vectorscope (as well as the point / area in the central image, as it is now). This would help a lot to identify and manipulate color schemes (analogous, complementary, etc.) which are super useful in color grading. And yes, I have read #5689 and #8680.

johnny-bit commented 3 years ago

@dtorop What do you think about this addition to vectorscope ui?

dtorop commented 3 years ago

This seems like a good idea. Some queries:

  1. What about "box" area samples (vs. "point" samples). Is it better to highlight the live sample's minimum/maximum/mean RGB value in AzBz or uv value? Or better to make a "cloud" graphing all the AzBz/uv values in the live sample box and emphasize them in the scope (draw full brightness) while fading out the rest of the scope?
  2. Should live samples display on hover (can see only one at a time) or should there be a "show in scope" toggle for each, allowing showing multiple samples in the scope?
  3. Should this be either/or with displaying the primary sample, or co-exist?
  4. If the scope is restricted to the selection, do the point samples appear overlaid regardless?
  5. Should this be exclusive to the vectorscope or generalize to histogram, waveform, and parade?

All this questions aside, I think it would be pretty trivial to just draw dots to represent the live samples as @Mark-64 suggests. Hover behavior probably gets a bit more complicated but should be possible. Above queries are to figure out if this should/could be generalized nicely.

Regardless, this should probably wait on @aurelienpierre revamp work...

Mark-64 commented 3 years ago

Before trying to answer your questions, let me first clarify the purpose of the request. I have been inspired by the video from Joanna Kustra on color grading, see also this discussion among DT users. I was trying to figure out how to implement those color schemes (or color harmonies) in DT and the vectorscope seems the obvious choice, but we miss a couple of things IMO:

  1. Showing on the vectorscope the key parts of the image => this FR
  2. Importing a color palette (from Adobe Color / Paletton or similar). For this we only have workarounds like converting to svg with Inkscape and using the watermark module. This is cumbersome, I wish we had something better, like a new module "Palette", but this is for another discussion

With the above, the color grading would aim to match the key samples with the chosen palette. So now my opinions of your questions

  • What about "box" area samples (vs. "point" samples). Is it better to highlight the live sample's minimum/maximum/mean RGB value in AzBz or uv value? Or better to make a "cloud" graphing all the AzBz/uv values in the live sample box and emphasize them in the scope (draw full brightness) while fading out the rest of the scope?

I guess sample should be shown converting to the color space chosen in the vectorscope, either AzBz or uv. I would prefer to keep things simple by always showing points, corresponding the "point" live sample or to the "avg/max/min" of the area. After all, the palette is also made of solid color swatches, i.e. points

  • Should live samples display on hover (can see only one at a time) or should there be a "show in scope" toggle for each, allowing showing multiple samples in the scope?

Again, I would prefer the simplest solution to always display all samples together, but highlight one on hover, only to understand which is which

  • Should this be either/or with displaying the primary sample, or co-exist?

I don't see a reason for co-existance, I would only like to see the live samples

  • If the scope is restricted to the selection, do the point samples appear overlaid regardless?

Generally yes. Or we could only visualize the ones which falls in the selection, but I don't see how this could be useful

  • Should this be exclusive to the vectorscope or generalize to histogram, waveform, and parade?

I don't see a way to generalize, it would be confusing, but I might be wrong

sandyadr commented 3 years ago

Before trying to answer your questions, let me first clarify the purpose of the request. I have been inspired by the video from Joanna Kustra on color grading, see also this discussion among DT users. I was trying to figure out how to implement those color schemes (or color harmonies) in DT and the vectorscope seems the obvious choice, but we miss a couple of things IMO:

  1. Showing on the vectorscope the key parts of the image => this FR
  2. Importing a color palette (from Adobe Color / Paletton or similar). For this we only have workarounds like converting to svg with Inkscape and using the watermark module. This is cumbersome, I wish we had something better, like a new module "Palette", but this is for another discussion

Just for a note, as I already mentioned in the referenced pixls discussion, most of the time, the colour wheel used when grading is RYB, vectorscope layout is RGB (both have their own benefit when grading). So result from adobe colour/paletton cannot directly be used as a point reference (both have RYB wheels). I'm just afraid new users used it as it is without realizing the difference between the two wheels and didn't get the result they want.

But still, this is a nice feature to have.

Mark-64 commented 3 years ago

So result from adobe colour/paletton cannot directly be used as a point reference (both have RYB wheels)

Why not? A color is a color, regardless of which color wheel it is taken from. For example if you take two complementary colors in Paletton and import them in DT, they might not look complementary anymore in the vectorscope, but you can still match those and get the color harmony you are looking for.

sandyadr commented 3 years ago

they might not look complementary anymore in the vectorscope, but you can still match those and get the color harmony you are looking for.

I'm sorry if I'm not clear enough. What I really mean is, if a new user (not new to darktable, but new to colour theory in general) import the palette, and see that the point they imported is not laid out as they planned, and then just "blindly" tweak/stretch it to make it fit (i.e. the plan is complementary in RYB (eg. red-green), but they tweak it to be complementary in RGB (eg. red-cyan) after imported) without realizing that the wheel is different.

If they already know and adapt it to vectorscope layout, then it's alright (I tweak it visually myself).

btw, there's a new topic in pixls about RYB vectorscope, if this is possible, maybe it's a great addition to this FR. I've never seen RYB vectorscope so I don't know if this is possible or not.

on the 2nd though, I realize that this topic is only about live samples as points that maybe help when grading, but not on the vectorscope for grading itself, so maybe my comment is OOT, if I need to delete it, just let me know. Sorry.