Beep6581 / RawTherapee

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

New Output ICC profiles - from Elle Stone #4478

Closed Desmis closed 6 years ago

Desmis commented 6 years ago

I have slightly modified 37 ICC output profiles coming from "Elle Stone" , thanks to him

Branch : testoutputprofile

do we keep them all, or only a few, and if so, which ones?

Thank you

Jacques

Desmis commented 6 years ago

I spoke too fast, with some images there are still drifts of colors ??

agriggio commented 6 years ago

Jacques, I found the problem: you have inverted xyz_ACESc and ACESc_xyz :-) Just swap the contents of the matrices and everything works fine: xyz_ACESs should be the "forward matrix", i.e. from RGB to XYZ, and ACESc_xyz the inverse one... those matrix names in RT are definitely misleading!

Desmis commented 6 years ago

@agriggio

Oups, there was 2 errors 1) first I swap xyz_ACES and ACES_xyz 2) I invert line and colomns Thank you very much, I will post a commit, with others changes, this day

:) jacques

Desmis commented 6 years ago

The paradox is that I put the right matrix in workingspaces.json it's probably a beginning of senility :)

Desmis commented 6 years ago

I just push a commit, with 1) changes above, thanks to Alberto 2) put in primaries, the values of the norm for ACES

Now, from my point of view, as now it works fine, ACES is the better default choice for RT, because diagram xyY almost exactly matches human vision. It is not the case of Prophoto neither Widegamut, neither Rec_2020,...

But to verify by usage :)

jacques

agriggio commented 6 years ago

@Desmis isn't it a problem that ACES contains a lot of imaginary colours (and in fact also many with negative coordinates towards the blues)? Here is what Elle told me when I asked: https://discuss.pixls.us/t/working-profile/6862/5

Desmis commented 6 years ago

yes but less than Prophoto (I think, to verify...). in all cases, the choices are imperfect and pose many problems almost insoluble, as CIECAM which is smaller than sRGB The best is to test, now it is possible, with "ACES norm", include in working profile

Desmis commented 6 years ago

In fact ACES, is in general bigger than Prophoto, but with a better repartition

agriggio commented 6 years ago

well the whole point of supporting arbitrary custom working spaces from a JSON file is to allow everybody to experiment at will, without hardcoding more working spaces in the RT code. so, I'm :+1: for experimenting, but :-1: for hardcoding aces and/or making it the default (at this point at least)

Desmis commented 6 years ago

Is not the purpose of a branch to test?

For this branch ,I name "testoutputprofile", users can test 1) FOIP - Full Output Integrate Profile, with free primaries, and free TRC 2) generation of V2 or V4 profile, derivate from FOIP 3) ACES working profile

and also, profile generate with code "Elle Stone"

agriggio commented 6 years ago

Jacques, absolutely. But I thought you were asking for an opinion... In that case, I'm :+1: for points 1 and 2, and :-1: for point 3, or at least for point 3 as implemented now (i.e. "hardcoded"). In fact, I think we should get rid of all the hardcoded profiles except maybe just sRGB, and ship instead a workingspaces.json configuration file with a few reasonable choices.

But this is just my opinion, I'm not the authority here... what do the other developers think?

Desmis commented 6 years ago

My opinion is for workingspaces.json

