Added show modifications to sharpening
This commit is contained in:
parent
478be22dab
commit
6e3fd503cc
@ -2548,6 +2548,7 @@ TP_LOCALLAB_SHARAMOUNT;Amount
|
||||
TP_LOCALLAB_SHARBLUR;Blur radius
|
||||
TP_LOCALLAB_SHARDAMPING;Damping
|
||||
TP_LOCALLAB_SHARITER;Iterations
|
||||
TP_LOCALLAB_SHARFRAME;Modifications
|
||||
TP_LOCALLAB_SHARP;Sharpening
|
||||
TP_LOCALLAB_SHARRADIUS;Radius
|
||||
TP_LOCALLAB_SHORTC;Short Curves 'L' Mask
|
||||
|
@ -1131,7 +1131,7 @@ void Crop::update(int todo)
|
||||
locwavCurveden, locwavdenutili,
|
||||
LHutili, HHutili, cclocalcurve2, localcutili, rgblocalcurve2, localrgbutili, localexutili, exlocalcurve2, hltonecurveloc2, shtonecurveloc2, tonecurveloc2, lightCurveloc2,
|
||||
huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, lastsav,
|
||||
parent->locallColorMask, parent->locallColorMaskinv, parent->locallExpMask, parent->locallExpMaskinv, parent->locallSHMask, parent->locallSHMaskinv, parent->locallvibMask, parent->localllcMask, parent->locallcbMask, parent->locallretiMask, parent->locallsoftMask, parent->localltmMask, parent->locallblMask,
|
||||
parent->locallColorMask, parent->locallColorMaskinv, parent->locallExpMask, parent->locallExpMaskinv, parent->locallSHMask, parent->locallSHMaskinv, parent->locallvibMask, parent->localllcMask, parent->locallsharMask, parent->locallcbMask, parent->locallretiMask, parent->locallsoftMask, parent->localltmMask, parent->locallblMask,
|
||||
minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax);
|
||||
if (parent->locallListener) {
|
||||
parent->locallListener->minmaxChanged(maxCD, minCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax);
|
||||
@ -1168,7 +1168,7 @@ void Crop::update(int todo)
|
||||
loccomprewavCurve, loccomprewavutili,
|
||||
locwavCurveden, locwavdenutili,
|
||||
LHutili, HHutili, cclocalcurve2, localcutili, rgblocalcurve2, localrgbutili, localexutili, exlocalcurve2, hltonecurveloc2, shtonecurveloc2, tonecurveloc2, lightCurveloc2,
|
||||
huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, lastsav, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, lastsav, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax);
|
||||
}
|
||||
|
||||
|
@ -262,6 +262,7 @@ ImProcCoordinator::ImProcCoordinator() :
|
||||
locallcbMask(0),
|
||||
locallretiMask(0),
|
||||
locallsoftMask(0),
|
||||
locallsharMask(0),
|
||||
retistrsav(nullptr)
|
||||
|
||||
{
|
||||
@ -1257,7 +1258,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
||||
locwavCurveden, locwavdenutili,
|
||||
LHutili, HHutili, cclocalcurve, localcutili, rgblocalcurve, localrgbutili, localexutili, exlocalcurve, hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc,
|
||||
huerblu, chromarblu, lumarblu, huer, chromar, lumar, sobeler, lastsav,
|
||||
locallColorMask, locallColorMaskinv, locallExpMask, locallExpMaskinv, locallSHMask, locallSHMaskinv, locallvibMask, localllcMask, locallcbMask, locallretiMask, locallsoftMask, localltmMask, locallblMask,
|
||||
locallColorMask, locallColorMaskinv, locallExpMask, locallExpMaskinv, locallSHMask, locallSHMaskinv, locallvibMask, localllcMask, locallsharMask, locallcbMask, locallretiMask, locallsoftMask, localltmMask, locallblMask,
|
||||
minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax);
|
||||
|
||||
if (locallListener) {
|
||||
@ -1299,7 +1300,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
||||
loccomprewavCurve, loccomprewavutili,
|
||||
locwavCurveden, locwavdenutili,
|
||||
LHutili, HHutili, cclocalcurve, localcutili, rgblocalcurve, localrgbutili, localexutili, exlocalcurve, hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc,
|
||||
huerblu, chromarblu, lumarblu, huer, chromar, lumar, sobeler, lastsav, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
huerblu, chromarblu, lumarblu, huer, chromar, lumar, sobeler, lastsav, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax);
|
||||
}
|
||||
|
||||
|
@ -373,6 +373,7 @@ protected:
|
||||
int locallsoftMask;
|
||||
int localltmMask;
|
||||
int locallblMask;
|
||||
int locallsharMask;
|
||||
|
||||
public:
|
||||
|
||||
@ -442,7 +443,7 @@ public:
|
||||
updaterThreadStart.unlock();
|
||||
}
|
||||
|
||||
void setLocallabMaskVisibility (int locallColorMask, int locallColorMaskinv, int locallExpMask, int locallExpMaskinv, int locallSHMask, int locallSHMaskinv, int locallvibMask, int localllcMask, int locallcbMask, int locallretiMask, int locallsoftMask, int localltmMask, int locallblMask) override
|
||||
void setLocallabMaskVisibility (int locallColorMask, int locallColorMaskinv, int locallExpMask, int locallExpMaskinv, int locallSHMask, int locallSHMaskinv, int locallvibMask, int localllcMask, int locallsharMask, int locallcbMask, int locallretiMask, int locallsoftMask, int localltmMask, int locallblMask) override
|
||||
{
|
||||
this->locallColorMask = locallColorMask;
|
||||
this->locallColorMaskinv = locallColorMaskinv;
|
||||
@ -452,6 +453,7 @@ public:
|
||||
this->locallvibMask = locallvibMask;
|
||||
this->locallSHMaskinv = locallSHMaskinv;
|
||||
this->localllcMask = localllcMask;
|
||||
this->locallsharMask = locallsharMask;
|
||||
this->locallcbMask = locallcbMask;
|
||||
this->locallretiMask = locallretiMask;
|
||||
this->locallsoftMask = locallsoftMask;
|
||||
|
@ -308,7 +308,7 @@ public:
|
||||
const LocwavCurve & locwavCurveden, bool & locwavdenutili,
|
||||
bool &LHutili, bool &HHutili, LUTf & cclocalcurve, bool & localcutili, LUTf & rgblocalcurve, bool & localrgbutili, bool & localexutili, LUTf & exlocalcurve, LUTf & hltonecurveloc, LUTf & shtonecurveloc, LUTf & tonecurveloc, LUTf & lightCurveloc,
|
||||
double & huerefblur, double &chromarefblur, double & lumarefblur, double &hueref, double &chromaref, double &lumaref, double &sobelref, int &lastsav,
|
||||
int llColorMask, int llColorMaskinv, int llExpMask, int llExpMaskinv, int llSHMask, int llSHMaskinv, int llvibMask, int lllcMask, int llcbMask, int llretiMask, int llsoftMask, int lltmMask, int llblMask,
|
||||
int llColorMask, int llColorMaskinv, int llExpMask, int llExpMaskinv, int llSHMask, int llSHMaskinv, int llvibMask, int lllcMask, int llsharMask, int llcbMask, int llretiMask, int llsoftMask, int lltmMask, int llblMask,
|
||||
float &minCD, float &maxCD, float &mini, float &maxi, float &Tmean, float &Tsigma, float &Tmin, float &Tmax);
|
||||
|
||||
void addGaNoise(LabImage *lab, LabImage *dst, const float mean, const float variance, const int sk);
|
||||
@ -350,7 +350,7 @@ public:
|
||||
|
||||
void ColorLight_Local(float moddE, float powdE, int call, LabImage * bufcolorig, LabImage * originalmask, float **buflight, float **bufchro, float **bufchroslid, float ** bufhh, float ** buflightslid, bool &LHutili, bool &HHutili, const float hueplus, const float huemoins, const float hueref, const float dhue, const float chromaref, const float lumaref, float sobelref, float ** blend2, LUTf & lllocalcurve, const LocLHCurve & loclhCurve, const LocHHCurve & lochhCurve, LUTf & lightCurveloc, const local_params& lp, LabImage* original, LabImage* transformed, int cx, int cy, int sk);
|
||||
void InverseColorLight_Local(bool tonequ, bool tonecurv, int sp, int senstype, struct local_params& lp, LabImage * originalmask, LUTf & lightCurveloc, LUTf & hltonecurveloc, LUTf & shtonecurveloc, LUTf & tonecurveloc, LUTf & exlocalcurve, LUTf & cclocalcurve, float adjustr, bool localcutili, LUTf & lllocalcurve, bool locallutili, LabImage* original, LabImage* transformed, int cx, int cy, const float hueref, const float chromaref, const float lumaref, int sk);
|
||||
void Sharp_Local(int call, float **loctemp, int senstype, const float hueref, const float chromaref, const float lumaref, const local_params & lp, LabImage * original, LabImage * transformed, int cx, int cy, int sk);
|
||||
void Sharp_Local(int call, float **loctemp, int senstype, const float hueref, const float chromaref, const float lumaref, local_params & lp, LabImage * original, LabImage * transformed, int cx, int cy, int sk);
|
||||
|
||||
// void Sharp_Local(int call, float **loctemp, int senstype, const float hueplus, const float huemoins, const float hueref, const float dhue, const float chromaref, const local_params& lp, LabImage* original, LabImage* transformed, int cx, int cy, int sk);
|
||||
void InverseSharp_Local(float **loctemp, const float hueref, const float lumaref, const float chromaref, const local_params& lp, LabImage* original, LabImage* transformed, int cx, int cy, int sk);
|
||||
|
@ -323,6 +323,7 @@ struct local_params {
|
||||
int showmaskSHmetinv;
|
||||
int showmaskvibmet;
|
||||
int showmasklcmet;
|
||||
int showmasksharmet;
|
||||
int showmaskcbmet;
|
||||
int showmaskretimet;
|
||||
int showmasksoftmet;
|
||||
@ -401,6 +402,7 @@ struct local_params {
|
||||
bool enaSHMaskinv;
|
||||
bool enavibMask;
|
||||
bool enalcMask;
|
||||
bool enasharMask;
|
||||
bool enacbMask;
|
||||
bool enaretiMask;
|
||||
bool enaretiMasktmap;
|
||||
@ -510,7 +512,7 @@ static void SobelCannyLuma(float **sobelL, float **luma, int bfw, int bfh, float
|
||||
|
||||
|
||||
|
||||
static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locallab, struct local_params& lp, int llColorMask, int llColorMaskinv, int llExpMask, int llExpMaskinv, int llSHMask, int llSHMaskinv, int llvibMask, int lllcMask, int llcbMask, int llretiMask, int llsoftMask, int lltmMask, int llblMask, const LocwavCurve & locwavCurveden, bool & locwavdenutili)
|
||||
static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locallab, struct local_params& lp, int llColorMask, int llColorMaskinv, int llExpMask, int llExpMaskinv, int llSHMask, int llSHMaskinv, int llvibMask, int lllcMask, int llsharMask, int llcbMask, int llretiMask, int llsoftMask, int lltmMask, int llblMask, const LocwavCurve & locwavCurveden, bool & locwavdenutili)
|
||||
{
|
||||
int w = oW;
|
||||
int h = oH;
|
||||
@ -524,7 +526,6 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall
|
||||
float strlight = ((float)locallab.spots.at(sp).streng);
|
||||
float strucc = locallab.spots.at(sp).struc;
|
||||
float laplac = ((float)locallab.spots.at(sp).laplace);
|
||||
|
||||
float thre = locallab.spots.at(sp).thresh;
|
||||
|
||||
if (thre > 8.f || thre < 0.f) {//to avoid artifacts if user does not clear cache with new settings. Can be suppressed after
|
||||
@ -599,23 +600,25 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall
|
||||
lp.showmaskSHmetinv = llSHMaskinv;
|
||||
lp.showmaskvibmet = llvibMask;
|
||||
lp.showmasklcmet = lllcMask;
|
||||
lp.showmasksharmet = llsharMask;
|
||||
lp.showmaskcbmet = llcbMask;
|
||||
lp.showmaskretimet = llretiMask;
|
||||
lp.showmasksoftmet = llsoftMask;
|
||||
lp.showmasktmmet = lltmMask;
|
||||
lp.showmaskblmet = llblMask;
|
||||
lp.enaColorMask = locallab.spots.at(sp).enaColorMask && llColorMask == 0 && lllcMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0;// Exposure mask is deactivated if Color & Light mask is visible
|
||||
lp.enaColorMaskinv = locallab.spots.at(sp).enaColorMask && llColorMaskinv == 0 && lllcMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0;// Exposure mask is deactivated if Color & Light mask is visible
|
||||
lp.enaExpMask = locallab.spots.at(sp).enaExpMask && llExpMask == 0 && llColorMask == 0 && lllcMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0;// Exposure mask is deactivated if Color & Light mask is visible
|
||||
lp.enaExpMaskinv = locallab.spots.at(sp).enaExpMask && llExpMaskinv == 0 && llColorMask == 0 && lllcMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0;// Exposure mask is deactivated if Color & Light mask is visible
|
||||
lp.enaSHMask = locallab.spots.at(sp).enaSHMask && llSHMask == 0 && llColorMask == 0 && lllcMask == 0 && llExpMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0;
|
||||
lp.enaSHMaskinv = locallab.spots.at(sp).enaSHMask && llSHMaskinv == 0 && lllcMask == 0 && llColorMask == 0 && llExpMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0;
|
||||
lp.enacbMask = locallab.spots.at(sp).enacbMask && llcbMask == 0 && lllcMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0;
|
||||
lp.enaretiMask = locallab.spots.at(sp).enaretiMask && lllcMask == 0 && llretiMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0;
|
||||
lp.enatmMask = locallab.spots.at(sp).enatmMask && lltmMask == 0 && lllcMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && llblMask == 0 && llvibMask == 0;
|
||||
lp.enablMask = locallab.spots.at(sp).enablMask && llblMask == 0 && lllcMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0;
|
||||
lp.enavibMask = locallab.spots.at(sp).enavibMask && llvibMask == 0 && lllcMask == 0 && llColorMask == 0 && llExpMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llSHMask == 0;
|
||||
lp.enalcMask = locallab.spots.at(sp).enalcMask && lllcMask == 0 && llcbMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0;
|
||||
lp.enaColorMask = locallab.spots.at(sp).enaColorMask && llColorMask == 0 && lllcMask == 0 && llsharMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0;// Exposure mask is deactivated if Color & Light mask is visible
|
||||
lp.enaColorMaskinv = locallab.spots.at(sp).enaColorMask && llColorMaskinv == 0 && lllcMask == 0 && llsharMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0;// Exposure mask is deactivated if Color & Light mask is visible
|
||||
lp.enaExpMask = locallab.spots.at(sp).enaExpMask && llExpMask == 0 && llColorMask == 0 && lllcMask == 0 && llsharMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0;// Exposure mask is deactivated if Color & Light mask is visible
|
||||
lp.enaExpMaskinv = locallab.spots.at(sp).enaExpMask && llExpMaskinv == 0 && llColorMask == 0 && lllcMask == 0 && llsharMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0;// Exposure mask is deactivated if Color & Light mask is visible
|
||||
lp.enaSHMask = locallab.spots.at(sp).enaSHMask && llSHMask == 0 && llColorMask == 0 && lllcMask == 0 && llsharMask == 0 && llExpMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0;
|
||||
lp.enaSHMaskinv = locallab.spots.at(sp).enaSHMask && llSHMaskinv == 0 && lllcMask == 0 && llsharMask == 0 && llColorMask == 0 && llExpMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0;
|
||||
lp.enacbMask = locallab.spots.at(sp).enacbMask && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0;
|
||||
lp.enaretiMask = locallab.spots.at(sp).enaretiMask && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0;
|
||||
lp.enatmMask = locallab.spots.at(sp).enatmMask && lltmMask == 0 && lllcMask == 0 && llsharMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && llblMask == 0 && llvibMask == 0;
|
||||
lp.enablMask = locallab.spots.at(sp).enablMask && llblMask == 0 && lllcMask == 0 && llsharMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0;
|
||||
lp.enavibMask = locallab.spots.at(sp).enavibMask && llvibMask == 0 && lllcMask == 0 && llsharMask == 0 && llColorMask == 0 && llExpMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llSHMask == 0;
|
||||
lp.enalcMask = locallab.spots.at(sp).enalcMask && lllcMask == 0 && llcbMask == 0 && llsharMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0;
|
||||
lp.enasharMask = lllcMask == 0 && llcbMask == 0 && llsharMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0;
|
||||
|
||||
// printf("llColorMask=%i lllcMask=%i llExpMask=%i llSHMask=%i llcbMask=%i llretiMask=%i lltmMask=%i llblMask=%i llvibMask=%i\n", llColorMask, lllcMask, llExpMask, llSHMask, llcbMask, llretiMask, lltmMask, llblMask, llvibMask);
|
||||
if (locallab.spots.at(sp).softMethod == "soft") {
|
||||
@ -1124,16 +1127,16 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall
|
||||
lp.chromacb = chromcbdl;
|
||||
lp.sfena = locallab.spots.at(sp).expsoft;
|
||||
lp.expvib = locallab.spots.at(sp).expvibrance;
|
||||
lp.colorena = locallab.spots.at(sp).expcolor && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0; // Color & Light tool is deactivated if Exposure mask is visible or SHMask
|
||||
lp.blurena = locallab.spots.at(sp).expblur && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llretiMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0;
|
||||
lp.tonemapena = locallab.spots.at(sp).exptonemap && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llretiMask == 0 && llColorMask == 0 && llvibMask == 0;
|
||||
lp.retiena = locallab.spots.at(sp).expreti && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0 && llSHMask == 0;
|
||||
lp.lcena = locallab.spots.at(sp).expcontrast && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0 && llSHMask == 0;
|
||||
lp.cbdlena = locallab.spots.at(sp).expcbdl && llExpMask == 0 && llSHMask == 0 && llretiMask == 0 && lllcMask == 0 && lllcMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0;
|
||||
lp.exposena = locallab.spots.at(sp).expexpose && llColorMask == 0 && llSHMask == 0 && lllcMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0; // Exposure tool is deactivated if Color & Light mask SHmask is visible
|
||||
lp.hsena = locallab.spots.at(sp).expshadhigh && llColorMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0;// Shadow Highlight tool is deactivated if Color & Light mask or SHmask is visible
|
||||
lp.vibena = locallab.spots.at(sp).expvibrance && llColorMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llretiMask == 0 && llcbMask == 0 && lltmMask == 0 && llSHMask == 0;// vibrance tool is deactivated if Color & Light mask or SHmask is visible
|
||||
lp.sharpena = locallab.spots.at(sp).expsharp;
|
||||
lp.colorena = locallab.spots.at(sp).expcolor && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0; // Color & Light tool is deactivated if Exposure mask is visible or SHMask
|
||||
lp.blurena = locallab.spots.at(sp).expblur && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0;
|
||||
lp.tonemapena = locallab.spots.at(sp).exptonemap && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llColorMask == 0 && llvibMask == 0;
|
||||
lp.retiena = locallab.spots.at(sp).expreti && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0 && llSHMask == 0;
|
||||
lp.lcena = locallab.spots.at(sp).expcontrast && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && llsharMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0 && llSHMask == 0;
|
||||
lp.cbdlena = locallab.spots.at(sp).expcbdl && llExpMask == 0 && llSHMask == 0 && llretiMask == 0 && lllcMask == 0 && llsharMask == 0 && lllcMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0;
|
||||
lp.exposena = locallab.spots.at(sp).expexpose && llColorMask == 0 && llSHMask == 0 && lllcMask == 0 && llsharMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0; // Exposure tool is deactivated if Color & Light mask SHmask is visible
|
||||
lp.hsena = locallab.spots.at(sp).expshadhigh && llColorMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0;// Shadow Highlight tool is deactivated if Color & Light mask or SHmask is visible
|
||||
lp.vibena = locallab.spots.at(sp).expvibrance && llColorMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llcbMask == 0 && lltmMask == 0 && llSHMask == 0;// vibrance tool is deactivated if Color & Light mask or SHmask is visible
|
||||
lp.sharpena = locallab.spots.at(sp).expsharp && llColorMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llretiMask == 0 && llcbMask == 0 && lltmMask == 0 && llSHMask == 0;
|
||||
lp.sensv = local_sensiv;
|
||||
lp.past = chromaPastel;
|
||||
lp.satur = chromaSatur;
|
||||
@ -4407,11 +4410,13 @@ void ImProcFunctions::InverseSharp_Local(float **loctemp, const float hueref, co
|
||||
}
|
||||
|
||||
|
||||
void ImProcFunctions::Sharp_Local(int call, float **loctemp, int senstype, const float hueref, const float chromaref, const float lumaref, const local_params & lp, LabImage * original, LabImage * transformed, int cx, int cy, int sk)
|
||||
void ImProcFunctions::Sharp_Local(int call, float **loctemp, int senstype, const float hueref, const float chromaref, const float lumaref, local_params & lp, LabImage * original, LabImage * transformed, int cx, int cy, int sk)
|
||||
{
|
||||
BENCHFUN
|
||||
const float ach = lp.trans / 100.f;
|
||||
const float varsens = senstype == 1 ? lp.senslc : lp.senssha;
|
||||
const bool sharshow = (lp.showmasksharmet == 1);
|
||||
const bool previewshar = (lp.showmasksharmet == 2);
|
||||
|
||||
//balance deltaE
|
||||
//balance deltaE
|
||||
@ -4425,6 +4430,17 @@ void ImProcFunctions::Sharp_Local(int call, float **loctemp, int senstype, const
|
||||
kab /= SQR(327.68f);
|
||||
kL /= SQR(327.68f);
|
||||
|
||||
if (lp.colorde == 0) {
|
||||
lp.colorde = -1;//to avoid black
|
||||
}
|
||||
|
||||
float ampli = 1.f + fabs(lp.colorde);
|
||||
ampli = 2.f + 0.5f * (ampli - 2.f);
|
||||
|
||||
float darklim = 5000.f;
|
||||
float aadark = -1.f;
|
||||
float bbdark = darklim;
|
||||
|
||||
const int GW = transformed->W;
|
||||
const int GH = transformed->H;
|
||||
|
||||
@ -4491,7 +4507,9 @@ void ImProcFunctions::Sharp_Local(int call, float **loctemp, int senstype, const
|
||||
|
||||
|
||||
float reducdE = 0.f;
|
||||
float reducview = 0.f;
|
||||
calcreducdE(dE, maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, varsens, reducdE);
|
||||
reducview = reducdE;
|
||||
reducdE *= localFactor;
|
||||
|
||||
float difL;
|
||||
@ -4503,6 +4521,25 @@ void ImProcFunctions::Sharp_Local(int call, float **loctemp, int senstype, const
|
||||
}
|
||||
|
||||
transformed->L[y][x] = CLIP(original->L[y][x] + difL * reducdE);
|
||||
if(sharshow) {
|
||||
transformed->a[y][x] = 0.f;
|
||||
transformed->b[y][x] = 20.f * difL * reducdE;
|
||||
} else if(previewshar) {
|
||||
float difbdisp = reducdE * 10000.f * lp.colorde;
|
||||
if (transformed->L[y][x] < darklim) { //enhance dark luminance as user can see!
|
||||
float dark = transformed->L[y][x];
|
||||
transformed->L[y][x] = dark * aadark + bbdark;
|
||||
}
|
||||
|
||||
if (lp.colorde <= 0) {
|
||||
transformed->a[y][x] = 0.f;
|
||||
transformed->b[y][x] = difbdisp;
|
||||
} else {
|
||||
transformed->a[y][x] = -difbdisp;
|
||||
transformed->b[y][x] = 0.f;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -5673,7 +5710,7 @@ void ImProcFunctions::calc_ref(int sp, LabImage * original, LabImage * transform
|
||||
if (params->locallab.enabled) {
|
||||
//always calculate hueref, chromaref, lumaref before others operations use in normal mode for all modules exceprt denoise
|
||||
struct local_params lp;
|
||||
calcLocalParams(sp, oW, oH, params->locallab, lp, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, locwavCurveden, locwavdenutili);
|
||||
calcLocalParams(sp, oW, oH, params->locallab, lp, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, locwavCurveden, locwavdenutili);
|
||||
int begy = lp.yc - lp.lyT;
|
||||
int begx = lp.xc - lp.lxL;
|
||||
int yEn = lp.yc + lp.ly;
|
||||
@ -9499,7 +9536,7 @@ void ImProcFunctions::Lab_Local(int call, int sp, float** shbuffer, LabImage * o
|
||||
const LocwavCurve & locwavCurveden, bool & locwavdenutili,
|
||||
bool & LHutili, bool & HHutili, LUTf & cclocalcurve, bool & localcutili, LUTf & rgblocalcurve, bool & localrgbutili, bool & localexutili, LUTf & exlocalcurve, LUTf & hltonecurveloc, LUTf & shtonecurveloc, LUTf & tonecurveloc, LUTf & lightCurveloc,
|
||||
double & huerefblur, double & chromarefblur, double & lumarefblur, double & hueref, double & chromaref, double & lumaref, double & sobelref, int &lastsav,
|
||||
int llColorMask, int llColorMaskinv, int llExpMask, int llExpMaskinv, int llSHMask, int llSHMaskinv, int llvibMask, int lllcMask, int llcbMask, int llretiMask, int llsoftMask, int lltmMask, int llblMask,
|
||||
int llColorMask, int llColorMaskinv, int llExpMask, int llExpMaskinv, int llSHMask, int llSHMaskinv, int llvibMask, int lllcMask, int llsharMask, int llcbMask, int llretiMask, int llsoftMask, int lltmMask, int llblMask,
|
||||
float & minCD, float & maxCD, float & mini, float & maxi, float & Tmean, float & Tsigma, float & Tmin, float & Tmax)
|
||||
{
|
||||
//general call of others functions : important return hueref, chromaref, lumaref
|
||||
@ -9514,7 +9551,7 @@ void ImProcFunctions::Lab_Local(int call, int sp, float** shbuffer, LabImage * o
|
||||
int del = 3; // to avoid crash with [loy - begy] and [lox - begx] and bfh bfw // with gtk2 [loy - begy-1] [lox - begx -1 ] and del = 1
|
||||
int delxy = 0;
|
||||
struct local_params lp;
|
||||
calcLocalParams(sp, oW, oH, params->locallab, lp, llColorMask, llColorMaskinv, llExpMask, llExpMaskinv, llSHMask, llSHMaskinv, llvibMask, lllcMask, llcbMask, llretiMask, llsoftMask, lltmMask, llblMask, locwavCurveden, locwavdenutili);
|
||||
calcLocalParams(sp, oW, oH, params->locallab, lp, llColorMask, llColorMaskinv, llExpMask, llExpMaskinv, llSHMask, llSHMaskinv, llvibMask, lllcMask, llsharMask, llcbMask, llretiMask, llsoftMask, lltmMask, llblMask, locwavCurveden, locwavdenutili);
|
||||
|
||||
const float radius = lp.rad / (sk * 1.4f); //0 to 70 ==> see skip
|
||||
int strred = 1;//(lp.strucc - 1);
|
||||
|
@ -920,6 +920,7 @@ enum ProcEventCode {
|
||||
Evlocallabstrlog = 891,
|
||||
Evlocallabanglog = 892,
|
||||
EvLocallabSpotcolorde = 893,
|
||||
EvlocallabshowmasksharMethod = 894,
|
||||
NUMOFEVENTS
|
||||
};
|
||||
|
||||
|
@ -923,7 +923,8 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
||||
LUMINANCECURVE, //Evlocallabwavgradl
|
||||
LUMINANCECURVE, //Evlocallabstrlog
|
||||
LUMINANCECURVE, //Evlocallabanglog
|
||||
LUMINANCECURVE //EvLocallabSpotcolorde
|
||||
LUMINANCECURVE, //EvLocallabSpotcolorde
|
||||
LUMINANCECURVE // EvlocallabshowmasksharMethod
|
||||
|
||||
};
|
||||
|
||||
|
@ -524,7 +524,7 @@ public:
|
||||
|
||||
virtual void updateUnLock() = 0;
|
||||
|
||||
virtual void setLocallabMaskVisibility(int locallColorMask, int locallColorMaskinv, int locallExpMask, int locallExpMaskinv, int locallvibMask, int locallSHMask, int locallSHMaskinv, int localllcMask, int locallcbMask, int locallretiMask, int locallsoftMask, int localltmMask, int locallblMask) = 0;
|
||||
virtual void setLocallabMaskVisibility(int locallColorMask, int locallColorMaskinv, int locallExpMask, int locallExpMaskinv, int locallvibMask, int locallSHMask, int locallSHMaskinv, int localllcMask, int locallsharMask, int locallcbMask, int locallretiMask, int locallsoftMask, int localltmMask, int locallblMask) = 0;
|
||||
|
||||
/** Creates and returns a Crop instance that acts as a window on the image
|
||||
* @param editDataProvider pointer to the EditDataProvider that communicates with the EditSubscriber
|
||||
|
@ -1328,7 +1328,7 @@ private:
|
||||
loccomprewavCurve, loccomprewavutili,
|
||||
locwavCurveden, locwavdenutili,
|
||||
LHutili, HHutili, cclocalcurve, localcutili, rgblocalcurve, localrgbutili, localexutili, exlocalcurve, hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc,
|
||||
huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, lastsav, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, lastsav, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax);
|
||||
|
||||
lastorigView->CopyFrom(labView);
|
||||
|
@ -744,6 +744,9 @@ showmasktmMethod(Gtk::manage(new MyComboBoxText())),
|
||||
// Retinex
|
||||
retinexMethod(Gtk::manage(new MyComboBoxText())),
|
||||
showmaskretiMethod(Gtk::manage(new MyComboBoxText())),
|
||||
//sharp
|
||||
showmasksharMethod(Gtk::manage(new MyComboBoxText())),
|
||||
|
||||
//Local contrast
|
||||
localcontMethod(Gtk::manage(new MyComboBoxText())),
|
||||
csThreshold(Gtk::manage(new ThresholdAdjuster(M("TP_LOCALLAB_CSTHRESHOLD"), 0, 9, 0, 0, 6, 6, 0, false))),
|
||||
@ -779,6 +782,7 @@ dehaFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_DEHAFRA")))),
|
||||
retiFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_RETIFRA")))),
|
||||
retitoolFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_RETITOOLFRA")))),
|
||||
residFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_RESID")))),
|
||||
sharFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_SHARFRAME")))),
|
||||
clariFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_CLARIFRA")))),
|
||||
gradwavFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_GRADWAVFRA")))),
|
||||
blurlevelFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_BLURLEVELFRA")))),
|
||||
@ -2802,6 +2806,21 @@ pe(nullptr)
|
||||
|
||||
inversshaConn = inverssha->signal_toggled().connect(sigc::mem_fun(*this, &Locallab::inversshaChanged));
|
||||
|
||||
showmasksharMethod->append(M("TP_LOCALLAB_SHOWMNONE"));
|
||||
showmasksharMethod->append(M("TP_LOCALLAB_SHOWMODIF"));
|
||||
showmasksharMethod->append(M("TP_LOCALLAB_PREVIEWSEL"));
|
||||
showmasksharMethod->set_active(0);
|
||||
|
||||
if (showtooltip) {
|
||||
showmasksharMethod->set_tooltip_markup(M("TP_LOCALLAB_SHOWMASKCOL_TOOLTIP"));
|
||||
}
|
||||
|
||||
showmasksharMethodConn = showmasksharMethod->signal_changed().connect(sigc::mem_fun(*this, &Locallab::showmasksharMethodChanged));
|
||||
sharFrame->set_label_align(0.025, 0.5);
|
||||
ToolParamBlock* const sharfBox = Gtk::manage(new ToolParamBlock());
|
||||
sharfBox->pack_start(*showmasksharMethod);
|
||||
sharFrame->add(*sharfBox);
|
||||
|
||||
ToolParamBlock* const sharpBox = Gtk::manage(new ToolParamBlock());
|
||||
sharpBox->pack_start(*sharcontrast);
|
||||
sharpBox->pack_start(*sharradius);
|
||||
@ -2821,6 +2840,7 @@ pe(nullptr)
|
||||
|
||||
sharpBox->pack_start(*sensisha);
|
||||
sharpBox->pack_start(*inverssha);
|
||||
sharpBox->pack_start(*sharFrame);
|
||||
expsharp->add(*sharpBox, false);
|
||||
expsharp->setLevel(2);
|
||||
|
||||
@ -7164,6 +7184,7 @@ void Locallab::showmaskcolMethodChanged()
|
||||
showmaskblMethod->set_active(0);
|
||||
showmasklcMethod->set_active(0);
|
||||
showmaskcbMethod->set_active(0);
|
||||
showmasksharMethod->set_active(0);
|
||||
|
||||
enableListener();
|
||||
|
||||
@ -7190,6 +7211,7 @@ void Locallab::showmaskcolMethodChangedinv()
|
||||
showmasksoftMethod->set_active(0);
|
||||
showmasktmMethod->set_active(0);
|
||||
showmaskblMethod->set_active(0);
|
||||
showmasksharMethod->set_active(0);
|
||||
enableListener();
|
||||
|
||||
if (listener) {
|
||||
@ -7215,6 +7237,7 @@ void Locallab::showmaskexpMethodChangedinv()
|
||||
showmasksoftMethod->set_active(0);
|
||||
showmasktmMethod->set_active(0);
|
||||
showmaskblMethod->set_active(0);
|
||||
showmasksharMethod->set_active(0);
|
||||
enableListener();
|
||||
|
||||
if (listener) {
|
||||
@ -7222,6 +7245,32 @@ void Locallab::showmaskexpMethodChangedinv()
|
||||
}
|
||||
}
|
||||
|
||||
void Locallab::showmasksharMethodChanged()
|
||||
{
|
||||
// printf("showmasksharMethodChanged\n");
|
||||
|
||||
// When one mask state is changed, other masks are deactivated
|
||||
disableListener();
|
||||
showmaskcolMethodinv->set_active(0);
|
||||
showmaskcolMethod->set_active(0);
|
||||
showmaskexpMethod->set_active(0);
|
||||
showmaskSHMethod->set_active(0);
|
||||
showmaskSHMethodinv->set_active(0);
|
||||
showmasklcMethod->set_active(0);
|
||||
showmaskcbMethod->set_active(0);
|
||||
showmaskvibMethod->set_active(0);
|
||||
showmaskretiMethod->set_active(0);
|
||||
showmasksoftMethod->set_active(0);
|
||||
showmasktmMethod->set_active(0);
|
||||
showmaskblMethod->set_active(0);
|
||||
showmaskexpMethodinv->set_active(0);
|
||||
enableListener();
|
||||
|
||||
if (listener) {
|
||||
listener->panelChanged(EvlocallabshowmasksharMethod, "");
|
||||
}
|
||||
}
|
||||
|
||||
void Locallab::showmaskexpMethodChanged()
|
||||
{
|
||||
// printf("showmaskexpMethodChanged\n");
|
||||
@ -7240,6 +7289,7 @@ void Locallab::showmaskexpMethodChanged()
|
||||
showmasksoftMethod->set_active(0);
|
||||
showmasktmMethod->set_active(0);
|
||||
showmaskblMethod->set_active(0);
|
||||
showmasksharMethod->set_active(0);
|
||||
enableListener();
|
||||
|
||||
if (listener) {
|
||||
@ -7360,6 +7410,7 @@ void Locallab::showmaskSHMethodChanged()
|
||||
showmasksoftMethod->set_active(0);
|
||||
showmasktmMethod->set_active(0);
|
||||
showmaskblMethod->set_active(0);
|
||||
showmasksharMethod->set_active(0);
|
||||
enableListener();
|
||||
|
||||
if (listener) {
|
||||
@ -7385,6 +7436,7 @@ void Locallab::showmaskvibMethodChanged()
|
||||
showmasksoftMethod->set_active(0);
|
||||
showmasktmMethod->set_active(0);
|
||||
showmaskblMethod->set_active(0);
|
||||
showmasksharMethod->set_active(0);
|
||||
enableListener();
|
||||
|
||||
if (listener) {
|
||||
@ -7410,6 +7462,7 @@ void Locallab::showmaskSHMethodChangedinv()
|
||||
showmasksoftMethod->set_active(0);
|
||||
showmasktmMethod->set_active(0);
|
||||
showmaskblMethod->set_active(0);
|
||||
showmasksharMethod->set_active(0);
|
||||
enableListener();
|
||||
|
||||
if (listener) {
|
||||
@ -7435,6 +7488,7 @@ void Locallab::showmasklcMethodChanged()
|
||||
showmasktmMethod->set_active(0);
|
||||
showmaskblMethod->set_active(0);
|
||||
showmaskcbMethod->set_active(0);
|
||||
showmasksharMethod->set_active(0);
|
||||
enableListener();
|
||||
|
||||
if (listener) {
|
||||
@ -7461,6 +7515,7 @@ void Locallab::showmaskcbMethodChanged()
|
||||
showmasktmMethod->set_active(0);
|
||||
showmasklcMethod->set_active(0);
|
||||
showmaskblMethod->set_active(0);
|
||||
showmasksharMethod->set_active(0);
|
||||
enableListener();
|
||||
|
||||
if (listener) {
|
||||
@ -7486,6 +7541,7 @@ void Locallab::showmaskblMethodChanged()
|
||||
showmaskretiMethod->set_active(0);
|
||||
showmasksoftMethod->set_active(0);
|
||||
showmasktmMethod->set_active(0);
|
||||
showmasksharMethod->set_active(0);
|
||||
enableListener();
|
||||
|
||||
if (listener) {
|
||||
@ -7513,6 +7569,7 @@ void Locallab::showmasktmMethodChanged()
|
||||
showmaskretiMethod->set_active(0);
|
||||
showmasksoftMethod->set_active(0);
|
||||
showmaskblMethod->set_active(0);
|
||||
showmasksharMethod->set_active(0);
|
||||
enableListener();
|
||||
|
||||
if (listener) {
|
||||
@ -7539,6 +7596,7 @@ void Locallab::showmaskretiMethodChanged()
|
||||
showmasksoftMethod->set_active(0);
|
||||
showmasktmMethod->set_active(0);
|
||||
showmaskblMethod->set_active(0);
|
||||
showmasksharMethod->set_active(0);
|
||||
enableListener();
|
||||
|
||||
if (listener) {
|
||||
@ -7564,6 +7622,7 @@ void Locallab::showmasksoftMethodChanged()
|
||||
showmaskretiMethod->set_active(0);
|
||||
showmasktmMethod->set_active(0);
|
||||
showmaskblMethod->set_active(0);
|
||||
showmasksharMethod->set_active(0);
|
||||
enableListener();
|
||||
|
||||
if (listener) {
|
||||
@ -7589,6 +7648,7 @@ void Locallab::resetMaskVisibility()
|
||||
showmasksoftMethod->set_active(0);
|
||||
showmasktmMethod->set_active(0);
|
||||
showmaskblMethod->set_active(0);
|
||||
showmasksharMethod->set_active(0);
|
||||
enableListener();
|
||||
}
|
||||
|
||||
@ -7608,6 +7668,7 @@ Locallab::llMaskVisibility* Locallab::getMaskVisibility()
|
||||
maskStruct->softMask = showmasksoftMethod->get_active_row_number();
|
||||
maskStruct->tmMask = showmasktmMethod->get_active_row_number();
|
||||
maskStruct->blMask = showmaskblMethod->get_active_row_number();
|
||||
maskStruct->sharMask = showmasksharMethod->get_active_row_number();
|
||||
return maskStruct;
|
||||
}
|
||||
|
||||
@ -11415,6 +11476,7 @@ void Locallab::setBatchMode(bool batchMode)
|
||||
showmaskretiMethod->hide();
|
||||
showmasktmMethod->hide();
|
||||
showmaskblMethod->hide();
|
||||
showmasksharMethod->hide();
|
||||
}
|
||||
|
||||
std::vector<double> Locallab::getCurvePoints(ThresholdSelector* tAdjuster) const
|
||||
@ -11640,6 +11702,8 @@ void Locallab::enableListener()
|
||||
enablecbdlConn.block(false);
|
||||
enacbMaskConn.block(false);
|
||||
showmaskcbMethodConn.block(false);
|
||||
//sharp
|
||||
showmasksharMethodConn.block(false);
|
||||
// Denoise
|
||||
enabledenoiConn.block(false);
|
||||
//encoding log
|
||||
@ -11743,6 +11807,8 @@ void Locallab::disableListener()
|
||||
enablecbdlConn.block(true);
|
||||
enacbMaskConn.block(true);
|
||||
showmaskcbMethodConn.block(true);
|
||||
//sharp
|
||||
showmasksharMethodConn.block(true);
|
||||
// Denoise
|
||||
enabledenoiConn.block(true);
|
||||
//encoding log
|
||||
|
@ -581,6 +581,10 @@ private:
|
||||
sigc::connection retinexMethodConn;
|
||||
MyComboBoxText* const showmaskretiMethod;
|
||||
sigc::connection showmaskretiMethodConn;
|
||||
//Sharpening
|
||||
MyComboBoxText* const showmasksharMethod;
|
||||
sigc::connection showmasksharMethodConn;
|
||||
|
||||
//local contrast
|
||||
MyComboBoxText* const localcontMethod;
|
||||
sigc::connection localcontMethodConn;
|
||||
@ -621,6 +625,7 @@ private:
|
||||
Gtk::Frame* const retiFrame;
|
||||
Gtk::Frame* const retitoolFrame;
|
||||
Gtk::Frame* const residFrame;
|
||||
Gtk::Frame* const sharFrame;
|
||||
Gtk::Frame* const clariFrame;
|
||||
Gtk::Frame* const gradwavFrame;
|
||||
Gtk::Frame* const blurlevelFrame;
|
||||
@ -759,6 +764,9 @@ private:
|
||||
// Retinex
|
||||
void retinexMethodChanged();
|
||||
void showmaskretiMethodChanged();
|
||||
//sharp
|
||||
void showmasksharMethodChanged();
|
||||
|
||||
//Local contrast
|
||||
void localcontMethodChanged();
|
||||
void showmasklcMethodChanged();
|
||||
@ -817,6 +825,7 @@ public:
|
||||
int softMask;
|
||||
int tmMask;
|
||||
int blMask;
|
||||
int sharMask;
|
||||
};
|
||||
|
||||
void resetMaskVisibility();
|
||||
|
@ -509,9 +509,9 @@ void ToolPanelCoordinator::panelChanged(const rtengine::ProcEvent& event, const
|
||||
// Manage Locallab mask visibility
|
||||
if (event == rtengine::EvlocallabshowmaskcolMethod || event == rtengine::EvlocallabshowmaskcolMethodinv ||event == rtengine::EvlocallabshowmaskexpMethod ||event == rtengine::EvlocallabshowmaskexpMethodinv
|
||||
|| event == rtengine::EvlocallabshowmaskSHMethod || event == rtengine::EvlocallabshowmaskSHMethodinv || event == rtengine::EvlocallabshowmaskvibMethod || event == rtengine::EvlocallabshowmasksoftMethod
|
||||
|| event == rtengine::EvlocallabshowmaskcbMethod || event == rtengine::EvlocallabshowmasklcMethod || event == rtengine::EvlocallabshowmaskretiMethod || event == rtengine::EvlocallabshowmasktmMethod || event == rtengine::EvlocallabshowmaskblMethod) {
|
||||
|| event == rtengine::EvlocallabshowmaskcbMethod || event == rtengine::EvlocallabshowmasklcMethod || event == rtengine::EvlocallabshowmasksharMethod || event == rtengine::EvlocallabshowmaskretiMethod || event == rtengine::EvlocallabshowmasktmMethod || event == rtengine::EvlocallabshowmaskblMethod) {
|
||||
Locallab::llMaskVisibility* maskStruc = locallab->getMaskVisibility();
|
||||
ipc->setLocallabMaskVisibility(maskStruc->colorMask, maskStruc->colorMaskinv, maskStruc->expMask, maskStruc->expMaskinv, maskStruc->SHMask, maskStruc->SHMaskinv, maskStruc->vibMask, maskStruc->lcMask, maskStruc->cbMask, maskStruc->retiMask, maskStruc->softMask, maskStruc->tmMask, maskStruc->blMask);
|
||||
ipc->setLocallabMaskVisibility(maskStruc->colorMask, maskStruc->colorMaskinv, maskStruc->expMask, maskStruc->expMaskinv, maskStruc->SHMask, maskStruc->SHMaskinv, maskStruc->vibMask, maskStruc->lcMask, maskStruc->sharMask, maskStruc->cbMask, maskStruc->retiMask, maskStruc->softMask, maskStruc->tmMask, maskStruc->blMask);
|
||||
}
|
||||
|
||||
ipc->endUpdateParams(changeFlags); // starts the IPC processing
|
||||
@ -619,7 +619,7 @@ void ToolPanelCoordinator::profileChange(
|
||||
// Reset Locallab mask visibility when a picture is loaded
|
||||
if (event == rtengine::EvPhotoLoaded) {
|
||||
locallab->resetMaskVisibility();
|
||||
ipc->setLocallabMaskVisibility(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
ipc->setLocallabMaskVisibility(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
// start the IPC processing
|
||||
|
Loading…
x
Reference in New Issue
Block a user