Hello
Several improvements have been brought to the Itcwb result by acting on several internal parameters (change default settings) the basic algorithm has not changed (or very little). The most striking concerns the number of spectral data, which has increased from 201 to 308.
It is from your remarks and the work done for the PR that these changes come.
Set “neutral”
it is very important for this to work correctly (taking into account the new default settings) to set to “neutral”. Of course you can load pp3 according to your habits, but the main thing is that the new parameters of Itcwb are taken into account.
Spectral color datas
I have added since a few days about 100 spectral colors. There are now 308. These data are essential for the correlation calculation to be done well. The fact of being able to choose a “sampling” of the larger image data led me to review that of the references (perhaps it is still insufficient). The system displays in the console the colors of the image that have a deltaE greater than 0.05. You can change this value in ‘options’ Itcwb_deltaspec=0.05… with 0. you see all patch.
This deltaE does not take into account the luminance and calculates the difference between the xyY (only xy) values of the image and the reference. This value seems sufficient to me, because the correlation is done on a large number of data (at least 30). But of course to check if it is not necessary to add some data.
This element is the essential point of the algorithm.
Important point, the algorithm is unchanged.
Size of color patch
I removed a slider which allowed an optimization (by iterations) of the deltaE between the xyY values to find the spectral data. By default I put the value of 2, which should be suitable in most cases.
This free “slider” is now used to choose the size of the patch. That is to say the total number of colors that can be compared and used for correlation. This number is different from “maximum color used in image”. Indeed the size of the patch is linked on the one hand to the “sampling” of the image data, and to the choice of “sort in chroma order”.
By default, before the introduction of this user setting, the patch was at 55 for the “low sampling” and “medium sampling” values and 70 for the “high sampling” and “Force used of entire CIE diagram” values.
To verify…
I added in the console, the number “data samples” at the 2 limits of the patch.
-
Number of data samples in beginning patch
-
Number max of data samples in last patch
The number of scanned data is that of the size of the image in pixels divided by 9. For example for an image of 45M pixels, 5M will be analyzed.
You can thus see that the value retained for each of the “x” colors retained corresponds to the average of the data. This number of data can vary, depending on the images and the size of the patch from 1000 or less to approximately 2000000.
Demoisaicing
The other important factor is by the demosaicing method (this is not a bug). Indeed “camera” takes into account the Exif data (Color matrix and white-balance camera) either those of the manufacturer, or in RT those of Adobe. It is obvious that each manufacturer has its own method of demoisaicing… but we cannot intervene on it… and this sets the default “camera” values.
The Itcwb algorithm, calculates for each color of the patch (which is an average, see above) the color which will be used for the correlation. The different methods (Amaze, DCB, etc.) have a significant impact and can lead to discrepancies, which are not bugs, but the consideration of the colors generated by these methods.
Using AWB Temperature bias
AWB temperature bias is a simple way to get a quick result.
Indeed, acting on this slider completely reexecutes the algorithm by shifting the initialization temperature. All parameters are re-calculated temperature, tint, correlation.
-
it can be to readjust the colorimetry - a bit like CIECAM chromatic adaptation, but it’s not exactly the same thing.
-
or to visually obtain an image more in line with your expectations, without color shifts.
Chromatic Adaptation
The results of the Itcwb algorithm, reflect the relevance of calculations on objective mathematical foundations. But this result - as indeed all settings of the white balance - do not take into account in full human perception: surround, simultaneous contrast, … and especially the adaptation of our eye / brain to temperature differences from D50 (which is the reference in colorimetry). The further away from D50 (e.g. 4300K, 6000K), the greater the deviations will be.
To overcome this gap, it is possible to set up a chromatic adaptation with the module “Color Appearance & Lighting”.
To achieve this and limit the role of Ciecam, put Ciecam in “Automatic symmetric” mode, the system will apply 2 chromatic adaptations, the first from “Scene conditions” to the reference illuminant (usually D50, but you can change it), the second from the reference illuminant to “Viewing conditions”. By default the 2 adaptation percentages are set to 90%, you can increase or decrease these values.
You can also modify the temperature in “Viewing conditions” to obtain a warmer or colder rendering.
You can, if you wish, change the Ciecam settings like “Absolute luminance”, “Surround”, etc. See the tutorial on Ciecam.
The choice is often a personal matter of perception that takes into account the environment.
Jacques