Beep6581 commented 6 years ago
  1. Branch testoutputprofile compiled fine, with this warning:

    /home/morgan/programs/code-rawtherapee/rtengine/iccstore.cc: In static member function ‘static void* rtengine::ICCStore::createCustomGammaOutputProfile(const rtengine::procparams::ColorManagementParams&, rtengine::GammaValues&)’:
    /home/morgan/programs/code-rawtherapee/rtengine/iccstore.cc:1775:17: warning: the address of ‘GammaTRC’ will always evaluate as ‘true’ [-Waddress]
     if (GammaTRC) {
                 ^
  2. The working profile combobox is still changeable, so what exactly do you mean by "hardcoded ACES working profile"?

  3. What is ACESc?

  4. What is "Free output integrate profile" (FOIP)? Nothing on google.

  5. When the FOIP frame is disabled, all the options inside the frame are disabled except for "Generate ICC profile".

  6. I can set the output profile to RT_sRGB-V2-g22 for instance and at the same time enable FOIP and set "Generate ICC profile: V4". If these options are mutually exclusive, the UI should reflect that.

  7. If a photo is processed, the PP3 should describe everything needed to reproduce that look on another RT installation (#4327). If the working profile was changed from ProPhoto to ACES (which ACES?), or if RT installation A uses working space X via workingspaces.json, and installation B does not have that entry in workingspaces.json, how is the user warned about this?

agriggio commented 6 years ago

The working profile combobox is still changeable, so what exactly do you mean by "hardcoded ACES working profile"?

I mean that there is a pair of matrices in the code, in iccmatrices.h, and a hardcoded "ACES" in the list in iccstore.cc. For other hardcoded profiles, there are also a couple of if (params.icm.working == "PROFILE XX") statements around in the code, which I don't like that much...

If a photo is processed, the PP3 should describe everything needed to reproduce that look on another RT installation (#4327). If the working profile was changed from ProPhoto to ACES (which ACES?), or if RT installation A uses working space X via workingspaces.json, and installation B does not have that entry in workingspaces.json, how is the user warned about this?

Same problem as not having an input icc/dcp profile, a clut, an LCP file, a darkframe, a flat field, ... I agree that something should be done about this, but I'm not sure what, exactly.

agriggio commented 6 years ago

Also, RT already allows users to add/modify entries in camconst.json, and this can also have a quite visible impact on the output, but no visible impact on the pp3... (BTW, the working profile is saved in the pp3 already)

Desmis commented 6 years ago

I was away, this afternoon...

ACESc ==> I was hoping this question, because there are at least 2 working profiles ACES ! I was waiting the first works , thanks to Alberto, to improve the list of working profiles

In fact there is 2 primaries, P0 which is very very big, and P1 which is bigger than Adobe, near Widegamut but different

FOIP ==> sure there is nothing on Google, otherwise I would be famous It is a personnal appelation, for "Free output integrate profile", it allows to build-in - integrate directly to the file - V2 version - or to produce V2 or V4 icc The result is better (with Histogrammar) when using "build-in" instead of loading V2, quality is quasi the same as V4

There are still GUI problems to fix, remember it's not my thing

Normally, when "FOIP" is checked, Output profile is disabled , it works on my computer If you select FOIP, you must choose

Jacques

Desmis commented 6 years ago

I just push a change with some GUI changes (little), and add ACES P1, and rename ACES P0

@agriggio In fact for me the good working space, is "ACES P1", but this morning my response was embarrassed because I was not sure I could make ACES P1

Desmis commented 6 years ago

here a link with ACES P0, ACES P1, etc.

http://duikerresearch.com/wordpress/wp-content/uploads/2015/09/ACEScg-Digipro-2015_header.jpg

Desmis commented 6 years ago

I just fixed a bug in V2 acesp1 ICC profile

Desmis commented 6 years ago

there is a "big big" bug, in using V2 and V4 profile...since 6 days, before it works. I will try to find why !

Desmis commented 6 years ago

I think (I hope) all bugs are fixed now (problem with Tags LCMS), and I think GUI is quite good :)

Desmis commented 6 years ago

I just add 3 primaries to build ICC profile BestRGB, BetaRGB, BruceRGB

Desmis commented 6 years ago

I fixed another big bug in output profile And I try a new ==> possibility to generate ICC V4 profile, with a choice illuminant eg, you can choose "primaries"=Adobe, and Illuminant D41, it will generate, an ICC V4 profile with D41 instead of D65 or primaries=acesP1 and Illuminant D80, etc. But only to generate ICC V4 profiles

Jacques

Desmis commented 6 years ago

Here a link where you can compare : AdobeRGB (D65), with AdobeD41 and AdobeD80 https://imgur.com/vl7UQmj

Desmis commented 6 years ago

In fact Primaries and xy diagram are a flat representation, when you change luminance gamut change Here the "cut" is at L67 and show a best response to compare to standard D65, for D41 in blue and red, and lees in yellow

Desmis commented 6 years ago

I add "A" illuminant - T=2856K Incandescent to generate ICC V4 :)

Desmis commented 6 years ago

I can also, if need (??) give the possibilty to choose it's own primaries :)

Beep6581 commented 6 years ago

To merge this branch into dev, we need to know how to test it, how to objectively verify that it works correctly - test cases. Could you explain that please?

Desmis commented 6 years ago

This question is very surprising for me :)

