Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ISO12464 color assessment conditions pop-up window in darkroom #18433

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

da-phil
Copy link
Contributor

@da-phil da-phil commented Feb 16, 2025

Add ISO12464 color assessment conditions pop-up window in darkroom bottom panel, see screenshot:

image

Currently the following config options are hidden in the darktablerc file

  • darkroom/ui/iso12464_border
  • darkroom/ui/iso12464_ratio

Therefore it's hard to dial them in, in order to tune the iso12464 assessment borders.
This change adds a pop-up window, which opens up upon right-clicking on the "iso12464 color assessment conditions" button similarly to the overexposure warning pop-up window configuration dialog.

This address the following requests to make those config variables easier to change:

Fixes: #17278

@da-phil da-phil force-pushed the add_iso12464_popup_window_in_darkroom branch from 7652689 to 4574985 Compare February 16, 2025 22:40
@@ -329,7 +329,10 @@ typedef struct dt_develop_t
// ISO 12646-compliant colour assessment conditions
struct
{
GtkWidget *button; // yes, ugliness is the norm. what did you expect ?
GtkWidget *floating_window, *button; // yes, ugliness is the norm. what did you expect ?
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really like the comment here :D

@da-phil da-phil force-pushed the add_iso12464_popup_window_in_darkroom branch from 4574985 to 46b356b Compare February 16, 2025 22:48
@elstoc
Copy link
Contributor

elstoc commented Feb 16, 2025

AFAIK there are good reasons for the widths and colours being what they are in this mode and it's supposed to be a technical thing that improves your ability to adjust the contrast/brightness consistently. Putting the setting in darktablerc is us saying "we strongly believe you should leave these settings alone". Honestly I'd prefer the setting wasn't available for adjustment at all, but I can see there might be some screen-specific reasons that it doesn't display as expected. So, if you really need it and you know enough, you can change it.

If we make the adjustment of it so easy that it is presented up-front in the UI this is really us saying to the user "these values aren't important - this is just a UI look-and-feel thing and you should set it to what you find aesthetically pleasing."

While we do allow some border widths to be set in the darkroom in general (and we could consider allowing these to be adjusted more), IMO the colour assessment mode is special and should not be easy to change.

@da-phil da-phil force-pushed the add_iso12464_popup_window_in_darkroom branch 3 times, most recently from 7f0b605 to 93dfc69 Compare February 16, 2025 23:27
@TurboGit TurboGit added the controversial this raises concerns, don't move on the technical work before reaching a consensus label Feb 17, 2025
@TurboGit
Copy link
Member

I'm not sure we want to do that. The color assessment mode is normalized ISO12464, having control on it would just break the normalized values.

@jenshannoschwalm
Copy link
Collaborator

I fully agree with @elstoc and @TurboGit here. I understand that people on small notebooks think the borders are too wide but that width is simply required as our vision system works that way so it it became a standard defining a minimum border absolute width. Museums for example request that for good reasons as they also request a minimum monitor size.

@Weissnix4711
Copy link

Weissnix4711 commented Feb 17, 2025

I have to say I disagree with you there. This is very useful for many people (myself included) who often work with smaller screens.

I can understand the defaults are defined as they are for a reason, however on smaller devices would it not be better to have a usable, albeit 'incorrect'/worse colour assessment mode?

Putting these settings in the preferences dialog was what I initially suggested, and along with perhaps a dropdown or a clear warning message I would argue provides plenty of 'don't fuck with this unless you need to' feedback to the user.

This pop-up window solution only came about because the preferences dialog was deemed too cluttered.

As a compromise, perhaps having a little warning note appear when you open this popup dialog, or simply hiding these settings on larger monitors could be done?

@elstoc
Copy link
Contributor

elstoc commented Feb 17, 2025

a usable, albeit 'incorrect'/worse colour assessment mode?

I don't know how many of these parameters are part of the standard, but if we're going to reference a specific ISO number and define an assessment mode as adhering to this standard, then it should either do so, or we should not include the ISO reference number.

Currently the following parameters are hidden in the darktablerc file
* darkroom/ui/iso12464_border
* darkroom/ui/iso12464_ratio

Therefore it's hard to dial them in, in order to tune the
iso12464 assessment borders. This change adds a pop-up window,
which opens up upon right-clicking on the "iso12464 color assessment
conditions" button similarly to the overexposure warning pop-up
window configuration dialog.
@da-phil
Copy link
Contributor Author

da-phil commented Feb 17, 2025

By the way, does anybody have access to that very ISO standard? Would be very interesting to find out whether it gives very explicit guidance as to how wide the white and neutral grey borders need to be for "optimal" color assessment conditions or even the parameterization dt uses (total border width + white fraction).

AFAIK there are good reasons for the widths and colours being what they are in this mode and it's supposed to be a technical thing that improves your ability to adjust the contrast/brightness consistently. Putting the setting in darktablerc is us saying "we strongly believe you should leave these settings alone". Honestly I'd prefer the setting wasn't available for adjustment at all, but I can see there might be some screen-specific reasons that it doesn't display as expected. So, if you really need it and you know enough, you can change it.

If we make the adjustment of it so easy that it is presented up-front in the UI this is really us saying to the user "these values aren't important - this is just a UI look-and-feel thing and you should set it to what you find aesthetically pleasing."

While we do allow some border widths to be set in the darkroom in general (and we could consider allowing these to be adjusted more), IMO the colour assessment mode is special and should not be easy to change.

If you look at my post at pixls.us you will notice that the white & grey frame width changes with the amount of scaling on a high DPI monitor. Overall it gives inconsistent results and sticking to some arbitrarily appearing preset, which I don't believe is specified exactly in that very ISO standard feels a little bit surprising.
The ideal solution - of course - would be to make this functionality show reproducible results for all resolutions and high DPI scaling factors. But I don't have any idea how to do this, especially the latter.
Hence this functionality, of being able to quickly adapt the color assessment parameters, which enables a more consistent display across my laptop and PC for me.
If someone is happy with the settings, why would they be bothered being able to change them with this pop-up?

I don't know how many of these parameters are part of the standard, but if we're going to reference a specific ISO number and define an assessment mode as adhering to this standard, then it should either do so, or we should not include the ISO reference number.

If that is a compromise both parties could live with, I'd be more than happy to drop the ISO reference ;)

@da-phil da-phil force-pushed the add_iso12464_popup_window_in_darkroom branch from 93dfc69 to 1103187 Compare February 17, 2025 21:00
@elstoc
Copy link
Contributor

elstoc commented Feb 17, 2025

If that is a compromise both parties could live with, I'd be more than happy to drop the ISO reference ;)

As you might have guessed, that was not really a serious suggestion. By all means let's identify whatever challenges there are in making this work consistently across screen sizes but making it completely free-form basically does away with the whole point of the mode being there in the first place.

The ideal solution - of course - would be to make this functionality show reproducible results for all resolutions and high DPI scaling factors. But I don't have any idea how to do this, especially the latter.

Yes, this.

@jenshannoschwalm
Copy link
Collaborator

I could not find open access to that iso standard when I implemented the fixed minimum border sizes which was later changed to be somewhat user-adjustable on user request.

But I found recommendations from history imaging museums citating it and explaining how our visual system works. It was one inch each grey/white. Can't find that right now.

@da-phil
Copy link
Contributor Author

da-phil commented Feb 17, 2025

Apparently also AP didn't have access to the ISO standard when he implemented the feature, see his feature-request back then: #3686 (PR with the feature is linked as well)

So apparently everything is just "eyeballed", not hard numbers from the mentioned standard.

But I found recommendations from history imaging museums citating it and explaining how our visual system works. It was one inch each grey/white.

At least this would contradict the current default setting of 4 cm total border width (grey + white) and the 0.4 fraction for the white part. How would you calculate those absolute metric numbers for a screen anyway, if there is no way to determine its pixel-pitch (or pixel-per-inch) property. IMHO relative quantities should work much better.

Would be interested in your source from history imaging museums.

@jenshannoschwalm
Copy link
Collaborator

At least this would contradict the current default setting of 4 cm total border width

Right, that was changed as too many people complained.

Would be interested in your source from history imaging museums.

Me too. Tried to find is last night but without success. :-(

@Weissnix4711
Copy link

I have access to everything on BSOL. Ping me an email.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
controversial this raises concerns, don't move on the technical work before reaching a consensus
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FR] ISO 12646 border config in GUI settings
5 participants