capture sharpening: Do not trigger demosaic when toggling mask preview, #5412
This commit is contained in:
parent
ba8c3d15bf
commit
d3ec7f5277
@ -1364,7 +1364,7 @@ ProcEvent ImProcCoordinator::setSharpMask (bool sharpMask)
|
|||||||
if (this->sharpMask != sharpMask) {
|
if (this->sharpMask != sharpMask) {
|
||||||
sharpMaskChanged = true;
|
sharpMaskChanged = true;
|
||||||
this->sharpMask = sharpMask;
|
this->sharpMask = sharpMask;
|
||||||
return params->pdsharpening.enabled ? rtengine::EvPdShrEnabled : rtengine::EvShrEnabled;
|
return params->pdsharpening.enabled ? rtengine::EvPdShrMaskToggled : rtengine::EvShrEnabled;
|
||||||
} else {
|
} else {
|
||||||
sharpMaskChanged = false;
|
sharpMaskChanged = false;
|
||||||
return rtengine::EvShrEnabled;
|
return rtengine::EvShrEnabled;
|
||||||
|
@ -521,6 +521,7 @@ enum ProcEventCode {
|
|||||||
EvRGBEnabled = 491,
|
EvRGBEnabled = 491,
|
||||||
EvLEnabled = 492,
|
EvLEnabled = 492,
|
||||||
EvPdShrEnabled = 493,
|
EvPdShrEnabled = 493,
|
||||||
|
EvPdShrMaskToggled = 494,
|
||||||
|
|
||||||
NUMOFEVENTS
|
NUMOFEVENTS
|
||||||
|
|
||||||
|
@ -5032,13 +5032,11 @@ BENCHFUN
|
|||||||
Color::RGB2L(redVals[i], greenVals[i], blueVals[i], L[i], xyz_rgb, W);
|
Color::RGB2L(redVals[i], greenVals[i], blueVals[i], L[i], xyz_rgb, W);
|
||||||
}
|
}
|
||||||
if (plistener) {
|
if (plistener) {
|
||||||
plistener->setProgressStr(M("TP_PDSHARPENING_LABEL"));
|
|
||||||
plistener->setProgress(0.1);
|
plistener->setProgress(0.1);
|
||||||
}
|
}
|
||||||
array2D<float>& blend = red; // red will be overridden anyway => we can use its buffer to store the blend mask
|
array2D<float>& blend = red; // red will be overridden anyway => we can use its buffer to store the blend mask
|
||||||
buildBlendMask(L, blend, W, H, contrast, 1.f, sharpeningParams.autoContrast);
|
buildBlendMask(L, blend, W, H, contrast, 1.f, sharpeningParams.autoContrast);
|
||||||
if (plistener) {
|
if (plistener) {
|
||||||
plistener->setProgressStr(M("TP_PDSHARPENING_LABEL"));
|
|
||||||
plistener->setProgress(0.2);
|
plistener->setProgress(0.2);
|
||||||
}
|
}
|
||||||
conrastThreshold = contrast * 100.f;
|
conrastThreshold = contrast * 100.f;
|
||||||
@ -5051,7 +5049,6 @@ BENCHFUN
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (plistener) {
|
if (plistener) {
|
||||||
plistener->setProgressStr(M("TP_PDSHARPENING_LABEL"));
|
|
||||||
plistener->setProgress(1.0);
|
plistener->setProgress(1.0);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@ -5070,14 +5067,12 @@ BENCHFUN
|
|||||||
Color::RGB2Y(redVals[i], greenVals[i], blueVals[i], YOld[i], YNew[i], sharpeningParams.gamma, W);
|
Color::RGB2Y(redVals[i], greenVals[i], blueVals[i], YOld[i], YNew[i], sharpeningParams.gamma, W);
|
||||||
}
|
}
|
||||||
if (plistener) {
|
if (plistener) {
|
||||||
plistener->setProgressStr(M("TP_PDSHARPENING_LABEL"));
|
|
||||||
plistener->setProgress(0.1);
|
plistener->setProgress(0.1);
|
||||||
}
|
}
|
||||||
// calculate contrast based blend factors to reduce sharpening in regions with low contrast
|
// calculate contrast based blend factors to reduce sharpening in regions with low contrast
|
||||||
JaggedArray<float> blend(W, H);
|
JaggedArray<float> blend(W, H);
|
||||||
buildBlendMask(L, blend, W, H, contrast, 1.f, sharpeningParams.autoContrast);
|
buildBlendMask(L, blend, W, H, contrast, 1.f, sharpeningParams.autoContrast);
|
||||||
if (plistener) {
|
if (plistener) {
|
||||||
plistener->setProgressStr(M("TP_PDSHARPENING_LABEL"));
|
|
||||||
plistener->setProgress(0.2);
|
plistener->setProgress(0.2);
|
||||||
}
|
}
|
||||||
conrastThreshold = contrast * 100.f;
|
conrastThreshold = contrast * 100.f;
|
||||||
@ -5088,7 +5083,6 @@ BENCHFUN
|
|||||||
ImProcFunctions ipf(&dummy);
|
ImProcFunctions ipf(&dummy);
|
||||||
ipf.deconvsharpening(YNew, tmp, blend, W, H, sharpeningParams, 1.0);
|
ipf.deconvsharpening(YNew, tmp, blend, W, H, sharpeningParams, 1.0);
|
||||||
if (plistener) {
|
if (plistener) {
|
||||||
plistener->setProgressStr(M("TP_PDSHARPENING_LABEL"));
|
|
||||||
plistener->setProgress(0.9);
|
plistener->setProgress(0.9);
|
||||||
}
|
}
|
||||||
StopWatch Stop2("Y2RGB");
|
StopWatch Stop2("Y2RGB");
|
||||||
@ -5117,7 +5111,6 @@ BENCHFUN
|
|||||||
}
|
}
|
||||||
Stop2.stop();
|
Stop2.stop();
|
||||||
if (plistener) {
|
if (plistener) {
|
||||||
plistener->setProgressStr(M("TP_PDSHARPENING_LABEL"));
|
|
||||||
plistener->setProgress(1.0);
|
plistener->setProgress(1.0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -520,7 +520,8 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
|||||||
ALLNORAW, // EvWBEnabled
|
ALLNORAW, // EvWBEnabled
|
||||||
RGBCURVE, // EvRGBEnabled
|
RGBCURVE, // EvRGBEnabled
|
||||||
LUMINANCECURVE, // EvLEnabled
|
LUMINANCECURVE, // EvLEnabled
|
||||||
DEMOSAIC // EvPdShrEnabled
|
DEMOSAIC, // EvPdShrEnabled
|
||||||
|
ALLNORAW // EvPdShrMaskToggled
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user