How do you compare before, Prophoto, sRGB, etc. in working profile, and how do you compare before Output profile , or how do you compare Elle Stone profiles ? What led to choosing sRGB as output, and Prophoto as input ?

However, I'm working on "free primaries", and I'm going to give a brief user guide. Purpose question: in french in Rawpedia or simplified here ?

Beep6581 commented 6 years ago

@Desmis all good questions, and I think they should not be rhetorical.

  1. How do you choose a good working space in a program with a floating-point engine?
  2. Maybe the addition of new working spaces is fine if the supported working spaces all function correctly, which takes us to the second question: how do we test each individual working and output space? As mentioned a few comments above, there were several big bugs, but it was not explained what these bugs were, why they went undetected, how they were found, what effect they had... How do we test these spaces and what to look for to find possible problems?

Ref: http://rawpedia.rawtherapee.com/Color_Management_addon#rgb_.3D.3D.3E_RGB_conversion_-_Working_space_.22Working_Profile.22 https://www.adobe.com/digitalimag/pdfs/phscs2ip_colspace.pdf

However, I'm working on "free primaries", and I'm going to give a brief user guide. Purpose question: in french in Rawpedia or simplified here ?

If it's a testing feature then better here; if it's agreed that the feature will find its way into the next release, then in RawPedia.

Desmis commented 6 years ago

I will post soon, a commit with "free primaries", with somme GUI difficulties (at least for me!)

For all question and my comments, tomorrow I will be away, my grandson are in Frejus, and as weather is very fine, we go to the beach, walk etc. - so all comments, in this issue - with my bad english, probably for thuesday :)

Desmis commented 6 years ago

A first approach - in french, it not describe how to in detail, but why !

Le choix des profils de sorties et des profiles de travail n'est pas un sujet simple. Le management des couleurs est tout sauf simple, certaines parties sont empiriques, d'autres sont liées à des lois mathematiques complexes, fondées sur le calcul matriciel à partir de données spectrales.

Ainsi, un profil ne se résume pas ni à des courbes, ni à sa taille, ni à des données XYZ, etc. Mais il est la concrétion de couleurs percues qui sont le "produit" des matrices données spectrales des couleurs de base, des données spectrales de l'illuminant et de celles de l'observateur en théorie à partir de données spectrales. En pratique devant cette quasi impossibilité pratique on utilise quelque chose de moins performant, les données xy, XYZ et point blanc.

Dans les profils habituels les couleurs de base sont représentées par les primaires qui sont des lignes droites qui raccordent 3 points sur le diagramme xy. Dans les profils sophystiqués ces droites sont remplacées - ainsi que les TRC par des LUT, mais je ne sais pas faire. Néanmoins la quasi totalité des profils disponibles (output) sont à base de primaires , de TRC et prennent par défaut l'observateur 2°.

Ceci pose déjà une question quel illuminant choisir comme base qui sera le plus "utile" pour l'utilisateur courant ? Bien sûr cela dépend des photos prises... Mais supposons des photos prises vers midi en été à Londres ou Stockholm, la lumière du jour est aux alentours de 6500K voire 7500K, le soir et le matin vers 5000K, dans ces cas on va choisir D65 Supposons les mêmes habitudes en Provence, ou en Italie, la lumière du jour est vers 4700K ou 5500K, le soir et le matin vers 4100K, ici on choisira D50

