From 6d824842afb2ba7d7308f5e519f914929459ee46 Mon Sep 17 00:00:00 2001 From: Ingo Weyrich Date: Fri, 26 Jun 2020 22:25:58 +0200 Subject: [PATCH] Further cleanups to locallab periphery --- rtengine/dcrop.cc | 59 +--------------------------- rtengine/improccoordinator.cc | 73 ++--------------------------------- rtengine/simpleprocess.cc | 20 ---------- 3 files changed, 5 insertions(+), 147 deletions(-) diff --git a/rtengine/dcrop.cc b/rtengine/dcrop.cc index 8b8e5dba2..ddc360003 100644 --- a/rtengine/dcrop.cc +++ b/rtengine/dcrop.cc @@ -1100,65 +1100,8 @@ void Crop::update(int todo) } if (sp + 1u < params.locallab.spots.size()) { - // do not do this for last spot as it is not needed anymore + // do not copy for last spot as it is not needed anymore lastorigCrop->CopyFrom(labnCrop); - lllocalcurve2.clear(); - lclocalcurve2.clear(); - cllocalcurve2.clear(); - lightCurveloc2.clear(); - rgblocalcurve2.clear(); - cclocalcurve2.clear(); - exlocalcurve2.clear(); - lmasklocalcurve2.clear(); - lmaskexplocalcurve2.clear(); - lmaskSHlocalcurve2.clear(); - lmaskviblocalcurve2.clear(); - lmasktmlocalcurve2.clear(); - lmaskretilocalcurve2.clear(); - lmaskcblocalcurve2.clear(); - lmaskbllocalcurve2.clear(); - hltonecurveloc2.clear(); - shtonecurveloc2.clear(); - tonecurveloc2.clear(); - locRETgainCurve.Reset(); - locRETtransCurve.Reset(); - loclhCurve.Reset(); - lochhCurve.Reset(); - locccmasCurve.Reset(); - locllmasCurve.Reset(); - lochhmasCurve.Reset(); - lochhhmasCurve.Reset(); - locllmasexpCurve.Reset(); - locccmasexpCurve.Reset(); - lochhmasexpCurve.Reset(); - locllmasSHCurve.Reset(); - locccmasSHCurve.Reset(); - lochhmasSHCurve.Reset(); - locllmasvibCurve.Reset(); - locccmasvibCurve.Reset(); - lochhmasvibCurve.Reset(); - locllmascbCurve.Reset(); - locccmascbCurve.Reset(); - lochhmascbCurve.Reset(); - locllmasretiCurve.Reset(); - locccmasretiCurve.Reset(); - lochhmasretiCurve.Reset(); - locllmastmCurve.Reset(); - locccmastmCurve.Reset(); - lochhmastmCurve.Reset(); - locllmasblCurve.Reset(); - locccmasblCurve.Reset(); - lochhmasblCurve.Reset(); - locllmaslcCurve.Reset(); - locccmaslcCurve.Reset(); - lochhmaslcCurve.Reset(); - locwavCurve.Reset(); - loclevwavCurve.Reset(); - locconwavCurve.Reset(); - locconwavCurve.Reset(); - locwavCurveden.Reset(); - loclmasCurveblwav.Reset(); - loclmasCurvecolwav.Reset(); } if (skip <= 2) { diff --git a/rtengine/improccoordinator.cc b/rtengine/improccoordinator.cc index 2221a53f3..52cf79203 100644 --- a/rtengine/improccoordinator.cc +++ b/rtengine/improccoordinator.cc @@ -1214,7 +1214,10 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) huerblu, chromarblu, lumarblu, huer, chromar, lumar, sobeler, lastsav, false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax); - lastorigimp->CopyFrom(nprevl); + if (sp + 1u < params->locallab.spots.size()) { + // do not copy for last spot as it is not needed anymore + lastorigimp->CopyFrom(nprevl); + } // Save Locallab Retinex min/max for current spot LocallabListener::locallabRetiMinMax retiMinMax; @@ -1241,74 +1244,6 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) locallref.at(sp).lumar = lumar; locallref.at(sp).huer = huer; } - - /* - //very bad idea : it's the story of the cat biting its tail - // brings big bugs.. - //restore ref values - huerefs[sp] = huer; - chromarefs[sp] = chromar; - lumarefs[sp] = lumar ; - sobelrefs[sp] = sobeler; - */ - lllocalcurve.clear(); - lclocalcurve.clear(); - cllocalcurve.clear(); - lightCurveloc.clear(); - cclocalcurve.clear(); - rgblocalcurve.clear(); - exlocalcurve.clear(); - lmasklocalcurve.clear(); - lmaskexplocalcurve.clear(); - lmaskSHlocalcurve.clear(); - lmaskviblocalcurve.clear(); - lmasktmlocalcurve.clear(); - lmaskretilocalcurve.clear(); - lmaskcblocalcurve.clear(); - lmaskbllocalcurve.clear(); - lmasklclocalcurve.clear(); - hltonecurveloc.clear(); - shtonecurveloc.clear(); - tonecurveloc.clear(); - locRETgainCurve.Reset(); - locRETtransCurve.Reset(); - loclhCurve.Reset(); - lochhCurve.Reset(); - locccmasCurve.Reset(); - locllmasCurve.Reset(); - lochhmasCurve.Reset(); - lochhhmasCurve.Reset(); - locllmasexpCurve.Reset(); - locccmasexpCurve.Reset(); - lochhmasexpCurve.Reset(); - locllmasSHCurve.Reset(); - locccmasSHCurve.Reset(); - lochhmasSHCurve.Reset(); - locllmasvibCurve.Reset(); - locccmasvibCurve.Reset(); - lochhmasvibCurve.Reset(); - locllmascbCurve.Reset(); - locccmascbCurve.Reset(); - lochhmascbCurve.Reset(); - locllmasretiCurve.Reset(); - locccmasretiCurve.Reset(); - lochhmasretiCurve.Reset(); - locllmastmCurve.Reset(); - locccmastmCurve.Reset(); - lochhmastmCurve.Reset(); - locllmasblCurve.Reset(); - locccmasblCurve.Reset(); - lochhmasblCurve.Reset(); - locllmaslcCurve.Reset(); - locccmaslcCurve.Reset(); - lochhmaslcCurve.Reset(); - locwavCurve.Reset(); - loclevwavCurve.Reset(); - locconwavCurve.Reset(); - locwavCurveden.Reset(); - locwavCurve.Reset(); - loclmasCurveblwav.Reset(); - loclmasCurvecolwav.Reset(); } // Transmit Locallab reference values and Locallab Retinex min/max to LocallabListener diff --git a/rtengine/simpleprocess.cc b/rtengine/simpleprocess.cc index 4d31559b3..e28efb8c7 100644 --- a/rtengine/simpleprocess.cc +++ b/rtengine/simpleprocess.cc @@ -1296,26 +1296,6 @@ private: } else { ipf.calc_ref(sp, labView, labView, 0, 0, fw, fh, 1, huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, avge, locwavCurveden, locwavdenutili); } - - // Clear local curves - lllocalcurve.clear(); - lclocalcurve.clear(); - cllocalcurve.clear(); - cclocalcurve.clear(); - rgblocalcurve.clear(); - exlocalcurve.clear(); - hltonecurveloc.clear(); - lmasklocalcurve.clear(); - lmaskexplocalcurve.clear(); - lmaskSHlocalcurve.clear(); - lmaskviblocalcurve.clear(); - lmasktmlocalcurve.clear(); - lmaskretilocalcurve.clear(); - lmaskcblocalcurve.clear(); - lmaskbllocalcurve.clear(); - shtonecurveloc.clear(); - tonecurveloc.clear(); - lightCurveloc.clear(); } t2.set();