added "Auto White Balance temperature bias" feature
This new slider in the White Balance tools allows to alter the computation of the "auto white balance" by "biasing" it towards warmer or cooler temperatures. The bias is expressed as a percentage of the computed temperature, so that the resuling temperature is given by "computedTemp + computedTemp * bias".
This commit is contained in:
parent
6b6c08028d
commit
dca0e41f35
@ -1280,6 +1280,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: <b>-</b>
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
@ -2033,6 +2034,8 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: <b>-</b>
|
||||
!TP_WAVELET_TON;Toning
|
||||
!TP_WBALANCE_EQBLUERED;Blue/Red equalizer
|
||||
!TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behavior of "white balance" by modulating the blue/red balance.\nThis can be useful when shooting conditions:\na) are far from the standard illuminant (e.g. underwater),\nb) are far from conditions where calibrations were performed,\nc) where the matrices or ICC profiles are unsuitable.
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
!TP_WBALANCE_WATER1;UnderWater 1
|
||||
!TP_WBALANCE_WATER2;UnderWater 2
|
||||
!TP_WBALANCE_WATER_HEADER;UnderWater
|
||||
|
@ -1197,6 +1197,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: <b>-</b>
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
!IPTCPANEL_COPYRIGHT;Copyright notice
|
||||
@ -2041,5 +2042,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: <b>-</b>
|
||||
!TP_WBALANCE_LED_LSI;LSI Lumelex 2040
|
||||
!TP_WBALANCE_SOLUX47;Solux 4700K (vendor)
|
||||
!TP_WBALANCE_SOLUX47_NG;Solux 4700K (Nat. Gallery)
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
!TP_WBALANCE_TUNGSTEN;Tungsten
|
||||
!ZOOMPANEL_ZOOMFITCROPSCREEN;Fit crop to screen\nShortcut: <b>Alt</b>-<b>f</b>
|
||||
|
@ -934,6 +934,7 @@ TP_WBALANCE_TEMPERATURE;色溫
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
@ -2030,6 +2031,8 @@ TP_WBALANCE_TEMPERATURE;色溫
|
||||
!TP_WBALANCE_SOLUX41;Solux 4100K
|
||||
!TP_WBALANCE_SOLUX47;Solux 4700K (vendor)
|
||||
!TP_WBALANCE_SOLUX47_NG;Solux 4700K (Nat. Gallery)
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
!TP_WBALANCE_TUNGSTEN;Tungsten
|
||||
!TP_WBALANCE_WATER1;UnderWater 1
|
||||
!TP_WBALANCE_WATER2;UnderWater 2
|
||||
|
@ -2070,3 +2070,10 @@ ZOOMPANEL_ZOOMFITSCREEN;Přizpůsobit obrázek obrazovce\nZkratka: <b>f</b>
|
||||
ZOOMPANEL_ZOOMIN;Přiblížit\nZkratka: <b>+</b>
|
||||
ZOOMPANEL_ZOOMOUT;Oddálit\nZkratka: <b>-</b>
|
||||
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
! Untranslated keys follow; remove the ! prefix after an entry is translated.
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
|
@ -930,6 +930,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
@ -2029,6 +2030,8 @@ TP_WBALANCE_TEMPERATURE;Temperatur
|
||||
!TP_WBALANCE_SOLUX41;Solux 4100K
|
||||
!TP_WBALANCE_SOLUX47;Solux 4700K (vendor)
|
||||
!TP_WBALANCE_SOLUX47_NG;Solux 4700K (Nat. Gallery)
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
!TP_WBALANCE_TUNGSTEN;Tungsten
|
||||
!TP_WBALANCE_WATER1;UnderWater 1
|
||||
!TP_WBALANCE_WATER2;UnderWater 2
|
||||
|
@ -2067,3 +2067,10 @@ ZOOMPANEL_ZOOMFITSCREEN;An Bildschirm anpassen\nTaste: <b>f</b>
|
||||
ZOOMPANEL_ZOOMIN;Hineinzoomen\nTaste: <b>+</b>
|
||||
ZOOMPANEL_ZOOMOUT;Herauszoomen\nTaste: <b>-</b>
|
||||
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
! Untranslated keys follow; remove the ! prefix after an entry is translated.
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
|
@ -758,6 +758,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!HISTORY_NEWSNAPSHOT;Add
|
||||
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
|
||||
!HISTORY_SNAPSHOT;Snapshot
|
||||
@ -2023,6 +2024,8 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
|
||||
!TP_WBALANCE_SOLUX47;Solux 4700K (vendor)
|
||||
!TP_WBALANCE_SOLUX47_NG;Solux 4700K (Nat. Gallery)
|
||||
!TP_WBALANCE_SPOTWB;Spot WB
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
!TP_WBALANCE_TEMPERATURE;Temperature
|
||||
!TP_WBALANCE_TUNGSTEN;Tungsten
|
||||
!TP_WBALANCE_WATER1;UnderWater 1
|
||||
|
@ -676,6 +676,7 @@
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!HISTORY_NEWSNAPSHOT;Add
|
||||
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
|
||||
!HISTORY_SNAPSHOT;Snapshot
|
||||
@ -2023,6 +2024,8 @@
|
||||
!TP_WBALANCE_SOLUX47;Solux 4700K (vendor)
|
||||
!TP_WBALANCE_SOLUX47_NG;Solux 4700K (Nat. Gallery)
|
||||
!TP_WBALANCE_SPOTWB;Spot WB
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
!TP_WBALANCE_TEMPERATURE;Temperature
|
||||
!TP_WBALANCE_TUNGSTEN;Tungsten
|
||||
!TP_WBALANCE_WATER1;UnderWater 1
|
||||
|
@ -1674,6 +1674,7 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nAtajo: <b>-</b>
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
!IPTCPANEL_COPYRIGHT;Copyright notice
|
||||
@ -2100,4 +2101,6 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nAtajo: <b>-</b>
|
||||
!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. When the value is different from 0, the Strength and Gamma sliders of the Tone Mapping tool in the Exposure tab will become grayed out.
|
||||
!TP_WAVELET_TMTYPE;Compression method
|
||||
!TP_WAVELET_TON;Toning
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
!ZOOMPANEL_ZOOMFITCROPSCREEN;Fit crop to screen\nShortcut: <b>Alt</b>-<b>f</b>
|
||||
|
@ -930,6 +930,7 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
@ -2029,6 +2030,8 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
|
||||
!TP_WBALANCE_SOLUX41;Solux 4100K
|
||||
!TP_WBALANCE_SOLUX47;Solux 4700K (vendor)
|
||||
!TP_WBALANCE_SOLUX47_NG;Solux 4700K (Nat. Gallery)
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
!TP_WBALANCE_TUNGSTEN;Tungsten
|
||||
!TP_WBALANCE_WATER1;UnderWater 1
|
||||
!TP_WBALANCE_WATER2;UnderWater 2
|
||||
|
@ -2035,3 +2035,10 @@ ZOOMPANEL_ZOOMFITSCREEN;Affiche l'image entière\nRaccourci: <b>f</b>
|
||||
ZOOMPANEL_ZOOMIN;Zoom Avant\nRaccourci: <b>+</b>
|
||||
ZOOMPANEL_ZOOMOUT;Zoom Arrière\nRaccourci: <b>-</b>
|
||||
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
! Untranslated keys follow; remove the ! prefix after an entry is translated.
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
|
@ -929,6 +929,7 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
@ -2028,6 +2029,8 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
|
||||
!TP_WBALANCE_SOLUX41;Solux 4100K
|
||||
!TP_WBALANCE_SOLUX47;Solux 4700K (vendor)
|
||||
!TP_WBALANCE_SOLUX47_NG;Solux 4700K (Nat. Gallery)
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
!TP_WBALANCE_TUNGSTEN;Tungsten
|
||||
!TP_WBALANCE_WATER1;UnderWater 1
|
||||
!TP_WBALANCE_WATER2;UnderWater 2
|
||||
|
@ -930,6 +930,7 @@ TP_WBALANCE_TEMPERATURE;מידת חום
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
@ -2029,6 +2030,8 @@ TP_WBALANCE_TEMPERATURE;מידת חום
|
||||
!TP_WBALANCE_SOLUX41;Solux 4100K
|
||||
!TP_WBALANCE_SOLUX47;Solux 4700K (vendor)
|
||||
!TP_WBALANCE_SOLUX47_NG;Solux 4700K (Nat. Gallery)
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
!TP_WBALANCE_TUNGSTEN;Tungsten
|
||||
!TP_WBALANCE_WATER1;UnderWater 1
|
||||
!TP_WBALANCE_WATER2;UnderWater 2
|
||||
|
@ -1547,6 +1547,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: <b>-</b>
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
!IPTCPANEL_COPYRIGHT;Copyright notice
|
||||
@ -2041,4 +2042,6 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: <b>-</b>
|
||||
!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. When the value is different from 0, the Strength and Gamma sliders of the Tone Mapping tool in the Exposure tab will become grayed out.
|
||||
!TP_WAVELET_TMTYPE;Compression method
|
||||
!TP_WAVELET_TON;Toning
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
!ZOOMPANEL_ZOOMFITCROPSCREEN;Fit crop to screen\nShortcut: <b>Alt</b>-<b>f</b>
|
||||
|
@ -1925,6 +1925,7 @@ ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: <b>-</b>
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
!IPTCPANEL_COPYRIGHT;Copyright notice
|
||||
@ -2071,3 +2072,5 @@ ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: <b>-</b>
|
||||
!TP_RETINEX_VIEW_TRAN;Transmission - Auto
|
||||
!TP_RETINEX_VIEW_TRAN2;Transmission - Fixed
|
||||
!TP_RETINEX_VIEW_UNSHARP;Unsharp mask
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
|
@ -930,6 +930,7 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
@ -2029,6 +2030,8 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
|
||||
!TP_WBALANCE_SOLUX41;Solux 4100K
|
||||
!TP_WBALANCE_SOLUX47;Solux 4700K (vendor)
|
||||
!TP_WBALANCE_SOLUX47_NG;Solux 4700K (Nat. Gallery)
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
!TP_WBALANCE_TUNGSTEN;Tungsten
|
||||
!TP_WBALANCE_WATER1;UnderWater 1
|
||||
!TP_WBALANCE_WATER2;UnderWater 2
|
||||
|
@ -1209,6 +1209,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés <b>-</b>
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
@ -2036,6 +2037,8 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés <b>-</b>
|
||||
!TP_WAVELET_TON;Toning
|
||||
!TP_WBALANCE_EQBLUERED;Blue/Red equalizer
|
||||
!TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behavior of "white balance" by modulating the blue/red balance.\nThis can be useful when shooting conditions:\na) are far from the standard illuminant (e.g. underwater),\nb) are far from conditions where calibrations were performed,\nc) where the matrices or ICC profiles are unsuitable.
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
!TP_WBALANCE_WATER1;UnderWater 1
|
||||
!TP_WBALANCE_WATER2;UnderWater 2
|
||||
!TP_WBALANCE_WATER_HEADER;UnderWater
|
||||
|
@ -2004,6 +2004,7 @@ ZOOMPANEL_ZOOMOUT;Zoom uit\nSneltoets: <b>-</b>
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
!IPTCPANEL_COPYRIGHT;Copyright notice
|
||||
@ -2058,3 +2059,5 @@ ZOOMPANEL_ZOOMOUT;Zoom uit\nSneltoets: <b>-</b>
|
||||
!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Amplify or reduce transmission map to achieve luminance.\nAbscissa: transmission -min from 0, mean, and values (max).\nOrdinate: gain.
|
||||
!TP_RETINEX_SKAL;Scale
|
||||
!TP_WAVELET_CB_TOOLTIP;For strong values product color-toning by combining it or not with levels decomposition 'toning'\nFor low values you can change the white balance of the background (sky, ...) without changing that of the front plane, generally more contrasted
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
|
@ -929,6 +929,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
@ -2028,6 +2029,8 @@ TP_WBALANCE_TEMPERATURE;Temperatur
|
||||
!TP_WBALANCE_SOLUX41;Solux 4100K
|
||||
!TP_WBALANCE_SOLUX47;Solux 4700K (vendor)
|
||||
!TP_WBALANCE_SOLUX47_NG;Solux 4700K (Nat. Gallery)
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
!TP_WBALANCE_TUNGSTEN;Tungsten
|
||||
!TP_WBALANCE_WATER1;UnderWater 1
|
||||
!TP_WBALANCE_WATER2;UnderWater 2
|
||||
|
@ -1631,6 +1631,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: <b>-</b>
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
!IPTCPANEL_COPYRIGHT;Copyright notice
|
||||
@ -2047,3 +2048,5 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: <b>-</b>
|
||||
!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. When the value is different from 0, the Strength and Gamma sliders of the Tone Mapping tool in the Exposure tab will become grayed out.
|
||||
!TP_WAVELET_TMTYPE;Compression method
|
||||
!TP_WAVELET_TON;Toning
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
|
@ -1631,6 +1631,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: <b>-</b>
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
!IPTCPANEL_COPYRIGHT;Copyright notice
|
||||
@ -2047,3 +2048,5 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: <b>-</b>
|
||||
!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. When the value is different from 0, the Strength and Gamma sliders of the Tone Mapping tool in the Exposure tab will become grayed out.
|
||||
!TP_WAVELET_TMTYPE;Compression method
|
||||
!TP_WAVELET_TON;Toning
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
|
@ -930,6 +930,7 @@ TP_WBALANCE_TEMPERATURE;Temperatura
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
@ -2029,6 +2030,8 @@ TP_WBALANCE_TEMPERATURE;Temperatura
|
||||
!TP_WBALANCE_SOLUX41;Solux 4100K
|
||||
!TP_WBALANCE_SOLUX47;Solux 4700K (vendor)
|
||||
!TP_WBALANCE_SOLUX47_NG;Solux 4700K (Nat. Gallery)
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
!TP_WBALANCE_TUNGSTEN;Tungsten
|
||||
!TP_WBALANCE_WATER1;UnderWater 1
|
||||
!TP_WBALANCE_WATER2;UnderWater 2
|
||||
|
@ -1490,6 +1490,7 @@ ZOOMPANEL_ZOOMOUT;Удалить <b>-</b>
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
!IPTCPANEL_COPYRIGHT;Copyright notice
|
||||
@ -2043,4 +2044,6 @@ ZOOMPANEL_ZOOMOUT;Удалить <b>-</b>
|
||||
!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. When the value is different from 0, the Strength and Gamma sliders of the Tone Mapping tool in the Exposure tab will become grayed out.
|
||||
!TP_WAVELET_TMTYPE;Compression method
|
||||
!TP_WAVELET_TON;Toning
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
!ZOOMPANEL_ZOOMFITCROPSCREEN;Fit crop to screen\nShortcut: <b>Alt</b>-<b>f</b>
|
||||
|
@ -1657,6 +1657,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике <b>-</b>
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
!IPTCPANEL_COPYRIGHT;Copyright notice
|
||||
@ -2176,4 +2177,6 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике <b>-</b>
|
||||
!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. When the value is different from 0, the Strength and Gamma sliders of the Tone Mapping tool in the Exposure tab will become grayed out.
|
||||
!TP_WAVELET_TMTYPE;Compression method
|
||||
!TP_WAVELET_TON;Toning
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
!ZOOMPANEL_ZOOMFITCROPSCREEN;Fit crop to screen\nShortcut: <b>Alt</b>-<b>f</b>
|
||||
|
@ -1657,6 +1657,7 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike <b>-</b>
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
!IPTCPANEL_COPYRIGHT;Copyright notice
|
||||
@ -2176,4 +2177,6 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike <b>-</b>
|
||||
!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. When the value is different from 0, the Strength and Gamma sliders of the Tone Mapping tool in the Exposure tab will become grayed out.
|
||||
!TP_WAVELET_TMTYPE;Compression method
|
||||
!TP_WAVELET_TON;Toning
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
!ZOOMPANEL_ZOOMFITCROPSCREEN;Fit crop to screen\nShortcut: <b>Alt</b>-<b>f</b>
|
||||
|
@ -993,6 +993,7 @@ ZOOMPANEL_ZOOMOUT;Oddialiť <b>-</b>
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
@ -2037,6 +2038,8 @@ ZOOMPANEL_ZOOMOUT;Oddialiť <b>-</b>
|
||||
!TP_WBALANCE_SOLUX41;Solux 4100K
|
||||
!TP_WBALANCE_SOLUX47;Solux 4700K (vendor)
|
||||
!TP_WBALANCE_SOLUX47_NG;Solux 4700K (Nat. Gallery)
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
!TP_WBALANCE_TUNGSTEN;Tungsten
|
||||
!TP_WBALANCE_WATER1;UnderWater 1
|
||||
!TP_WBALANCE_WATER2;UnderWater 2
|
||||
|
@ -931,6 +931,7 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
@ -2029,6 +2030,8 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
|
||||
!TP_WBALANCE_SOLUX41;Solux 4100K
|
||||
!TP_WBALANCE_SOLUX47;Solux 4700K (vendor)
|
||||
!TP_WBALANCE_SOLUX47_NG;Solux 4700K (Nat. Gallery)
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
!TP_WBALANCE_TUNGSTEN;Tungsten
|
||||
!TP_WBALANCE_WATER1;UnderWater 1
|
||||
!TP_WBALANCE_WATER2;UnderWater 2
|
||||
|
@ -1918,6 +1918,7 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: <b>-</b>
|
||||
!HISTORY_MSG_425;Retinex - Log base
|
||||
!HISTORY_MSG_427;Output rendering intent
|
||||
!HISTORY_MSG_428;Monitor rendering intent
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
!IPTCPANEL_COPYRIGHT;Copyright notice
|
||||
@ -2043,3 +2044,5 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: <b>-</b>
|
||||
!TP_WAVELET_TILES_TOOLTIP;Processing the full image leads to better quality and is the recommended option, while using tiles is a fall-back solution for users with little RAM. Refer to RawPedia for memory requirements.
|
||||
!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. When the value is different from 0, the Strength and Gamma sliders of the Tone Mapping tool in the Exposure tab will become grayed out.
|
||||
!TP_WAVELET_TON;Toning
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
|
@ -930,6 +930,7 @@ TP_WBALANCE_TEMPERATURE;Isı
|
||||
!HISTORY_MSG_441;Retinex - Gain transmission
|
||||
!HISTORY_MSG_442;Retinex - Scale
|
||||
!HISTORY_MSG_443;Output Black Point Compensation
|
||||
!HISTORY_MSG_444;WB - Temp bias
|
||||
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
|
||||
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
|
||||
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
|
||||
@ -2028,6 +2029,8 @@ TP_WBALANCE_TEMPERATURE;Isı
|
||||
!TP_WBALANCE_SOLUX41;Solux 4100K
|
||||
!TP_WBALANCE_SOLUX47;Solux 4700K (vendor)
|
||||
!TP_WBALANCE_SOLUX47_NG;Solux 4700K (Nat. Gallery)
|
||||
!TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
!TP_WBALANCE_TUNGSTEN;Tungsten
|
||||
!TP_WBALANCE_WATER1;UnderWater 1
|
||||
!TP_WBALANCE_WATER2;UnderWater 2
|
||||
|
@ -675,6 +675,7 @@ HISTORY_MSG_440;CbDL - Method
|
||||
HISTORY_MSG_441;Retinex - Gain transmission
|
||||
HISTORY_MSG_442;Retinex - Scale
|
||||
HISTORY_MSG_443;Output Black Point Compensation
|
||||
HISTORY_MSG_444;WB - Temp bias
|
||||
HISTORY_NEWSNAPSHOT;Add
|
||||
HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
|
||||
HISTORY_SNAPSHOT;Snapshot
|
||||
@ -2022,6 +2023,8 @@ TP_WBALANCE_SOLUX41;Solux 4100K
|
||||
TP_WBALANCE_SOLUX47;Solux 4700K (vendor)
|
||||
TP_WBALANCE_SOLUX47_NG;Solux 4700K (Nat. Gallery)
|
||||
TP_WBALANCE_SPOTWB;Spot WB
|
||||
TP_WBALANCE_TEMPBIAS;AWB temperature bias
|
||||
TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias".
|
||||
TP_WBALANCE_TEMPERATURE;Temperature
|
||||
TP_WBALANCE_TUNGSTEN;Tungsten
|
||||
TP_WBALANCE_WATER1;UnderWater 1
|
||||
|
@ -57,10 +57,13 @@ public:
|
||||
ColorTemp (double t, double g, double e, const Glib::ustring &m);
|
||||
ColorTemp (double mulr, double mulg, double mulb, double e);
|
||||
|
||||
void update (const double rmul, const double gmul, const double bmul, const double equal)
|
||||
void update (const double rmul, const double gmul, const double bmul, const double equal, const double tempBias=0.0)
|
||||
{
|
||||
this->equal = equal;
|
||||
mul2temp (rmul, gmul, bmul, this->equal, temp, green);
|
||||
if (tempBias != 0.0 && tempBias >= -1.0 && tempBias <= 1.0) {
|
||||
temp += temp * tempBias;
|
||||
}
|
||||
}
|
||||
void useDefaults (const double equal)
|
||||
{
|
||||
|
@ -34,7 +34,7 @@ extern const Settings* settings;
|
||||
|
||||
ImProcCoordinator::ImProcCoordinator ()
|
||||
: orig_prev(nullptr), oprevi(nullptr), oprevl(nullptr), nprevl(nullptr), previmg(nullptr), workimg(nullptr),
|
||||
ncie(nullptr), imgsrc(nullptr), shmap(nullptr), lastAwbEqual(0.), ipf(¶ms, true), monitorIntent(RI_RELATIVE),
|
||||
ncie(nullptr), imgsrc(nullptr), shmap(nullptr), lastAwbEqual(0.), lastAwbTempBias(0.0), ipf(¶ms, true), monitorIntent(RI_RELATIVE),
|
||||
softProof(false), gamutCheck(false), scale(10), highDetailPreprocessComputed(false), highDetailRawComputed(false),
|
||||
allocated(false), bwAutoR(-9000.f), bwAutoG(-9000.f), bwAutoB(-9000.f), CAMMean(NAN),
|
||||
|
||||
@ -284,15 +284,17 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall)
|
||||
if (params.wb.method == "Camera") {
|
||||
currWB = imgsrc->getWB ();
|
||||
} else if (params.wb.method == "Auto") {
|
||||
if (lastAwbEqual != params.wb.equal) {
|
||||
if (lastAwbEqual != params.wb.equal || lastAwbTempBias != params.wb.tempBias) {
|
||||
double rm, gm, bm;
|
||||
imgsrc->getAutoWBMultipliers(rm, gm, bm);
|
||||
|
||||
if (rm != -1.) {
|
||||
autoWB.update(rm, gm, bm, params.wb.equal);
|
||||
autoWB.update(rm, gm, bm, params.wb.equal, params.wb.tempBias);
|
||||
lastAwbEqual = params.wb.equal;
|
||||
lastAwbTempBias = params.wb.tempBias;
|
||||
} else {
|
||||
lastAwbEqual = -1.;
|
||||
lastAwbTempBias = 0.0;
|
||||
autoWB.useDefaults(params.wb.equal);
|
||||
}
|
||||
|
||||
@ -1011,21 +1013,23 @@ void ImProcCoordinator::progress (Glib::ustring str, int pr)
|
||||
}*/
|
||||
}
|
||||
|
||||
bool ImProcCoordinator::getAutoWB (double& temp, double& green, double equal)
|
||||
bool ImProcCoordinator::getAutoWB (double& temp, double& green, double equal, double tempBias)
|
||||
{
|
||||
|
||||
if (imgsrc) {
|
||||
if (lastAwbEqual != equal) {
|
||||
if (lastAwbEqual != equal || lastAwbTempBias != tempBias) {
|
||||
// Issue 2500 MyMutex::MyLock lock(minit); // Also used in crop window
|
||||
double rm, gm, bm;
|
||||
imgsrc->getAutoWBMultipliers(rm, gm, bm);
|
||||
|
||||
if (rm != -1) {
|
||||
autoWB.update(rm, gm, bm, equal);
|
||||
autoWB.update(rm, gm, bm, equal, tempBias);
|
||||
lastAwbEqual = equal;
|
||||
lastAwbTempBias = tempBias;
|
||||
} else {
|
||||
lastAwbEqual = -1.;
|
||||
autoWB.useDefaults(equal);
|
||||
lastAwbTempBias = 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1162,15 +1166,17 @@ void ImProcCoordinator::saveInputICCReference (const Glib::ustring& fname, bool
|
||||
if (params.wb.method == "Camera") {
|
||||
currWB = imgsrc->getWB ();
|
||||
} else if (params.wb.method == "Auto") {
|
||||
if (lastAwbEqual != params.wb.equal) {
|
||||
if (lastAwbEqual != params.wb.equal || lastAwbTempBias != params.wb.tempBias) {
|
||||
double rm, gm, bm;
|
||||
imgsrc->getAutoWBMultipliers(rm, gm, bm);
|
||||
|
||||
if (rm != -1.) {
|
||||
autoWB.update(rm, gm, bm, params.wb.equal);
|
||||
autoWB.update(rm, gm, bm, params.wb.equal, params.wb.tempBias);
|
||||
lastAwbEqual = params.wb.equal;
|
||||
lastAwbTempBias = params.wb.tempBias;
|
||||
} else {
|
||||
lastAwbEqual = -1.;
|
||||
lastAwbTempBias = 0.0;
|
||||
autoWB.useDefaults(params.wb.equal);
|
||||
}
|
||||
}
|
||||
|
@ -69,6 +69,7 @@ protected:
|
||||
ColorTemp autoWB;
|
||||
|
||||
double lastAwbEqual;
|
||||
double lastAwbTempBias;
|
||||
|
||||
ImProcFunctions ipf;
|
||||
|
||||
@ -256,7 +257,7 @@ public:
|
||||
|
||||
DetailedCrop* createCrop (::EditDataProvider *editDataProvider, bool isDetailWindow);
|
||||
|
||||
bool getAutoWB (double& temp, double& green, double equal);
|
||||
bool getAutoWB (double& temp, double& green, double equal, double tempBias);
|
||||
void getCamWB (double& temp, double& green);
|
||||
void getSpotWB (int x, int y, int rectSize, double& temp, double& green);
|
||||
void getAutoCrop (double ratio, int &x, int &y, int &w, int &h);
|
||||
|
@ -470,6 +470,7 @@ enum ProcEvent {
|
||||
EvRetinexgaintransmission = 440,
|
||||
EvLskal = 441,
|
||||
EvOBPCompens = 442,
|
||||
EvWBtempBias = 443,
|
||||
NUMOFEVENTS
|
||||
|
||||
};
|
||||
|
@ -58,40 +58,40 @@ bool ToneCurveParams::HLReconstructionNecessary(LUTu &histRedRaw, LUTu &histGree
|
||||
void WBParams::init()
|
||||
{
|
||||
// Creation of the different methods and its associated temperature value
|
||||
wbEntries.push_back(new WBEntry("Camera" , WBT_CAMERA, M("TP_WBALANCE_CAMERA"), 0, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Auto" , WBT_AUTO, M("TP_WBALANCE_AUTO"), 0, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Daylight" , WBT_DAYLIGHT, M("TP_WBALANCE_DAYLIGHT"), 5300, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Cloudy" , WBT_CLOUDY, M("TP_WBALANCE_CLOUDY"), 6200, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Shade" , WBT_SHADE, M("TP_WBALANCE_SHADE"), 7600, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Water 1" , WBT_WATER, M("TP_WBALANCE_WATER1"), 35000, 0.3f, 1.1f));
|
||||
wbEntries.push_back(new WBEntry("Water 2" , WBT_WATER, M("TP_WBALANCE_WATER2"), 48000, 0.63f, 1.38f));
|
||||
wbEntries.push_back(new WBEntry("Tungsten" , WBT_TUNGSTEN, M("TP_WBALANCE_TUNGSTEN"), 2856, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F1" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO1"), 6430, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F2" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO2"), 4230, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F3" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO3"), 3450, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F4" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO4"), 2940, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F5" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO5"), 6350, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F6" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO6"), 4150, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F7" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO7"), 6500, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F8" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO8"), 5020, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F9" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO9"), 4330, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F10" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO10"), 5300, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F11" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO11"), 4000, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F12" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO12"), 3000, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("HMI Lamp" , WBT_LAMP, M("TP_WBALANCE_HMI"), 4800, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("GTI Lamp" , WBT_LAMP, M("TP_WBALANCE_GTI"), 5000, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("JudgeIII Lamp" , WBT_LAMP, M("TP_WBALANCE_JUDGEIII"), 5100, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Solux Lamp 3500K" , WBT_LAMP, M("TP_WBALANCE_SOLUX35"), 3480, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Solux Lamp 4100K" , WBT_LAMP, M("TP_WBALANCE_SOLUX41"), 3930, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Solux Lamp 4700K" , WBT_LAMP, M("TP_WBALANCE_SOLUX47"), 4700, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("NG Solux Lamp 4700K" , WBT_LAMP, M("TP_WBALANCE_SOLUX47_NG"), 4480, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("LED LSI Lumelex 2040", WBT_LED, M("TP_WBALANCE_LED_LSI"), 2970, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("LED CRS SP12 WWMR16" , WBT_LED, M("TP_WBALANCE_LED_CRS"), 3050, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Flash 5500K" , WBT_FLASH, M("TP_WBALANCE_FLASH55"), 5500, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Flash 6000K" , WBT_FLASH, M("TP_WBALANCE_FLASH60"), 6000, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Flash 6500K" , WBT_FLASH, M("TP_WBALANCE_FLASH65"), 6500, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Camera" , WBT_CAMERA, M("TP_WBALANCE_CAMERA"), 0, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Auto" , WBT_AUTO, M("TP_WBALANCE_AUTO"), 0, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Daylight" , WBT_DAYLIGHT, M("TP_WBALANCE_DAYLIGHT"), 5300, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Cloudy" , WBT_CLOUDY, M("TP_WBALANCE_CLOUDY"), 6200, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Shade" , WBT_SHADE, M("TP_WBALANCE_SHADE"), 7600, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Water 1" , WBT_WATER, M("TP_WBALANCE_WATER1"), 35000, 0.3f, 1.1f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Water 2" , WBT_WATER, M("TP_WBALANCE_WATER2"), 48000, 0.63f, 1.38f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Tungsten" , WBT_TUNGSTEN, M("TP_WBALANCE_TUNGSTEN"), 2856, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F1" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO1"), 6430, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F2" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO2"), 4230, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F3" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO3"), 3450, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F4" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO4"), 2940, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F5" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO5"), 6350, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F6" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO6"), 4150, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F7" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO7"), 6500, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F8" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO8"), 5020, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F9" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO9"), 4330, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F10" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO10"), 5300, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F11" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO11"), 4000, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Fluo F12" , WBT_FLUORESCENT, M("TP_WBALANCE_FLUO12"), 3000, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("HMI Lamp" , WBT_LAMP, M("TP_WBALANCE_HMI"), 4800, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("GTI Lamp" , WBT_LAMP, M("TP_WBALANCE_GTI"), 5000, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("JudgeIII Lamp" , WBT_LAMP, M("TP_WBALANCE_JUDGEIII"), 5100, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Solux Lamp 3500K" , WBT_LAMP, M("TP_WBALANCE_SOLUX35"), 3480, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Solux Lamp 4100K" , WBT_LAMP, M("TP_WBALANCE_SOLUX41"), 3930, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Solux Lamp 4700K" , WBT_LAMP, M("TP_WBALANCE_SOLUX47"), 4700, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("NG Solux Lamp 4700K" , WBT_LAMP, M("TP_WBALANCE_SOLUX47_NG"), 4480, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("LED LSI Lumelex 2040", WBT_LED, M("TP_WBALANCE_LED_LSI"), 2970, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("LED CRS SP12 WWMR16" , WBT_LED, M("TP_WBALANCE_LED_CRS"), 3050, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Flash 5500K" , WBT_FLASH, M("TP_WBALANCE_FLASH55"), 5500, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Flash 6000K" , WBT_FLASH, M("TP_WBALANCE_FLASH60"), 6000, 1.f, 1.f, 0.f));
|
||||
wbEntries.push_back(new WBEntry("Flash 6500K" , WBT_FLASH, M("TP_WBALANCE_FLASH65"), 6500, 1.f, 1.f, 0.f));
|
||||
// Should remain the last one
|
||||
wbEntries.push_back(new WBEntry("Custom" , WBT_CUSTOM, M("TP_WBALANCE_CUSTOM"), 0, 1.f, 1.f));
|
||||
wbEntries.push_back(new WBEntry("Custom" , WBT_CUSTOM, M("TP_WBALANCE_CUSTOM"), 0, 1.f, 1.f, 0.f));
|
||||
}
|
||||
|
||||
void WBParams::cleanup()
|
||||
@ -1059,6 +1059,7 @@ void ProcParams::setDefaults ()
|
||||
wb.temperature = 6504;
|
||||
wb.green = 1.0;
|
||||
wb.equal = 1.0;
|
||||
wb.tempBias = 0.0;
|
||||
colorappearance.enabled = false;
|
||||
colorappearance.degree = 90;
|
||||
colorappearance.autodegree = true;
|
||||
@ -1985,6 +1986,10 @@ int ProcParams::save (const Glib::ustring &fname, const Glib::ustring &fname2, b
|
||||
keyFile.set_double ("White Balance", "Equal", wb.equal);
|
||||
}
|
||||
|
||||
if (!pedited || pedited->wb.tempBias) {
|
||||
keyFile.set_double ("White Balance", "TemperatureBias", wb.tempBias);
|
||||
}
|
||||
|
||||
/*
|
||||
// save colorShift
|
||||
if (!pedited || pedited->colorShift.a) keyFile.set_double ("Color Shift", "ChannelA", colorShift.a);
|
||||
@ -4664,6 +4669,14 @@ int ProcParams::load (const Glib::ustring &fname, ParamsEdited* pedited)
|
||||
pedited->wb.equal = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (keyFile.has_key ("White Balance", "TemperatureBias")) {
|
||||
wb.tempBias = keyFile.get_double ("White Balance", "TemperatureBias");
|
||||
|
||||
if (pedited) {
|
||||
pedited->wb.tempBias = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// load colorShift
|
||||
|
@ -546,8 +546,9 @@ public:
|
||||
int temperature;
|
||||
double green;
|
||||
double equal;
|
||||
double tempBias;
|
||||
|
||||
WBEntry(const Glib::ustring &p, enum WBTypes t, const Glib::ustring &l, int temp, double green, double equal) : ppLabel(p), type(t), GUILabel(l), temperature(temp), green(green), equal(equal) {};
|
||||
WBEntry(const Glib::ustring &p, enum WBTypes t, const Glib::ustring &l, int temp, double green, double equal, double bias) : ppLabel(p), type(t), GUILabel(l), temperature(temp), green(green), equal(equal), tempBias(bias) {};
|
||||
};
|
||||
|
||||
class WBParams
|
||||
@ -559,6 +560,7 @@ public:
|
||||
int temperature;
|
||||
double green;
|
||||
double equal;
|
||||
double tempBias;
|
||||
|
||||
static void init();
|
||||
static void cleanup();
|
||||
|
@ -469,7 +469,8 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
||||
ALLNORAW, // EvcbdlMethod
|
||||
RETINEX, // EvRetinexgaintransmission
|
||||
RETINEX, // EvLskal
|
||||
OUTPUTPROFILE // EvOBPCompens
|
||||
OUTPUTPROFILE, // EvOBPCompens
|
||||
ALLNORAW // EvWBtempBias
|
||||
|
||||
};
|
||||
|
||||
|
@ -396,7 +396,7 @@ public:
|
||||
* @return a pointer to the Crop object that handles the image data trough its own pipeline */
|
||||
virtual DetailedCrop* createCrop (::EditDataProvider *editDataProvider, bool isDetailWindow) = 0;
|
||||
|
||||
virtual bool getAutoWB (double& temp, double& green, double equal) = 0;
|
||||
virtual bool getAutoWB (double& temp, double& green, double equal, double tempBias) = 0;
|
||||
virtual void getCamWB (double& temp, double& green) = 0;
|
||||
virtual void getSpotWB (int x, int y, int rectSize, double& temp, double& green) = 0;
|
||||
virtual void getAutoCrop (double ratio, int &x, int &y, int &w, int &h) = 0;
|
||||
|
@ -162,6 +162,7 @@ Thumbnail* Thumbnail::loadFromImage (const Glib::ustring& fname, int &w, int &h,
|
||||
tpp->greenAWBMul = avg_g / double(n);
|
||||
tpp->blueAWBMul = avg_b / double(n);
|
||||
tpp->wbEqual = wbEq;
|
||||
tpp->wbTempBias = 0.0;
|
||||
|
||||
cTemp.mul2temp (tpp->redAWBMul, tpp->greenAWBMul, tpp->blueAWBMul, tpp->wbEqual, tpp->autoWBTemp, tpp->autoWBGreen);
|
||||
}
|
||||
@ -735,6 +736,7 @@ Thumbnail* Thumbnail::loadFromRaw (const Glib::ustring& fname, RawMetaDataLocati
|
||||
tpp->greenAWBMul = ri->get_rgb_cam(1, 0) * reds + ri->get_rgb_cam(1, 1) * greens + ri->get_rgb_cam(1, 2) * blues;
|
||||
tpp->blueAWBMul = ri->get_rgb_cam(2, 0) * reds + ri->get_rgb_cam(2, 1) * greens + ri->get_rgb_cam(2, 2) * blues;
|
||||
tpp->wbEqual = wbEq;
|
||||
tpp->wbTempBias = 0.0;
|
||||
|
||||
ColorTemp cTemp;
|
||||
cTemp.mul2temp(tpp->redAWBMul, tpp->greenAWBMul, tpp->blueAWBMul, tpp->wbEqual, tpp->autoWBTemp, tpp->autoWBGreen);
|
||||
@ -776,7 +778,7 @@ Thumbnail::Thumbnail () :
|
||||
camProfile(nullptr), thumbImg(nullptr),
|
||||
camwbRed(1.0), camwbGreen(1.0), camwbBlue(1.0),
|
||||
redAWBMul(-1.0), greenAWBMul(-1.0), blueAWBMul(-1.0),
|
||||
autoWBTemp(2700), autoWBGreen(1.0), wbEqual(-1.0),
|
||||
autoWBTemp(2700), autoWBGreen(1.0), wbEqual(-1.0), wbTempBias(0.0),
|
||||
embProfileLength(0), embProfileData(nullptr), embProfile(nullptr),
|
||||
redMultiplier(1.0), greenMultiplier(1.0), blueMultiplier(1.0),
|
||||
defGain(1.0),
|
||||
@ -839,11 +841,13 @@ IImage8* Thumbnail::processImage (const procparams::ProcParams& params, int rhei
|
||||
BENCHFUN
|
||||
|
||||
// check if the WB's equalizer value has changed
|
||||
if (wbEqual < (params.wb.equal - 5e-4) || wbEqual > (params.wb.equal + 5e-4)) {
|
||||
if (wbEqual < (params.wb.equal - 5e-4) || wbEqual > (params.wb.equal + 5e-4) || wbTempBias < (params.wb.tempBias - 5e-4) || wbTempBias > (params.wb.tempBias + 5e-4)) {
|
||||
wbEqual = params.wb.equal;
|
||||
wbTempBias = params.wb.tempBias;
|
||||
// recompute the autoWB
|
||||
ColorTemp cTemp;
|
||||
cTemp.mul2temp (redAWBMul, greenAWBMul, blueAWBMul, wbEqual, autoWBTemp, autoWBGreen);
|
||||
autoWBTemp += autoWBTemp * wbTempBias;
|
||||
}
|
||||
|
||||
// compute WB multipliers
|
||||
@ -1272,15 +1276,17 @@ void Thumbnail::getCamWB (double& temp, double& green)
|
||||
green = currWB.getGreen ();
|
||||
}
|
||||
|
||||
void Thumbnail::getAutoWB (double& temp, double& green, double equal)
|
||||
void Thumbnail::getAutoWB (double& temp, double& green, double equal, double tempBias)
|
||||
{
|
||||
|
||||
if (equal != wbEqual) {
|
||||
if (equal != wbEqual || tempBias != wbTempBias) {
|
||||
// compute the values depending on equal
|
||||
ColorTemp cTemp;
|
||||
wbEqual = equal;
|
||||
wbTempBias = tempBias;
|
||||
// compute autoWBTemp and autoWBGreen
|
||||
cTemp.mul2temp(redAWBMul, greenAWBMul, blueAWBMul, wbEqual, autoWBTemp, autoWBGreen);
|
||||
autoWBTemp += autoWBTemp * tempBias;
|
||||
}
|
||||
|
||||
temp = autoWBTemp;
|
||||
|
@ -47,7 +47,7 @@ class Thumbnail
|
||||
double camwbGreen;
|
||||
double camwbBlue;
|
||||
double redAWBMul, greenAWBMul, blueAWBMul; // multipliers for auto WB
|
||||
double autoWBTemp, autoWBGreen, wbEqual; // autoWBTemp and autoWBGreen are updated each time autoWB is requested and if wbEqual has been modified
|
||||
double autoWBTemp, autoWBGreen, wbEqual, wbTempBias; // autoWBTemp and autoWBGreen are updated each time autoWB is requested and if wbEqual has been modified
|
||||
LUTu aeHistogram;
|
||||
int aeHistCompression;
|
||||
int embProfileLength;
|
||||
@ -83,7 +83,7 @@ public:
|
||||
static RawMetaDataLocation loadMetaDataFromRaw (const Glib::ustring& fname);
|
||||
|
||||
void getCamWB (double& temp, double& green);
|
||||
void getAutoWB (double& temp, double& green, double equal);
|
||||
void getAutoWB (double& temp, double& green, double equal, double tempBias);
|
||||
void getAutoWBMultipliers (double& rm, double& gm, double& bm);
|
||||
void getSpotWB (const procparams::ProcParams& params, int x, int y, int rect, double& temp, double& green);
|
||||
void applyAutoExp (procparams::ProcParams& pparams);
|
||||
|
@ -160,7 +160,7 @@ IImage16* processImage (ProcessingJob* pjob, int& errorCode, ProgressListener* p
|
||||
} else if (params.wb.method == "Auto") {
|
||||
double rm, gm, bm;
|
||||
imgsrc->getAutoWBMultipliers(rm, gm, bm);
|
||||
currWB.update(rm, gm, bm, params.wb.equal);
|
||||
currWB.update(rm, gm, bm, params.wb.equal, params.wb.tempBias);
|
||||
}
|
||||
|
||||
NoiseCurve noiseLCurve;
|
||||
|
@ -115,6 +115,7 @@ enum {
|
||||
ADDSET_RETI_VART,
|
||||
ADDSET_RETI_GAM,
|
||||
ADDSET_RETI_SLO,
|
||||
ADDSET_WB_TEMPBIAS,
|
||||
|
||||
ADDSET_PARAM_NUM // THIS IS USED AS A DELIMITER!!
|
||||
};
|
||||
|
@ -152,7 +152,7 @@ void BatchToolPanelCoordinator::initSession ()
|
||||
|
||||
toneCurve->setAdjusterBehavior (false, false, false, false, false, false, false, false);
|
||||
lcurve->setAdjusterBehavior (false, false, false);
|
||||
whitebalance->setAdjusterBehavior (false, false, false);
|
||||
whitebalance->setAdjusterBehavior (false, false, false, false);
|
||||
vibrance->setAdjusterBehavior (false, false);
|
||||
vignetting->setAdjusterBehavior (false, false, false, false);
|
||||
colorappearance->setAdjusterBehavior (false, false, false, false, false, false, false, false, false, false, false, false, false);
|
||||
@ -191,7 +191,7 @@ void BatchToolPanelCoordinator::initSession ()
|
||||
|
||||
toneCurve->setAdjusterBehavior (options.baBehav[ADDSET_TC_EXPCOMP], options.baBehav[ADDSET_TC_HLCOMPAMOUNT], options.baBehav[ADDSET_TC_HLCOMPTHRESH], options.baBehav[ADDSET_TC_BRIGHTNESS], options.baBehav[ADDSET_TC_BLACKLEVEL], options.baBehav[ADDSET_TC_SHCOMP], options.baBehav[ADDSET_TC_CONTRAST], options.baBehav[ADDSET_TC_SATURATION]);
|
||||
lcurve->setAdjusterBehavior (options.baBehav[ADDSET_LC_BRIGHTNESS], options.baBehav[ADDSET_LC_CONTRAST], options.baBehav[ADDSET_LC_CHROMATICITY]);
|
||||
whitebalance->setAdjusterBehavior (options.baBehav[ADDSET_WB_TEMPERATURE], options.baBehav[ADDSET_WB_GREEN], options.baBehav[ADDSET_WB_EQUAL]);
|
||||
whitebalance->setAdjusterBehavior (options.baBehav[ADDSET_WB_TEMPERATURE], options.baBehav[ADDSET_WB_GREEN], options.baBehav[ADDSET_WB_EQUAL], options.baBehav[ADDSET_WB_TEMPBIAS]);
|
||||
vibrance->setAdjusterBehavior (options.baBehav[ADDSET_VIBRANCE_PASTELS], options.baBehav[ADDSET_VIBRANCE_SATURATED]);
|
||||
vignetting->setAdjusterBehavior (options.baBehav[ADDSET_VIGN_AMOUNT], options.baBehav[ADDSET_VIGN_RADIUS], options.baBehav[ADDSET_VIGN_STRENGTH], options.baBehav[ADDSET_VIGN_CENTER]);
|
||||
colorappearance->setAdjusterBehavior (options.baBehav[ADDSET_CAT_DEGREE], options.baBehav[ADDSET_CAT_ADAPTSCENE], options.baBehav[ADDSET_CAT_ADAPTVIEWING], options.baBehav[ADDSET_CAT_BADPIX], options.baBehav[ADDSET_CAT_LIGHT], options.baBehav[ADDSET_CAT_CHROMA], options.baBehav[ADDSET_CAT_CONTRAST], options.baBehav[ADDSET_CAT_RSTPRO], options.baBehav[ADDSET_CAT_BRIGHT], options.baBehav[ADDSET_CAT_CONTRAST_Q], options.baBehav[ADDSET_CAT_CHROMA_S], options.baBehav[ADDSET_CAT_CHROMA_M], options.baBehav[ADDSET_CAT_HUE]);
|
||||
@ -325,6 +325,10 @@ void BatchToolPanelCoordinator::initSession ()
|
||||
pparams.wb.equal = 0;
|
||||
}
|
||||
|
||||
if (options.baBehav[ADDSET_WB_TEMPBIAS]) {
|
||||
pparams.wb.tempBias = 0;
|
||||
}
|
||||
|
||||
if (options.baBehav[ADDSET_VIBRANCE_PASTELS]) {
|
||||
pparams.vibrance.pastels = 0;
|
||||
}
|
||||
@ -856,11 +860,11 @@ void BatchToolPanelCoordinator::panelChanged (rtengine::ProcEvent event, const G
|
||||
}
|
||||
}
|
||||
|
||||
void BatchToolPanelCoordinator::getAutoWB (double& temp, double& green, double equal)
|
||||
void BatchToolPanelCoordinator::getAutoWB (double& temp, double& green, double equal, double tempBias)
|
||||
{
|
||||
|
||||
if (!selected.empty()) {
|
||||
selected[0]->getAutoWB (temp, green, equal);
|
||||
selected[0]->getAutoWB (temp, green, equal, tempBias);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -60,7 +60,7 @@ public:
|
||||
void profileChange (const rtengine::procparams::PartialProfile* nparams, rtengine::ProcEvent event, const Glib::ustring& descr, const ParamsEdited* paramsEdited = nullptr);
|
||||
|
||||
// wbprovider interface
|
||||
void getAutoWB (double& temp, double& green, double equal);
|
||||
void getAutoWB (double& temp, double& green, double equal, double tempBias);
|
||||
void getCamWB (double& temp, double& green);
|
||||
|
||||
// thumbnaillistener interface
|
||||
|
@ -604,6 +604,7 @@ void Options::setDefaults ()
|
||||
0, // ADDSET_RETI_VART
|
||||
0, // ADDSET_RETI_GAM
|
||||
0, // ADDSET_RETI_SLO
|
||||
0, // ADDSET_WB_TEMPBIAS
|
||||
};
|
||||
|
||||
rtSettings.darkFramesPath = "";
|
||||
|
@ -215,6 +215,7 @@ void ParamsEdited::set (bool v)
|
||||
wb.green = v;
|
||||
wb.temperature = v;
|
||||
wb.equal = v;
|
||||
wb.tempBias = v;
|
||||
//colorShift.a = v;
|
||||
//colorShift.b = v;
|
||||
//lumaDenoise.enabled = v;
|
||||
@ -708,6 +709,7 @@ void ParamsEdited::initFrom (const std::vector<rtengine::procparams::ProcParams>
|
||||
wb.green = wb.green && p.wb.green == other.wb.green;
|
||||
wb.equal = wb.equal && p.wb.equal == other.wb.equal;
|
||||
wb.temperature = wb.temperature && p.wb.temperature == other.wb.temperature;
|
||||
wb.tempBias = wb.tempBias && p.wb.tempBias == other.wb.tempBias;
|
||||
//colorShift.a = colorShift.a && p.colorShift.a == other.colorShift.a;
|
||||
//colorShift.b = colorShift.b && p.colorShift.b == other.colorShift.b;
|
||||
//lumaDenoise.enabled = lumaDenoise.enabled && p.lumaDenoise.enabled == other.lumaDenoise.enabled;
|
||||
@ -1587,6 +1589,10 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten
|
||||
toEdit.wb.equal = dontforceSet && options.baBehav[ADDSET_WB_EQUAL] ? toEdit.wb.equal + mods.wb.equal : mods.wb.equal;
|
||||
}
|
||||
|
||||
if (wb.tempBias) {
|
||||
toEdit.wb.tempBias = dontforceSet && options.baBehav[ADDSET_WB_TEMPBIAS] ? toEdit.wb.tempBias + mods.wb.tempBias : mods.wb.tempBias;
|
||||
}
|
||||
|
||||
if (wb.green) {
|
||||
toEdit.wb.green = dontforceSet && options.baBehav[ADDSET_WB_GREEN] ? toEdit.wb.green + mods.wb.green : mods.wb.green;
|
||||
}
|
||||
|
@ -234,6 +234,7 @@ public:
|
||||
bool temperature;
|
||||
bool green;
|
||||
bool equal;
|
||||
bool tempBias;
|
||||
};
|
||||
|
||||
/*class ColorShiftParamsEdited {
|
||||
|
@ -231,6 +231,7 @@ Gtk::Widget* Preferences::getBatchProcPanel ()
|
||||
appendBehavList (mi, M("TP_WBALANCE_TEMPERATURE"), ADDSET_WB_TEMPERATURE, true);
|
||||
appendBehavList (mi, M("TP_WBALANCE_GREEN"), ADDSET_WB_GREEN, true);
|
||||
appendBehavList (mi, M("TP_WBALANCE_EQBLUERED"), ADDSET_WB_EQUAL, true);
|
||||
appendBehavList (mi, M("TP_WBALANCE_TEMPBIAS"), ADDSET_WB_TEMPBIAS, true);
|
||||
|
||||
mi = behModel->append ();
|
||||
mi->set_value (behavColumns.label, M("TP_COLORAPP_LABEL"));
|
||||
|
@ -184,7 +184,7 @@ const ProcParams& Thumbnail::getProcParamsU ()
|
||||
pparams.wb.temperature = ct;
|
||||
} else if (pparams.wb.method == "Auto") {
|
||||
double ct;
|
||||
getAutoWB (ct, pparams.wb.green, pparams.wb.equal);
|
||||
getAutoWB (ct, pparams.wb.green, pparams.wb.equal, pparams.wb.tempBias);
|
||||
pparams.wb.temperature = ct;
|
||||
}
|
||||
}
|
||||
@ -669,7 +669,7 @@ const Glib::ustring& Thumbnail::getDateTimeString ()
|
||||
return dateTimeString;
|
||||
}
|
||||
|
||||
void Thumbnail::getAutoWB (double& temp, double& green, double equal)
|
||||
void Thumbnail::getAutoWB (double& temp, double& green, double equal, double tempBias)
|
||||
{
|
||||
if (cfs.redAWBMul != -1.0) {
|
||||
rtengine::ColorTemp ct(cfs.redAWBMul, cfs.greenAWBMul, cfs.blueAWBMul, equal);
|
||||
|
@ -125,7 +125,7 @@ public:
|
||||
temp = green = -1.0;
|
||||
}
|
||||
}
|
||||
void getAutoWB (double& temp, double& green, double equal);
|
||||
void getAutoWB (double& temp, double& green, double equal, double tempBias);
|
||||
void getSpotWB (int x, int y, int rect, double& temp, double& green)
|
||||
{
|
||||
if (tpp) {
|
||||
|
@ -252,10 +252,10 @@ public:
|
||||
void writeOptions ();
|
||||
|
||||
// wbprovider interface
|
||||
void getAutoWB (double& temp, double& green, double equal)
|
||||
void getAutoWB (double& temp, double& green, double equal, double tempBias)
|
||||
{
|
||||
if (ipc) {
|
||||
ipc->getAutoWB (temp, green, equal);
|
||||
ipc->getAutoWB (temp, green, equal, tempBias);
|
||||
}
|
||||
}
|
||||
void getCamWB (double& temp, double& green)
|
||||
|
@ -25,7 +25,7 @@ class WBProvider
|
||||
|
||||
public:
|
||||
virtual ~WBProvider() {}
|
||||
virtual void getAutoWB (double& temp, double& green, double equal) {}
|
||||
virtual void getAutoWB (double& temp, double& green, double equal, double tempBias) {}
|
||||
virtual void getCamWB (double& temp, double& green) {}
|
||||
virtual void spotWBRequested (int size) {}
|
||||
};
|
||||
|
@ -232,6 +232,7 @@ WhiteBalance::WhiteBalance () : FoldableToolPanel(this, "whitebalance", M("TP_WB
|
||||
|
||||
custom_green = 1.0;
|
||||
custom_equal = 1.0;
|
||||
custom_tempBias = 0.0;
|
||||
}
|
||||
|
||||
//Add the model columns to the Combo (which is a kind of view),
|
||||
@ -313,13 +314,17 @@ WhiteBalance::WhiteBalance () : FoldableToolPanel(this, "whitebalance", M("TP_WB
|
||||
temp = Gtk::manage (new Adjuster (M("TP_WBALANCE_TEMPERATURE"), MINTEMP, MAXTEMP, 5, CENTERTEMP, itempL, itempR, &wbSlider2Temp, &wbTemp2Slider));
|
||||
green = Gtk::manage (new Adjuster (M("TP_WBALANCE_GREEN"), MINGREEN, MAXGREEN, 0.001, 1.0, igreenL, igreenR));
|
||||
equal = Gtk::manage (new Adjuster (M("TP_WBALANCE_EQBLUERED"), MINEQUAL, MAXEQUAL, 0.001, 1.0, iblueredL, iblueredR));
|
||||
tempBias = Gtk::manage (new Adjuster(M("TP_WBALANCE_TEMPBIAS"), -0.5, 0.5, 0.01, 0.0));
|
||||
cache_customTemp (0);
|
||||
cache_customGreen (0);
|
||||
cache_customEqual (0);
|
||||
cache_customTempBias (0);
|
||||
equal->set_tooltip_markup (M("TP_WBALANCE_EQBLUERED_TOOLTIP"));
|
||||
tempBias->set_tooltip_markup (M("TP_WBALANCE_TEMPBIAS_TOOLTIP"));
|
||||
temp->show ();
|
||||
green->show ();
|
||||
equal->show ();
|
||||
tempBias->show ();
|
||||
|
||||
/* Gtk::HBox* boxgreen = Gtk::manage (new Gtk::HBox ());
|
||||
boxgreen->show ();
|
||||
@ -332,10 +337,12 @@ WhiteBalance::WhiteBalance () : FoldableToolPanel(this, "whitebalance", M("TP_WB
|
||||
//pack_start (*boxgreen);
|
||||
pack_start (*green);
|
||||
pack_start (*equal);
|
||||
pack_start (*tempBias);
|
||||
|
||||
temp->setAdjusterListener (this);
|
||||
green->setAdjusterListener (this);
|
||||
equal->setAdjusterListener (this);
|
||||
tempBias->setAdjusterListener (this);
|
||||
|
||||
spotbutton->signal_pressed().connect( sigc::mem_fun(*this, &WhiteBalance::spotPressed) );
|
||||
methconn = method->signal_changed().connect( sigc::mem_fun(*this, &WhiteBalance::optChanged) );
|
||||
@ -348,6 +355,7 @@ void WhiteBalance::adjusterChanged (Adjuster* a, double newval)
|
||||
int tVal = (int)temp->getValue();
|
||||
double gVal = green->getValue();
|
||||
double eVal = equal->getValue();
|
||||
double tempBiasVal = tempBias->getValue();
|
||||
Gtk::TreeModel::Row row = getActiveMethod();
|
||||
|
||||
if (row == refTreeModel->children().end()) {
|
||||
@ -358,11 +366,16 @@ void WhiteBalance::adjusterChanged (Adjuster* a, double newval)
|
||||
WBEntry* ppMethod = findWBEntry (row[methodColumns.colLabel], WBLT_GUI);
|
||||
WBEntry* wbCustom = findWBEntry ("Custom", WBLT_PP);
|
||||
|
||||
if (!ppMethod || (ppMethod->ppLabel != wbCustom->ppLabel && !(a == equal && ppMethod->type == WBT_AUTO)) ) {
|
||||
if (!ppMethod || (ppMethod->ppLabel != wbCustom->ppLabel && !((a == equal || a == tempBias) && ppMethod->type == WBT_AUTO)) ) {
|
||||
methconn.block(true);
|
||||
opt = setActiveMethod(wbCustom->GUILabel);
|
||||
cache_customWB (tVal, gVal);
|
||||
if (a != equal) {
|
||||
cache_customEqual(eVal);
|
||||
}
|
||||
if (a != tempBias) {
|
||||
cache_customTempBias(tempBiasVal);
|
||||
}
|
||||
methconn.block(false);
|
||||
}
|
||||
|
||||
@ -373,12 +386,16 @@ void WhiteBalance::adjusterChanged (Adjuster* a, double newval)
|
||||
cache_customGreen (gVal);
|
||||
} else if (a == equal) {
|
||||
cache_customEqual (eVal);
|
||||
} else if (a == tempBias) {
|
||||
cache_customTempBias (tempBiasVal);
|
||||
}
|
||||
|
||||
if (a == equal || a == tempBias) {
|
||||
// Recomputing AutoWB if it's the current method
|
||||
if (wbp && ppMethod->type == WBT_AUTO) {
|
||||
double ctemp = -1.0;
|
||||
double cgreen = -1.0;
|
||||
wbp->getAutoWB (ctemp, cgreen, eVal);
|
||||
wbp->getAutoWB (ctemp, cgreen, eVal, tempBiasVal);
|
||||
|
||||
if (ctemp != -1.0) {
|
||||
// Set the automatics temperature value only if in SET mode
|
||||
@ -401,6 +418,8 @@ void WhiteBalance::adjusterChanged (Adjuster* a, double newval)
|
||||
listener->panelChanged (EvWBGreen, Glib::ustring::format (std::setw(4), std::fixed, std::setprecision(3), a->getValue()));
|
||||
} else if (a == equal) {
|
||||
listener->panelChanged (EvWBequal, Glib::ustring::format (std::setw(4), std::fixed, std::setprecision(3), a->getValue()));
|
||||
} else if (a == tempBias) {
|
||||
listener->panelChanged (EvWBtempBias, Glib::ustring::format (std::setw(4), std::fixed, std::setprecision(3), a->getValue()));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -442,11 +461,13 @@ void WhiteBalance::optChanged ()
|
||||
temp->setValue (temp->getAddMode() ? 0.0 : (int)ctemp);
|
||||
green->setValue (green->getAddMode() ? 0.0 : cgreen);
|
||||
equal->setValue (equal->getAddMode() ? 0.0 : 1.0);
|
||||
tempBias->setValue (tempBias->getAddMode() ? 0.0 : 0.0);
|
||||
|
||||
if (batchMode) {
|
||||
temp->setEditedState (UnEdited);
|
||||
green->setEditedState (UnEdited);
|
||||
equal->setEditedState (UnEdited);
|
||||
tempBias->setEditedState (UnEdited);
|
||||
}
|
||||
}
|
||||
|
||||
@ -460,9 +481,9 @@ void WhiteBalance::optChanged ()
|
||||
// equal remain as is
|
||||
}
|
||||
|
||||
if (!batchMode || equal->getEditedState()) {
|
||||
if (!batchMode || equal->getEditedState() || tempBias->getEditedState()) {
|
||||
double ctemp, cgreen;
|
||||
wbp->getAutoWB (ctemp, cgreen, equal->getValue());
|
||||
wbp->getAutoWB (ctemp, cgreen, equal->getValue(), tempBias->getValue());
|
||||
|
||||
if (ctemp != -1.0) {
|
||||
temp->setValue (temp->getAddMode() ? 0.0 : (int)ctemp);
|
||||
@ -478,16 +499,19 @@ void WhiteBalance::optChanged ()
|
||||
temp->setValue (temp->getAddMode() ? 0.0 : custom_temp);
|
||||
green->setValue (green->getAddMode() ? 0.0 : custom_green);
|
||||
equal->setValue (equal->getAddMode() ? 0.0 : custom_equal);
|
||||
tempBias->setValue (tempBias->getAddMode() ? 0.0 : custom_tempBias);
|
||||
} else {
|
||||
cache_customTemp (temp->getValue());
|
||||
cache_customGreen (green->getValue());
|
||||
cache_customEqual (equal->getValue());
|
||||
cache_customTempBias (tempBias->getValue());
|
||||
}
|
||||
|
||||
if (batchMode) {
|
||||
temp->setEditedState (Edited);
|
||||
green->setEditedState (Edited);
|
||||
equal->setEditedState (Edited);
|
||||
tempBias->setEditedState (Edited);
|
||||
}
|
||||
|
||||
break;
|
||||
@ -506,11 +530,13 @@ void WhiteBalance::optChanged ()
|
||||
temp->setValue ( temp->getAddMode() ? 0.0 : (double)(currMethod->temperature));
|
||||
green->setValue (green->getAddMode() ? 0.0 : (double)(currMethod->green));
|
||||
equal->setValue (equal->getAddMode() ? 0.0 : (double)(currMethod->equal));
|
||||
tempBias->setValue (tempBias->getAddMode() ? 0.0 : (double)(currMethod->tempBias));
|
||||
|
||||
if (batchMode) {
|
||||
temp->setEditedState (Edited);
|
||||
green->setEditedState (Edited);
|
||||
equal->setEditedState (Edited);
|
||||
tempBias->setEditedState (Edited);
|
||||
}
|
||||
|
||||
break;
|
||||
@ -546,12 +572,14 @@ void WhiteBalance::read (const ProcParams* pp, const ParamsEdited* pedited)
|
||||
|
||||
methconn.block (true);
|
||||
equal->setValue (pp->wb.equal);
|
||||
tempBias->setValue (pp->wb.tempBias);
|
||||
|
||||
if (pedited) {
|
||||
// By default, temperature and green are said "UnEdited", but it may change later
|
||||
temp->setEditedState (UnEdited);
|
||||
green->setEditedState (UnEdited);
|
||||
equal->setEditedState (pedited->wb.equal ? Edited : UnEdited);
|
||||
tempBias->setEditedState (pedited->wb.tempBias ? Edited : UnEdited);
|
||||
}
|
||||
|
||||
if (pedited && !pedited->wb.method) {
|
||||
@ -571,9 +599,11 @@ void WhiteBalance::read (const ProcParams* pp, const ParamsEdited* pedited)
|
||||
temp->setValue (temp->getAddMode() ? 0.0 : pp->wb.temperature);
|
||||
green->setValue (green->getAddMode() ? 0.0 : pp->wb.green);
|
||||
equal->setValue (equal->getAddMode() ? 0.0 : pp->wb.equal);
|
||||
tempBias->setValue (tempBias->getAddMode() ? 0.0 : pp->wb.tempBias);
|
||||
cache_customTemp (pp->wb.temperature);
|
||||
cache_customGreen (pp->wb.green);
|
||||
cache_customEqual (pp->wb.equal);
|
||||
cache_customTempBias (pp->wb.tempBias);
|
||||
|
||||
if (pedited) {
|
||||
// The user may have changed the temperature and green value
|
||||
@ -595,10 +625,12 @@ void WhiteBalance::read (const ProcParams* pp, const ParamsEdited* pedited)
|
||||
// Set the camera's green value, or 0.0 if in ADD mode
|
||||
green->setValue (green->getAddMode() ? 0.0 : cgreen);
|
||||
equal->setValue (equal->getAddMode() ? 0.0 : 1.);
|
||||
tempBias->setValue (tempBias->getAddMode() ? 0.0 : 0.0);
|
||||
} else {
|
||||
temp->setValue (temp->getAddMode() ? 0.0 : pp->wb.temperature);
|
||||
green->setValue (green->getAddMode() ? 0.0 : pp->wb.green);
|
||||
equal->setValue (equal->getAddMode() ? 0.0 : pp->wb.equal);
|
||||
tempBias->setValue (equal->getAddMode() ? 0.0 : pp->wb.tempBias);
|
||||
}
|
||||
}
|
||||
|
||||
@ -607,6 +639,7 @@ void WhiteBalance::read (const ProcParams* pp, const ParamsEdited* pedited)
|
||||
case WBT_AUTO:
|
||||
// the equalizer's value is restored for the AutoWB
|
||||
equal->setValue (equal->getAddMode() ? 0.0 : pp->wb.equal);
|
||||
tempBias->setValue (tempBias->getAddMode() ? 0.0 : pp->wb.tempBias);
|
||||
|
||||
// set default values first if in ADD mode, otherwise keep the current ones
|
||||
if (temp->getAddMode() ) {
|
||||
@ -621,7 +654,7 @@ void WhiteBalance::read (const ProcParams* pp, const ParamsEdited* pedited)
|
||||
if (wbp) {
|
||||
double ctemp = -1.0;
|
||||
double cgreen = -1.0;
|
||||
wbp->getAutoWB (ctemp, cgreen, pp->wb.equal);
|
||||
wbp->getAutoWB (ctemp, cgreen, pp->wb.equal, pp->wb.tempBias);
|
||||
|
||||
if (ctemp != -1.0) {
|
||||
// Set the automatics temperature if in SET mode
|
||||
@ -663,11 +696,13 @@ void WhiteBalance::read (const ProcParams* pp, const ParamsEdited* pedited)
|
||||
// Set the stored temperature, or 0.0 if in ADD mode
|
||||
green->setValue(green->getAddMode() ? 0.0 : pp->wb.green);
|
||||
equal->setValue(equal->getAddMode() ? 0.0 : pp->wb.equal);
|
||||
tempBias->setValue(equal->getAddMode() ? 0.0 : pp->wb.tempBias);
|
||||
|
||||
// The user may have changed the green value even for predefined WB values
|
||||
if (pedited) {
|
||||
green->setEditedState (pedited->wb.green ? Edited : UnEdited);
|
||||
equal->setEditedState (pedited->wb.equal ? Edited : UnEdited);
|
||||
tempBias->setEditedState (pedited->wb.tempBias ? Edited : UnEdited);
|
||||
}
|
||||
|
||||
//cache_customGreen (pp->wb.green);
|
||||
@ -688,6 +723,7 @@ void WhiteBalance::write (ProcParams* pp, ParamsEdited* pedited)
|
||||
pedited->wb.temperature = temp->getEditedState ();
|
||||
pedited->wb.green = green->getEditedState ();
|
||||
pedited->wb.equal = equal->getEditedState ();
|
||||
pedited->wb.tempBias = tempBias->getEditedState ();
|
||||
pedited->wb.method = row[methodColumns.colLabel] != M("GENERAL_UNCHANGED");
|
||||
}
|
||||
|
||||
@ -700,11 +736,14 @@ void WhiteBalance::write (ProcParams* pp, ParamsEdited* pedited)
|
||||
pp->wb.temperature = temp->getIntValue ();
|
||||
pp->wb.green = green->getValue ();
|
||||
pp->wb.equal = equal->getValue ();
|
||||
pp->wb.tempBias = tempBias->getValue ();
|
||||
}
|
||||
|
||||
void WhiteBalance::setDefaults (const ProcParams* defParams, const ParamsEdited* pedited)
|
||||
{
|
||||
|
||||
equal->setDefault (defParams->wb.equal);
|
||||
tempBias->setDefault (defParams->wb.tempBias);
|
||||
|
||||
if (wbp && defParams->wb.method == "Camera") {
|
||||
double ctemp;
|
||||
@ -721,7 +760,7 @@ void WhiteBalance::setDefaults (const ProcParams* defParams, const ParamsEdited*
|
||||
// but wbp is not ready to provide!
|
||||
double ctemp;
|
||||
double cgreen;
|
||||
wbp->getAutoWB (ctemp, cgreen, defParams->wb.equal);
|
||||
wbp->getAutoWB (ctemp, cgreen, defParams->wb.equal, defParams->wb.tempBias);
|
||||
|
||||
if (ctemp != -1.0) {
|
||||
temp->setDefault (temp->getAddMode() ? 0 : (int)ctemp);
|
||||
@ -740,10 +779,12 @@ void WhiteBalance::setDefaults (const ProcParams* defParams, const ParamsEdited*
|
||||
temp->setDefaultEditedState (pedited->wb.temperature ? Edited : UnEdited);
|
||||
green->setDefaultEditedState (pedited->wb.green ? Edited : UnEdited);
|
||||
equal->setDefaultEditedState (pedited->wb.equal ? Edited : UnEdited);
|
||||
tempBias->setDefaultEditedState (pedited->wb.tempBias ? Edited : UnEdited);
|
||||
} else {
|
||||
temp->setDefaultEditedState (Irrelevant);
|
||||
green->setDefaultEditedState (Irrelevant);
|
||||
equal->setDefaultEditedState (Irrelevant);
|
||||
tempBias->setDefaultEditedState (Irrelevant);
|
||||
}
|
||||
}
|
||||
|
||||
@ -754,6 +795,7 @@ void WhiteBalance::setBatchMode (bool batchMode)
|
||||
temp->showEditedCB ();
|
||||
green->showEditedCB ();
|
||||
equal->showEditedCB ();
|
||||
tempBias->showEditedCB ();
|
||||
Gtk::TreeModel::Row row = *(refTreeModel->append());
|
||||
row[methodColumns.colId] = WBParams::wbEntries.size();
|
||||
row[methodColumns.colLabel] = M("GENERAL_UNCHANGED");
|
||||
@ -776,6 +818,7 @@ void WhiteBalance::setWB (int vtemp, double vgreen)
|
||||
opt = setActiveMethod(wbValues->GUILabel);
|
||||
cache_customWB (vtemp, vgreen); // sequence in which this call is made is important; must be before "method->set_active (2);"
|
||||
cache_customEqual(equal->getValue());
|
||||
cache_customTempBias(tempBias->getValue());
|
||||
temp->setEditedState (Edited);
|
||||
green->setEditedState (Edited);
|
||||
methconn.block(false);
|
||||
@ -785,12 +828,13 @@ void WhiteBalance::setWB (int vtemp, double vgreen)
|
||||
}
|
||||
}
|
||||
|
||||
void WhiteBalance::setAdjusterBehavior (bool tempadd, bool greenadd, bool equaladd)
|
||||
void WhiteBalance::setAdjusterBehavior (bool tempadd, bool greenadd, bool equaladd, bool tempbiasadd)
|
||||
{
|
||||
|
||||
temp->setAddMode(tempadd);
|
||||
green->setAddMode(greenadd);
|
||||
equal->setAddMode(equaladd);
|
||||
tempBias->setAddMode(tempbiasadd);
|
||||
}
|
||||
|
||||
void WhiteBalance::trimValues (rtengine::procparams::ProcParams* pp)
|
||||
@ -799,6 +843,7 @@ void WhiteBalance::trimValues (rtengine::procparams::ProcParams* pp)
|
||||
temp->trimValue(pp->wb.temperature);
|
||||
green->trimValue(pp->wb.green);
|
||||
equal->trimValue(pp->wb.equal);
|
||||
tempBias->trimValue(pp->wb.tempBias);
|
||||
}
|
||||
|
||||
inline void WhiteBalance::cache_customTemp(int temp)
|
||||
@ -815,6 +860,11 @@ void WhiteBalance::cache_customEqual(double equal)
|
||||
custom_equal = equal;
|
||||
}
|
||||
|
||||
void WhiteBalance::cache_customTempBias(double tempBias)
|
||||
{
|
||||
custom_tempBias = tempBias;
|
||||
}
|
||||
|
||||
void WhiteBalance::cache_customWB(int temp, double green)
|
||||
{
|
||||
cache_customTemp (temp);
|
||||
|
@ -65,6 +65,7 @@ protected:
|
||||
Adjuster* temp;
|
||||
Adjuster* green;
|
||||
Adjuster* equal;
|
||||
Adjuster* tempBias;
|
||||
|
||||
Gtk::Button* spotbutton;
|
||||
int opt;
|
||||
@ -76,10 +77,12 @@ protected:
|
||||
int custom_temp;
|
||||
double custom_green;
|
||||
double custom_equal;
|
||||
double custom_tempBias;
|
||||
void cache_customWB (int temp, double green); //cache custom WB setting to allow its recall
|
||||
void cache_customTemp (int temp); //cache Temperature only to allow its recall
|
||||
void cache_customGreen (double green); //cache Green only to allow its recall
|
||||
void cache_customEqual (double equal); //cache Equal only to allow its recall
|
||||
void cache_customTempBias (double tempBias); //cache TempBias only to allow its recall
|
||||
|
||||
int setActiveMethod (Glib::ustring label);
|
||||
int _setActiveMethod (Glib::ustring &label, Gtk::TreeModel::Children &children);
|
||||
@ -115,7 +118,7 @@ public:
|
||||
}
|
||||
void setWB (int temp, double green);
|
||||
|
||||
void setAdjusterBehavior (bool tempadd, bool greenadd, bool equaladd);
|
||||
void setAdjusterBehavior (bool tempadd, bool greenadd, bool equaladd, bool tempbiasadd);
|
||||
void trimValues (rtengine::procparams::ProcParams* pp);
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user