L'architecture de Rawtherapee est telle qu'on ne peut intervenir sur les TRC en entrée (j'avais proposé une branche où on pouvait le changer, mais devant le peu d'enthousiasme, je l'ai supprimée. Par contre les profils de sortie, peuvent bénéficier des TRC, qui permettent surtout en sortie RGB, de modifier le rendu dans les basses lumières, d'où l'intérêt du gamma sRGB (s=12.92 g=2.4).

Maintenant comment évaluer un profil autrement que par sa forme, sa dimension, etc. Pas simple, je propose pour les TRC (output profile) d'utiliser Histogrammar, qui permet de visualiser en 16 bits des histogrammes entiers ou partiels. L'évaluation de la forme du profil en fonction de la luminance (en données Lab) me semble pertinente, par exemple en l'évaluant avec Profile Editor 5.0.

Quelle taille choisir en profil de travail :

Si je résume, je retiendrais : ACESP1 qui a le mérite de plus par défaut d'être en D60, donc proche de D50 et D65, AdobeRGB et pourquoi pas, pour conserver la compatibilité, Prophoto et sRGB

Où mettre, ces 3 ou 4 profils:

Possibilité de changer les références : j'offre la possibilité de changer d'une part l'illuminant de référence, par exemple élaborer AdobeGB en D50, ou les primaires en construisant des profils pour des usages spécifiques, par exemple plus petit que sRGB afin d'éviter des artefacts dans certains cas. Dans ce cas, l'utilisateur peut générer en ICC V4, le profil de sortie de son choix, par exemple si il prend une majorité de couchers de soleil, un ACESP1 D41. Ici il se servira de la possibilité offerte par le travail de Alberto avec "workingspaces.json", et verra ainsi apparaître un "working profile" - ACESP1-D41.

A noter que ces profils de travail ont certes une adaptation chromatique, pour les données XYZ, mais ne jouent pas le rôle de CAT02WB (branche cat02wb), qui lui va adapter, les couleurs D65, D75, D41 à D50, par une conversion performante, qui pour moi est quasi indispensable dans tous les cas.

Que choisir comme profils de sortie:

Par défaut on peut proposer, RT_sRGB, RT_adob, RT_acesp1, ... avec leur illuminant standard. Quel illuminant choisir ?: le plus pertinent est celui qui correspond aux photos prises, donc selon le cas, D50, D65, D41, Incandescent. Il semble intéressant que l'utilisateur en plus des modèles de base fondés sur l'illuminant standard, puisse modifier lui même l'illuminant. Quelle TRC choisir ?: là encore selon usage, soit standard, soit sRGB, soit linéaire, etc. d'où permettre à l'utilisateur de modifier lui même les TRC. La possibilité est offerte pour qui le souhaite, d'ajuster les primaires pour un usage fin, en sachant ce que l'on fait, par exemple grossir un peu ACESP1, ou réduire sRGB.

Problèmes liés à LCMS : curieusement certaines fonctions de LCMS qui devraient pouvoir générer des ICC V2 ou ICCV4 ne générent que des ICC V4, même si on lui demande V2. Elle Stone semble-t-il a les mêmes problèmes. Ceci oblige à avoir quelques profils "maîtres" ICC V2 qui servent de base avant modifications, c'est aussi utile pour servir de base de "primaires". Ce sont : "RT_ClayRGB-V2-srgbtrc" (Elle Stone) "RT_LargeRGB-V2-rgbtrc" (Elle Stone) "WideGamutRGB" "RT_sRGB-V2-srgbtrc" "RT_bruce_V4" "RT_beta_V4" "RT_best_V4" "RT_Rec2020-V2-srgbtrc" "RT_ACES-V2-srgbtrc" "RT_acesp1_V4" Si bien sûr tout le mode est d'accord, on peut supprimer l'immense liste des profils Elle Stone (modifiés RT) et maintenir ceux ci dessus. Complétés s'il le faut par l'utilisateur.

Quelles sont les valeurs des primaires ? p[0] = 0.7350; //Widegamut primaries p[1] = 0.2650; p[2] = 0.1150; p[3] = 0.8260; p[4] = 0.1570; p[5] = 0.0180;

        p[0] = 0.6400;    //Adobe primaries
        p[1] = 0.3300;
        p[2] = 0.2100;
        p[3] = 0.7100;
        p[4] = 0.1500;
        p[5] = 0.0600;

        p[0] = 0.6400;    // sRGB primaries
        p[1] = 0.3300;
        p[2] = 0.3000;
        p[3] = 0.6000;
        p[4] = 0.1500;
        p[5] = 0.0600;

        p[0] = 0.6400;    // Bruce primaries
        p[1] = 0.3300;
        p[2] = 0.2800;
        p[3] = 0.6500;
        p[4] = 0.1500;
        p[5] = 0.0600;

        p[0] = 0.6888;    // Beta primaries
        p[1] = 0.3112;
        p[2] = 0.1986;
        p[3] = 0.7551;
        p[4] = 0.1265;
        p[5] = 0.0352;

        p[0] = 0.7347;    // Best primaries
        p[1] = 0.2653;
        p[2] = 0.2150;
        p[3] = 0.7750;
        p[4] = 0.1300;
        p[5] = 0.0350;

        p[0] = 0.7080;    // Rec2020 primaries
        p[1] = 0.2920;
        p[2] = 0.1700;
        p[3] = 0.7970;
        p[4] = 0.1310;
        p[5] = 0.0460;

        p[0] = 0.7347;    // ACES P0 primaries
        p[1] = 0.2653;
        p[2] = 0.0000;
        p[3] = 1.0;
        p[4] = 0.0001;
        p[5] = -0.0770;

        p[0] = 0.713;    // ACES P1 primaries
        p[1] = 0.293;
        p[2] = 0.165;
        p[3] = 0.830;
        p[4] = 0.128;
        p[5] = 0.044;

        p[0] = 0.7347;    //ProPhoto primaries
        p[1] = 0.2653;
        p[2] = 0.1596;
        p[3] = 0.8404;
        p[4] = 0.0366;
        p[5] = 0.0001;
iliasg commented 6 years ago

@Desmis Jacques, why do you choose ACES_P1 as optimal instead of rec.2020 ?. They are very close in CIE coverage and the rec2020 has the bennefits of 1) no imaginary colors 2) better compatibility with devices (rec2020 is the "go to" standard for displays ..)

