Custom TRC Tone response curve and Illuminant - change Histogram - RGB and Lab values - for output (screen, TIF, JPG..) (#5949)
* Change TRC in the process * Improve GUI slope * Add tooltip output profile * Various change to enable and tooltip * Chnage rtthumbnail * Small change tooltip trc * Another small change tooltip * Improve GUI - change default TRC BT709 - change tooltip * Other GUI improvment * Small changes to BT709 values * Various change to TRC - add illuminant working profile * Change labels tooltip TRC illuminant * Display wp in console if wp provided * Change tooltip * Change max wlope * Init trc + illum + primaries * Add black point compensation * Change location abstract * Fixed bug with rtthumbnail... * Added tooltip * Logscale for wslope * Change tooltip abstract * Change labels tooltips abstract profile * Added 6 sliders custom primaries X and Y * Change GUI custom primaries * Use custom primaries abstract profiles * Tooltip with primaries red green blue * Fixed warning gtk * Change one tooltip * Change range custom primaries * Change GUI default Primaries * Change one tooltip * Speedup for trc * Rendering intent for abstract profile * Hide intent abstract * Preserve neutral tones * Chnage settings preserves neutral tones * Improve GUI * Improvment to preserv * Clean code - speedup TRC when illuminant and primaries default * Change label * Change bad default value Blux * Add forgoten illuminant when selecting primaries * clean code * Change labels * improve workingtrc for LA * Change default primaries when select default * Added others working profile to primaries * Change labels and GUI * Change tooltip * CIExy diagram displaying the primaries (interactive) and the white point (#6207) * Ciexy diagram * Change to Ciexy graph * Change graph and defaut coordonates * Various changes to graph - params * Disable setListener(ToolPanelListener) * Add some graduation to graph * Clean comment code graph * Change radius 0 * Enable sensitive graph Ciexy * update Ciexy graph with primaries * Remove reset button graph * Change labels and behavior * First step third spot green * Second step 3rd spot green * First try 3 primaries graph Ciexy * Fixed bad behavior in lab grid * Fixed another bad behavior graph * Clean and comment code * Change default gamma * More accurate graph Cie xy * Added white point to Ciexy graph * Added tooltip Cie xy diagram * Improvment when illuminant change * Refine diagram CIE xy - added WP 2000K * White point D120 + tooltip * Change label * Change labels * Change tooltips * Improve diagram CIE xy with parabolic * Other parabolic to improve Cie xy diagram * Small change GUI * Added Label CIE xy - change labels * Change behavior when none - change labels * Improve gUI and trys to fix LGTM alerts * CIE xy change set sensitive * Improve tooltip primaries sliders * Adapt tooltip to new labels * Fixed crash and some bad behavior * First fix bad behavior with some primaries * Second fixed bad behavior primaries * Third fixed bad behavior primaries * Change white point BestRGB * Change order rgb in history msg Ciexy * Change tooltip * Change tooltip * Improve GUI primaries * Illuminant 1500K - display in console matrix XYZ-RGB * Improve GUI illuminant * Change a tooltip * Somme changes to GUI and verbose * Test code for wprim in read * clean code for wprims * further cleanups, not tested * Some cleanups and bugfixes, #5949 * Simplify `std::unique_ptr<>` dereferencing Also some minor cleanups. * Some changes suggested by Floessie * Others change suggested * Others changes suggested by Floessie * Forgotten change in procparams.cc * Added black and white for use with the primaries channel mixer * Small change behavior GUI - illuminant * Change pragma omp in iplab2rgb * Add enums and clean up * Remove unused code icmpanel.cc * Fix LGTM alert, #5949 Co-authored-by: Ingo Weyrich <heckflosse67@gmx.de> Co-authored-by: Flössie <floessie.mail@gmail.com>
This commit is contained in:
@@ -646,7 +646,7 @@ void ColorToning::read (const ProcParams* pp, const ParamsEdited* pedited)
|
||||
|
||||
lastLumamode = pp->colorToning.lumamode;
|
||||
|
||||
labgrid->setParams(pp->colorToning.labgridALow / ColorToningParams::LABGRID_CORR_MAX, pp->colorToning.labgridBLow / ColorToningParams::LABGRID_CORR_MAX, pp->colorToning.labgridAHigh / ColorToningParams::LABGRID_CORR_MAX, pp->colorToning.labgridBHigh / ColorToningParams::LABGRID_CORR_MAX, false);
|
||||
labgrid->setParams(pp->colorToning.labgridALow / ColorToningParams::LABGRID_CORR_MAX, pp->colorToning.labgridBLow / ColorToningParams::LABGRID_CORR_MAX, pp->colorToning.labgridAHigh / ColorToningParams::LABGRID_CORR_MAX, pp->colorToning.labgridBHigh / ColorToningParams::LABGRID_CORR_MAX, 0, 0, 0, 0,false);
|
||||
|
||||
if (pedited && !pedited->colorToning.method) {
|
||||
method->set_active (7);
|
||||
@@ -715,8 +715,10 @@ void ColorToning::write (ProcParams* pp, ParamsEdited* pedited)
|
||||
pp->colorToning.satProtectionThreshold = satProtectionThreshold->getIntValue();
|
||||
pp->colorToning.saturatedOpacity = saturatedOpacity->getIntValue();
|
||||
pp->colorToning.strength = strength->getIntValue();
|
||||
|
||||
labgrid->getParams(pp->colorToning.labgridALow, pp->colorToning.labgridBLow, pp->colorToning.labgridAHigh, pp->colorToning.labgridBHigh);
|
||||
double zerox = 0.;
|
||||
double zeroy = 0.;
|
||||
|
||||
labgrid->getParams(pp->colorToning.labgridALow, pp->colorToning.labgridBLow, pp->colorToning.labgridAHigh, pp->colorToning.labgridBHigh, zerox, zeroy, zerox, zeroy);
|
||||
pp->colorToning.labgridALow *= ColorToningParams::LABGRID_CORR_MAX;
|
||||
pp->colorToning.labgridAHigh *= ColorToningParams::LABGRID_CORR_MAX;
|
||||
pp->colorToning.labgridBLow *= ColorToningParams::LABGRID_CORR_MAX;
|
||||
@@ -832,7 +834,7 @@ void ColorToning::setDefaults (const ProcParams* defParams, const ParamsEdited*
|
||||
hlColSat->setDefault<int> (defParams->colorToning.hlColSat);
|
||||
shadowsColSat->setDefault<int> (defParams->colorToning.shadowsColSat);
|
||||
strength->setDefault (defParams->colorToning.strength);
|
||||
labgrid->setDefault(defParams->colorToning.labgridALow / ColorToningParams::LABGRID_CORR_MAX, defParams->colorToning.labgridBLow / ColorToningParams::LABGRID_CORR_MAX, defParams->colorToning.labgridAHigh / ColorToningParams::LABGRID_CORR_MAX, defParams->colorToning.labgridBHigh / ColorToningParams::LABGRID_CORR_MAX);
|
||||
labgrid->setDefault(defParams->colorToning.labgridALow / ColorToningParams::LABGRID_CORR_MAX, defParams->colorToning.labgridBLow / ColorToningParams::LABGRID_CORR_MAX, defParams->colorToning.labgridAHigh / ColorToningParams::LABGRID_CORR_MAX, defParams->colorToning.labgridBHigh / ColorToningParams::LABGRID_CORR_MAX, 0, 0, 0, 0);
|
||||
|
||||
|
||||
if (pedited) {
|
||||
@@ -1430,7 +1432,9 @@ void ColorToning::labRegionGet(int idx)
|
||||
|
||||
auto &r = labRegionData[idx];
|
||||
double la, lb;
|
||||
labRegionAB->getParams(la, lb, r.a, r.b);
|
||||
double zerox = 0.;
|
||||
double zeroy = 0.;
|
||||
labRegionAB->getParams(la, lb, r.a, r.b, zerox, zeroy, zerox, zeroy);
|
||||
r.saturation = labRegionSaturation->getValue();
|
||||
r.slope = labRegionSlope->getValue();
|
||||
r.offset = labRegionOffset->getValue();
|
||||
@@ -1566,9 +1570,9 @@ void ColorToning::labRegionShow(int idx, bool list_only)
|
||||
disableListener();
|
||||
}
|
||||
rtengine::procparams::ColorToningParams::LabCorrectionRegion dflt;
|
||||
auto &r = labRegionData[idx];
|
||||
auto &r = labRegionData[idx];
|
||||
if (!list_only) {
|
||||
labRegionAB->setParams(0, 0, r.a, r.b, false);
|
||||
labRegionAB->setParams(0, 0, r.a, r.b,0, 0, 0, 0, false);
|
||||
labRegionSaturation->setValue(r.saturation);
|
||||
labRegionSlope->setValue(r.slope);
|
||||
labRegionOffset->setValue(r.offset);
|
||||
|
Reference in New Issue
Block a user