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);
|
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 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 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;
|
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
|
// 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 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 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);
|
int xstart = rtengine::max(static_cast<int>(lp.xc - lp.lxL) - cx, 0);
|
||||||
@ -12755,8 +12755,9 @@ void ImProcFunctions::Lab_Local(
|
|||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
if (lp.expcomp != 0.f) {
|
||||||
ImProcFunctions::exlabLocal(lp, bfh, bfw, bfhr, bfwr, bufexporig.get(), bufexpfin.get(), hltonecurveloc, shtonecurveloc, tonecurveloc, hueref, lumaref, chromaref);
|
ImProcFunctions::exlabLocal(lp, bfh, bfw, bfhr, bfwr, bufexporig.get(), bufexpfin.get(), hltonecurveloc, shtonecurveloc, tonecurveloc, hueref, lumaref, chromaref);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//gradient
|
//gradient
|
||||||
@ -13407,7 +13408,7 @@ void ImProcFunctions::Lab_Local(
|
|||||||
if (lochhCurve && HHcurve && lp.qualcurvemet != 0 && !ctoning) { // H=f(H)
|
if (lochhCurve && HHcurve && lp.qualcurvemet != 0 && !ctoning) { // H=f(H)
|
||||||
const float chromat = std::sqrt(SQR(bufcolcalca) + SQR(bufcolcalcb));
|
const float chromat = std::sqrt(SQR(bufcolcalca) + SQR(bufcolcalcb));
|
||||||
const float hhforcurv = xatan2f(bufcolcalcb, bufcolcalca);
|
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);
|
float2 sincosval = xsincosf(valparam);
|
||||||
bufcolcalca = chromat * sincosval.y;
|
bufcolcalca = chromat * sincosval.y;
|
||||||
bufcolcalcb = chromat * sincosval.x;
|
bufcolcalcb = chromat * sincosval.x;
|
||||||
|
@ -5549,9 +5549,9 @@ void LocallabMask::convertParamToSimple()
|
|||||||
disableListener();
|
disableListener();
|
||||||
|
|
||||||
// Set hidden specific GUI widgets in Simple mode to default spot values
|
// Set hidden specific GUI widgets in Simple mode to default spot values
|
||||||
radmask->setValue(defSpot.radmask);
|
gammask->setValue(defSpot.gammask);
|
||||||
chromask->setValue(defSpot.chromask);
|
slopmask->setValue(defSpot.slopmask);
|
||||||
Lmask_shape->setCurve(defSpot.Lmask_curve);
|
//Lmask_shape->setCurve(defSpot.Lmask_curve);
|
||||||
|
|
||||||
// Enable all listeners
|
// Enable all listeners
|
||||||
enableListener();
|
enableListener();
|
||||||
@ -5562,21 +5562,29 @@ void LocallabMask::updateGUIToMode(const modeType new_type)
|
|||||||
switch (new_type) {
|
switch (new_type) {
|
||||||
case Simple:
|
case Simple:
|
||||||
// Expert and Normal mode widgets are hidden in Simple mode
|
// Expert and Normal mode widgets are hidden in Simple mode
|
||||||
softradiusmask->hide();
|
softradiusmask->show();
|
||||||
|
toolmaskFrame->show();
|
||||||
struFrame->hide();
|
struFrame->hide();
|
||||||
blurFrame->hide();
|
blurFrame->hide();
|
||||||
toolmaskFrame->hide();
|
gammask->hide();
|
||||||
|
slopmask->hide();
|
||||||
|
shadmask->hide();
|
||||||
|
lapmask->hide();
|
||||||
|
mask_HCurveEditorG->hide();
|
||||||
|
mask2CurveEditorGwav->hide();
|
||||||
|
csThresholdmask->hide();
|
||||||
|
gradFramemask->hide();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Normal:
|
case Normal:
|
||||||
// Expert mode widgets are hidden in Normal mode
|
// Expert mode widgets are hidden in Normal mode
|
||||||
softradiusmask->hide();
|
softradiusmask->show();
|
||||||
struFrame->hide();
|
struFrame->hide();
|
||||||
blurFrame->hide();
|
blurFrame->hide();
|
||||||
lapmask->hide();
|
lapmask->hide();
|
||||||
gammask->hide();
|
gammask->show();
|
||||||
slopmask->hide();
|
slopmask->show();
|
||||||
shadmask->hide();
|
shadmask->hide();
|
||||||
mask_HCurveEditorG->hide();
|
mask_HCurveEditorG->hide();
|
||||||
mask2CurveEditorGwav->hide();
|
mask2CurveEditorGwav->hide();
|
||||||
@ -5589,19 +5597,20 @@ void LocallabMask::updateGUIToMode(const modeType new_type)
|
|||||||
|
|
||||||
case Expert:
|
case Expert:
|
||||||
// Show widgets hidden in Normal and Simple mode
|
// Show widgets hidden in Normal and Simple mode
|
||||||
softradiusmask->hide();
|
softradiusmask->show();
|
||||||
struFrame->hide();
|
struFrame->show();
|
||||||
blurFrame->hide();
|
blurFrame->show();
|
||||||
toolmaskFrame->hide();
|
toolmaskFrame->show();
|
||||||
lapmask->hide();
|
lapmask->show();
|
||||||
gammask->hide();
|
gammask->show();
|
||||||
slopmask->hide();
|
slopmask->show();
|
||||||
shadmask->hide();
|
shadmask->show();
|
||||||
mask_HCurveEditorG->hide();
|
mask_HCurveEditorG->show();
|
||||||
mask2CurveEditorGwav->hide();
|
mask2CurveEditorGwav->show();
|
||||||
csThresholdmask->hide();
|
csThresholdmask->show();
|
||||||
gradFramemask->hide();
|
gradFramemask->show();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void LocallabMask::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer)
|
void LocallabMask::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user