On the other side .. Prophoto is by default used as target space with dcp profiles ..

A grey region to me is the "relative colorimetric" and "perceptual" intends when used for mapping a large color space to a smaller .. there must be a conversion map for this .. no ?. So I wonder if it's effectiveness is same for the various conversions ??

Desmis commented 6 years ago

I choose ACES_P1 for two reason a) it's slightly big, and the area with imaginary color is very small b) it is in D60 instead of D65 But I can build any profile, between rec2020 and ACESP1, an in D50...

Grey region, perhaps, I am not sure, to verify :)

Desmis commented 6 years ago

Utilisation Quand vous cochez "FOIP", Free Output Integrate Profile, vous autorisez plusieurs fonctionnalités 1) possibilité de générer un profil ICC de type V2 directement intégré (Foip) au fichier de sortie (TIF, JPG), sans le charger dans une liste de profils 2) créer des profils ICC V2 qui vont être écrits sur disque, ils seront identiques au profil FOIP 3) créer des profils ICC V4 qui vont être écrits sur disque, qui seront différents des FOIP

Sur quoi pouvez-vous agir Pour 1) et 2) vous pouvez sélectionner des "primaires" parmi la liste proposée - sauf le choix "Free Primaries" qui est réservé à ICC V4 3) Pour 1) 2) et 3) vous pouvez choisir les TRC (gamma et pente) soit parmi un choix prédéterminé, soit en agissant sur les 2 curseurs "gamma" et "slope" Pour 3) - ICC V4 - vous pouvez en plus créer des profils avec des primaires de votre choix - dans ce cas le fichier FOIP de type V2 contiendra un profil "sRGB" Pour 3) - ICC V4 - vous pouvez en plus créer des profils avec des illuminants de votre choix parmi une liste prédéterminée -dans ce cas le fichier FOIP de type V2 contiendra un profil "sRGB"

