Merge branch 'dev' of https://github.com/Beep6581/RawTherapee into dev
This commit is contained in:
commit
35519dfd3f
File diff suppressed because it is too large
Load Diff
@ -2421,7 +2421,7 @@ void ImProcFunctions::exlabLocal(local_params& lp, int bfh, int bfw, int bfhr, i
|
||||
}
|
||||
const bool exec = (lp.expmet == 1 && linear > 0.f && lp.laplacexp > 0.1f);
|
||||
|
||||
if(!exec) {//for standard exposure
|
||||
if(exec) {//for standard exposure
|
||||
const float cexp_scale = std::pow(2.f, lp.expcomp);
|
||||
const float ccomp = (rtengine::max(0.f, lp.expcomp) + 1.f) * lp.hlcomp / 100.f;
|
||||
const float cshoulder = ((maxran / rtengine::max(1.0f, cexp_scale)) * (lp.hlcompthr / 200.f)) + 0.1f;
|
||||
@ -11293,7 +11293,7 @@ void ImProcFunctions::Lab_Local(
|
||||
}
|
||||
|
||||
// soft light and retinex_pde
|
||||
if (lp.strng > 0.f && call <= 3 && lp.sfena) {
|
||||
if (lp.strng > 1.f && call <= 3 && lp.sfena) {
|
||||
int ystart = rtengine::max(static_cast<int>(lp.yc - lp.lyT) - cy, 0);
|
||||
int yend = rtengine::min(static_cast<int>(lp.yc + lp.ly) - cy, original->H);
|
||||
int xstart = rtengine::max(static_cast<int>(lp.xc - lp.lxL) - cx, 0);
|
||||
@ -12755,8 +12755,9 @@ void ImProcFunctions::Lab_Local(
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
ImProcFunctions::exlabLocal(lp, bfh, bfw, bfhr, bfwr, bufexporig.get(), bufexpfin.get(), hltonecurveloc, shtonecurveloc, tonecurveloc, hueref, lumaref, chromaref);
|
||||
if (lp.expcomp != 0.f) {
|
||||
ImProcFunctions::exlabLocal(lp, bfh, bfw, bfhr, bfwr, bufexporig.get(), bufexpfin.get(), hltonecurveloc, shtonecurveloc, tonecurveloc, hueref, lumaref, chromaref);
|
||||
}
|
||||
}
|
||||
|
||||
//gradient
|
||||
@ -13407,7 +13408,7 @@ void ImProcFunctions::Lab_Local(
|
||||
if (lochhCurve && HHcurve && lp.qualcurvemet != 0 && !ctoning) { // H=f(H)
|
||||
const float chromat = std::sqrt(SQR(bufcolcalca) + SQR(bufcolcalcb));
|
||||
const float hhforcurv = xatan2f(bufcolcalcb, bufcolcalca);
|
||||
const float valparam = float ((lochhCurve[500.f * Color::huelab_to_huehsv2(hhforcurv)] - 0.5f)); //get H=f(H)
|
||||
const float valparam = 2.f * float ((lochhCurve[500.f * Color::huelab_to_huehsv2(hhforcurv)] - 0.5f)) + static_cast<double>(hhforcurv);
|
||||
float2 sincosval = xsincosf(valparam);
|
||||
bufcolcalca = chromat * sincosval.y;
|
||||
bufcolcalcb = chromat * sincosval.x;
|
||||
|
@ -5549,9 +5549,9 @@ void LocallabMask::convertParamToSimple()
|
||||
disableListener();
|
||||
|
||||
// Set hidden specific GUI widgets in Simple mode to default spot values
|
||||
radmask->setValue(defSpot.radmask);
|
||||
chromask->setValue(defSpot.chromask);
|
||||
Lmask_shape->setCurve(defSpot.Lmask_curve);
|
||||
gammask->setValue(defSpot.gammask);
|
||||
slopmask->setValue(defSpot.slopmask);
|
||||
//Lmask_shape->setCurve(defSpot.Lmask_curve);
|
||||
|
||||
// Enable all listeners
|
||||
enableListener();
|
||||
@ -5562,21 +5562,29 @@ void LocallabMask::updateGUIToMode(const modeType new_type)
|
||||
switch (new_type) {
|
||||
case Simple:
|
||||
// Expert and Normal mode widgets are hidden in Simple mode
|
||||
softradiusmask->hide();
|
||||
softradiusmask->show();
|
||||
toolmaskFrame->show();
|
||||
struFrame->hide();
|
||||
blurFrame->hide();
|
||||
toolmaskFrame->hide();
|
||||
gammask->hide();
|
||||
slopmask->hide();
|
||||
shadmask->hide();
|
||||
lapmask->hide();
|
||||
mask_HCurveEditorG->hide();
|
||||
mask2CurveEditorGwav->hide();
|
||||
csThresholdmask->hide();
|
||||
gradFramemask->hide();
|
||||
|
||||
break;
|
||||
|
||||
case Normal:
|
||||
// Expert mode widgets are hidden in Normal mode
|
||||
softradiusmask->hide();
|
||||
softradiusmask->show();
|
||||
struFrame->hide();
|
||||
blurFrame->hide();
|
||||
lapmask->hide();
|
||||
gammask->hide();
|
||||
slopmask->hide();
|
||||
gammask->show();
|
||||
slopmask->show();
|
||||
shadmask->hide();
|
||||
mask_HCurveEditorG->hide();
|
||||
mask2CurveEditorGwav->hide();
|
||||
@ -5589,19 +5597,20 @@ void LocallabMask::updateGUIToMode(const modeType new_type)
|
||||
|
||||
case Expert:
|
||||
// Show widgets hidden in Normal and Simple mode
|
||||
softradiusmask->hide();
|
||||
struFrame->hide();
|
||||
blurFrame->hide();
|
||||
toolmaskFrame->hide();
|
||||
lapmask->hide();
|
||||
gammask->hide();
|
||||
slopmask->hide();
|
||||
shadmask->hide();
|
||||
mask_HCurveEditorG->hide();
|
||||
mask2CurveEditorGwav->hide();
|
||||
csThresholdmask->hide();
|
||||
gradFramemask->hide();
|
||||
softradiusmask->show();
|
||||
struFrame->show();
|
||||
blurFrame->show();
|
||||
toolmaskFrame->show();
|
||||
lapmask->show();
|
||||
gammask->show();
|
||||
slopmask->show();
|
||||
shadmask->show();
|
||||
mask_HCurveEditorG->show();
|
||||
mask2CurveEditorGwav->show();
|
||||
csThresholdmask->show();
|
||||
gradFramemask->show();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void LocallabMask::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer)
|
||||
|
Loading…
x
Reference in New Issue
Block a user