diff --git a/rtengine/iplocallab.cc b/rtengine/iplocallab.cc index 19c597ab7..738b6eff0 100644 --- a/rtengine/iplocallab.cc +++ b/rtengine/iplocallab.cc @@ -9592,7 +9592,6 @@ void ImProcFunctions::Lab_Local(int call, int maxspot, int sp, LUTf & huerefs, L gaussianBlur(original->L, tmp2->L, GW, GH, radius); gaussianBlur(original->a, tmp2->a, GW, GH, radius); gaussianBlur(original->b, tmp2->b, GW, GH, radius); - } } @@ -9602,12 +9601,14 @@ void ImProcFunctions::Lab_Local(int call, int maxspot, int sp, LUTf & huerefs, L #ifdef _OPENMP #pragma omp parallel #endif + { gaussianBlur(bufgb->L, tmp1->L, bfw, bfh, radius); gaussianBlur(bufgb->a, tmp1->a, bfw, bfh, radius); gaussianBlur(bufgb->b, tmp1->b, bfw, bfh, radius); } + } else { tmp1 = new LabImage(transformed->W, transformed->H);; @@ -9623,9 +9624,13 @@ void ImProcFunctions::Lab_Local(int call, int maxspot, int sp, LUTf & huerefs, L } if (lp.stren > 0.1f) { - float mean = 0.f;//0 best result - float variance = lp.stren ; //(double) SQR(lp.stren)/sk; - addGaNoise(tmp1, tmp1, mean, variance, sk) ; + if (lp.blurmet <= 1) { + + float mean = 0.f;//0 best result + float variance = lp.stren ; //(double) SQR(lp.stren)/sk; + addGaNoise(tmp1, tmp1, mean, variance, sk) ; + } + } if (lp.blurmet != 1) { //blur and noise (center) diff --git a/rtgui/locallab.cc b/rtgui/locallab.cc index ce79823b5..34088dc4c 100644 --- a/rtgui/locallab.cc +++ b/rtgui/locallab.cc @@ -1812,6 +1812,12 @@ void Locallab::blurMethodChanged() sensibn->hide(); } + if (blurMethod->get_active_row_number() == 2) { + strength->hide(); + } else { + strength->show(); + } + if (getEnabled() && expblur->getEnabled()) { if (listener) { listener->panelChanged(EvlocallabblurMethod, blurMethod->get_active_text()); @@ -3122,6 +3128,12 @@ void Locallab::updateSpecificGUIState() sensibn->hide(); } + if (blurMethod->get_active_row_number() == 2) { + strength->hide(); + } else { + strength->show(); + } + // Update Retinex GUI according to inversret button state (to be compliant with inversretChanged function) if (inversret->get_active()) { sensih->hide();