Les profils ICC V2 et ICC V4 sont par défaut dans le même dossier que l'application Rawtherapee.exe. Libre à vous de les déplacer soit dans rtdata/iccprofiles/output où ils seront utilsés par Rawtherapee, soit dans le dossier des profils du système où ils seront vus par l'ensemble des programmes.

Vous pouvez ajouter à la liste des "working profiles", les profiles de votre choix en les ajoutant au fichier workingspaces.json, par exemple Adob_incandescent et ACesP1_D50

Evaluation des résultats avec Histogrammar: 1) et 3) donnent de très bons résultats, histogrammes sans arêtes de poisson 2) donne des résultat similaires aux profils V2 du marché

Evaluation de srésultats avec une mire d'étalonnage (mire personnelle 468 couleurs) sur la préservation des gris.

Desmis commented 6 years ago

I push a change,

Desmis commented 6 years ago

After research by trial errors with LCMS, I find why "cmsCreateTransform" works with TYPE_RGB_16 and very bad with TYPE_RGB_FLT, I change especially "Imagefloat::ExecCMSTransform";

Now all works normally, I have change some settings - gamma from 0.4 to 8 and slope from 0 to 80

jacques

Desmis commented 6 years ago

I fix a bug in ExecCMSTransform for non raw files... The I merge with dev :)

Beep6581 commented 6 years ago

I tested 5.4-319-gbab093b0 using:

Output images: https://filebin.net/25i114p1rf2huc2m Note: the tracteur images in this filebin used highlight reconstruction method "blend", not "color propagation" as in the PP3.

I noticed no problems. As far as my understanding goes, the resulting images looked as expected.

All changes in this branch without whitespace changes: https://github.com/Beep6581/RawTherapee/compare/testoutputprofile?w=1#files_bucket

Current look: screenshot_20180501_202806

Some suggestions:

  1. The "FOIP" panel currently uses RT icons. I suppose that's temporary until we make some dedicated icons, but maybe these sliders don't need any icons?
  2. Some labels can be improved, e.g.:
    • TP_GAMMA_FREE;Free Output Integrate Profile (FOIP)-generate ICC V2 V4 This one is too long and contains too much info ("V2 V4"). How about this instead: TP_GAMMA_FREE;Generate custom profile
    • TP_GAMMA_PRIM;Primaries Output profile, does that control only the primaries? If so, I think this would be better: TP_GAMMA_PRIM;Primaries It already is in the "Output profile" frame, so it does not need to repeat that.
    • TP_GAMMA_PRIM_REDX;Red x primari same here, it's already in the "Primaries" section, so TP_GAMMA_PRIM_REDX;Red x, and the same for the other ones.
  3. The labels and variables use the word "primari"; it should be "primary" if singular, "primaries" if plural.
  4. Mockup of suggested layout: imgur-2018_05_01-21 36 02
  5. Would be nice if the "Generate custom profile" section was hidden when not in use.
  6. "Primaries Output profile" says "Free primaries -ICC V4", but the "Generate ICC profile" combo allows me to select "ICC V2" and "None". It's not clear what happens in these cases.
  7. Some variable names seem to me to be unnecessarily cryptic and too-abbreviated: For example:
    • icm.wprimari, if that means "working space primaries" (plural) then how about icm.wprimaries or icm.wPrimaries.
    • Some icm.wprimari entries use capitalized and human-friendly forms, e.g. BetaRGB, while others use abbreviated lowercase forms, e.g. srgb, adob or wideg. Why not make those capitalized and human-friendly as well? Standard forms:
      • Adobe Wide Gamut RGB
      • ProPhoto
      • scRGB
      • DCI-P3
      • Rec. 709
      • Rec. 2020
      • ACES2065-1 (I think this is what in RT is called AcesP0)
      • ACEScg
      • ACEScc
      • Regarding "AcesP1", the literature uses the spelling "ACES AP1", and it's apparently also known as "Rec2020+".
      • Beta RGB
      • Bruce RGB
      • ProPhoto (ProPhoto RGB, also known as ROMM RGB [Reference Output Medium Metric]). I know it may sound like OCD, but using one style consistently not only makes it easier for someone reading the code or reading the PP3 to understand what they're reading, but it also makes its easier to catch bugs.
    • params.icm.wtrcin
    • Glib::ustring profi (why not profile?)
    • icm.wtemp == "INC" -> icm.wtemp == "StdA"
    • V2 or V4, "version" is usually lowercase v.
  8. Since RT can generate any ICC, maybe we should only ship the standard ICC output profiles everyone expects to find (sRGB, Adobe RGB, ProPhoto), to shorten the very long combobox list (eventually maybe also DCI-P3 since many new smartphones use it).
Hombre57 commented 6 years ago
  1. I think using custom instead of free (everywhere it's used) would be more correct too
Desmis commented 6 years ago

Thank you for testing :)

The remarks are very much about the form, of course I accept them, even if for me at this stage, it is not essential. There are plenty of places inside the RT code, where this one (names of variables, functions and totally unexplained for me, too long, british abbreviation, etc.), of course I am a grumpy old man :)

What to new features ?

Few remarks, except : "I noticed no problems. As far as my understanding goes, the resulting images looked as expected." or : since RT can generate any ICC, maybe we should only ship the standard ICC output profiles everyone expects to find (sRGB, Adobe RGB, ProPhoto), to shorten the very long combobox list (eventually maybe also DCI-P3 since many new smartphones use it). and some remarks about profiles ==> Rec20020 is different from ACES P1, not the same primaries

At this stage, for me the key is to have an opinion on many of my questions 1) what about the 37 profiles directly derivated from Elle Stone work : if you look in detail some of these profiles, you can see some are describe as V4 but their tags are V2 some are with primaries different when we read theirs values with ICC profile inspector or directly with LCMS ** should we keep all - a priori you say no, or keep only those from me or from Elle who serve as "model" - roughly ten, and let users generate those they want

2) what about "working profiles" should we keep all profiles as now, or limited to 3 or 4, as I proposed ? what use for "workingspace.json" ? - recall for me, this functionnality is very usefull when a user create a specific V4 profile (primaries, illuminant), and must not be used y default

3) do you tested, Gamma-TRC for working profiles. In resume, gamma acts on highlights, and slope on shadows:

We need to find an agreement on the names and number of output profiles, working profiles, illuminant primaries, .., I am open to all proposals

But be careful not to get caught up in the debate that there has been in the forum "Feature request: save as floating-point" who can bring an actor to isolate himself. :)

Beep6581 commented 6 years ago

@Desmis I can try to help you with the UI if you need help, and with the icons if they are required.

The remarks are very much about the form, of course I accept them, even if for me at this stage, it is not essential.

If we are to include this branch in 5.5 then we need to polish it and merge soon.

Rec20020 is different from ACES P1

Yes, but I wrote about Rec. 2020+, not Rec. 2020.

2065 -1 AP0 is mainly meant for archival and file exchange (more on that in Part 3) – in real-world usage – grading, etc., that’s all happening in a smaller working space and that’s where AP1 primaries come into play. Also known as Rec2020+, AP1 primaries are slightly larger than Rec. 2020 and it’s the AP1 Primaries that are used in ACEScc, ACEScg and the Resolve specific ‘DaVinci ACES’.

what about "working profiles" ** should we keep all profiles as now, or limited to 3 or 4, as I proposed ?

Since the list is short, I don't mind leaving it as it is now.

But be careful not to get caught up in the debate

:)

Desmis commented 6 years ago

I you can furnish the icon fot small and big gamut :)

Then

Desmis commented 6 years ago

Excuse me but, I will make some changes, even if some seem superfluous to me, but not all I will change "wprimari" with "wprimaries", but what is the added value ??

For ACES I think we should not confuse, "at the level of standards normalisation" - if there is one in this case - the color space and the primaries If I try to read english, there is 2 primaries, AcesP0 (big), and AcesP1 (near Rec2020) ACES2065-1 is a color space with gamma = 1 My choice is to privilegiate "primaries", "illuminant" and TRC ==> AcesP0D41-trc...

For illuminant I think if you want to be rigorous, we must in all RT make the changes, example in DCP

neverless I would make the changes that seem relevant to me to ensure at least the understanding :)

agriggio commented 6 years ago

Just a random thought (feel free to ignore): wouldn't be possible to have this as a separate, stand-alone tool for generating output profiles, rather than having it as a subtool of RT? This might be more generally useful also to other people, and I was thinking that mabye you don't create a specific output profile for each image you are processing... or did I misunderstand the intended usage of the tool?

Desmis commented 6 years ago

You must read the documentation in french above :)

If I speak of "FOIP" - Free Output Integrate Profile - it is because you can directly "Integrate in the file TIF/JPG" a profile with a very good result. Much better than in loading an ICC v2 separate profile - same quality as v4 (evaluate with Histogrammar Guillermo Luijk)

It is by default the main option, if you want a custom profile....different from those by default

But probably due either to my skillness or - I think Elle Stone had the same problem - , either LCMS ignore V2 instruction in some cases (why ??)

This mean I offer the possibility to generate ICC v2 or v4, and due to LCMS, the maximum options are obviously with v4. This explains the complexity of menus and choices;

It is obvious, it needs a documentation, that's why I asked this question a few days ago and I was told to do a temporary documentation to understand, then it will be in Rawpedia (in french above)

I don't think it is a good idea to make a separate tool :) But it is obvious, a user will generate some profiles, for his usage, and after it will no used, no more All this profiles, are in Rawtherapee.exe folder, each user can put in wher he want a) in rtdata/iccprofiles/output or elsewhere in system.

I will push very soon a change to GUI :)

Desmis commented 6 years ago

I just push a change for GUI Result is substantially as requested, except Icons for gamut

jacques

Desmis commented 6 years ago

I will begin the documentation in Rawpedia My english is so bad, that I will write in french I will suppress the chapter "Espace de sortie Output profile" in Gestion de la couleur supplément" and I would add a few paragraphs to the module "Gestion de la couleur"

Remark : when you choose "ICC v4" in "Generate ICC profile" 1) obviously a ICC profile v4 is generate in the folder of Rawtherapee.exe 2) the current file (TIF / JPG) has the same profile "Integrate" (embeded), with all possibilities - a) choice of primaries including "Custom primaries", b) TRC , c) illuminant

For others choice - "ICC V2" or "none", a V2 profile is embeded

Beep6581 commented 6 years ago

I will write in french

No problem, I can use Google Translate and/or ask for help via the forum when translating to English.

obviously a ICC profile v4 is generate in the folder of Rawtherapee.exe

That's not possible in Linux if RT is installed system-wide, and it could cause errors in Windows too. IIRC RT requires admin permissions to run in (some versions of) Windows. Requiring admin permissions to run RT should be considered a bug or at least a problem with the design, and so this behavior should not be intentionally prolonged.

I rename Custom Output Integrate Profile

I'm sorry but this still makes no sense in English. I suggested "Generate custom profile" - if that does not explain what the feature does, then I look forward to the documentation so that I can understand its behavior and suggest a better name.

P.S. It would be much easier to design a suitable UI and precise labels if there was a flowchart which explains what happens and what options are available when using which setting.

Desmis commented 6 years ago

If it is not possible - if I understand what you say (??) where can we put this file ? in another folder ??

"Generate custom profile" does not fit what it does 1) it "generate profil" on disk (see above) 2) it embeded (integrate) in the current TIF / JPG file