Add contrast curve to mask 1 Blur and Denoise
This commit is contained in:
parent
df007c66c9
commit
6468db2bd3
@ -1013,6 +1013,7 @@ HISTORY_MSG_772;Local - SH Mask contrast curve
|
|||||||
HISTORY_MSG_773;Local - TM Mask contrast curve
|
HISTORY_MSG_773;Local - TM Mask contrast curve
|
||||||
HISTORY_MSG_774;Local - Reti Mask contrast curve
|
HISTORY_MSG_774;Local - Reti Mask contrast curve
|
||||||
HISTORY_MSG_775;Local - CBDL Mask contrast curve
|
HISTORY_MSG_775;Local - CBDL Mask contrast curve
|
||||||
|
HISTORY_MSG_776;Local - Blur Denoise Mask contrast curve
|
||||||
HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
|
HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
|
||||||
HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
|
HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
|
||||||
HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
|
HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
|
||||||
|
@ -892,12 +892,14 @@ void Crop::update(int todo)
|
|||||||
bool localmasktmutili = parent->localmasktmutili;
|
bool localmasktmutili = parent->localmasktmutili;
|
||||||
bool localmaskretiutili = parent->localmaskretiutili;
|
bool localmaskretiutili = parent->localmaskretiutili;
|
||||||
bool localmaskcbutili = parent->localmaskcbutili;
|
bool localmaskcbutili = parent->localmaskcbutili;
|
||||||
|
bool localmaskblutili = parent->localmaskblutili;
|
||||||
LUTf lmasklocalcurve2(65536, 0);
|
LUTf lmasklocalcurve2(65536, 0);
|
||||||
LUTf lmaskexplocalcurve2(65536, 0);
|
LUTf lmaskexplocalcurve2(65536, 0);
|
||||||
LUTf lmaskSHlocalcurve2(65536, 0);
|
LUTf lmaskSHlocalcurve2(65536, 0);
|
||||||
LUTf lmasktmlocalcurve2(65536, 0);
|
LUTf lmasktmlocalcurve2(65536, 0);
|
||||||
LUTf lmaskretilocalcurve2(65536, 0);
|
LUTf lmaskretilocalcurve2(65536, 0);
|
||||||
LUTf lmaskcblocalcurve2(65536, 0);
|
LUTf lmaskcblocalcurve2(65536, 0);
|
||||||
|
LUTf lmaskbllocalcurve2(65536, 0);
|
||||||
LUTf hltonecurveloc2(65536, 0); //65536
|
LUTf hltonecurveloc2(65536, 0); //65536
|
||||||
LUTf shtonecurveloc2(65536, 0);
|
LUTf shtonecurveloc2(65536, 0);
|
||||||
LUTf tonecurveloc2(65536, 0);
|
LUTf tonecurveloc2(65536, 0);
|
||||||
@ -1009,6 +1011,8 @@ void Crop::update(int todo)
|
|||||||
CurveFactory::curvemaskLocal(localmaskretiutili, params.locallab.spots.at(sp).Lmaskreticurve, lmaskretilocalcurve2, sca);
|
CurveFactory::curvemaskLocal(localmaskretiutili, params.locallab.spots.at(sp).Lmaskreticurve, lmaskretilocalcurve2, sca);
|
||||||
localmaskcbutili = false;
|
localmaskcbutili = false;
|
||||||
CurveFactory::curvemaskLocal(localmaskcbutili, params.locallab.spots.at(sp).Lmaskcbcurve, lmaskcblocalcurve2, sca);
|
CurveFactory::curvemaskLocal(localmaskcbutili, params.locallab.spots.at(sp).Lmaskcbcurve, lmaskcblocalcurve2, sca);
|
||||||
|
localmaskblutili = false;
|
||||||
|
CurveFactory::curvemaskLocal(localmaskblutili, params.locallab.spots.at(sp).Lmaskblcurve, lmaskbllocalcurve2, sca);
|
||||||
|
|
||||||
|
|
||||||
double ecomp = params.locallab.spots.at(sp).expcomp;
|
double ecomp = params.locallab.spots.at(sp).expcomp;
|
||||||
@ -1053,6 +1057,7 @@ void Crop::update(int todo)
|
|||||||
lmasktmlocalcurve2, localmasktmutili,
|
lmasktmlocalcurve2, localmasktmutili,
|
||||||
lmaskretilocalcurve2, localmaskretiutili,
|
lmaskretilocalcurve2, localmaskretiutili,
|
||||||
lmaskcblocalcurve2, localmaskcbutili,
|
lmaskcblocalcurve2, localmaskcbutili,
|
||||||
|
lmaskbllocalcurve2, localmaskblutili,
|
||||||
locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili,
|
locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili,
|
||||||
locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili,
|
locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili,
|
||||||
locccmascbCurve, lcmascbutili, locllmascbCurve, llmascbutili, lochhmascbCurve, lhmascbutili,
|
locccmascbCurve, lcmascbutili, locllmascbCurve, llmascbutili, lochhmascbCurve, lhmascbutili,
|
||||||
@ -1076,6 +1081,7 @@ void Crop::update(int todo)
|
|||||||
lmasktmlocalcurve2, localmasktmutili,
|
lmasktmlocalcurve2, localmasktmutili,
|
||||||
lmaskretilocalcurve2, localmaskretiutili,
|
lmaskretilocalcurve2, localmaskretiutili,
|
||||||
lmaskcblocalcurve2, localmaskcbutili,
|
lmaskcblocalcurve2, localmaskcbutili,
|
||||||
|
lmaskbllocalcurve2, localmaskblutili,
|
||||||
locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili,
|
locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili,
|
||||||
locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili,
|
locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili,
|
||||||
locccmascbCurve, lcmascbutili, locllmascbCurve, llmascbutili, lochhmascbCurve, lhmascbutili,
|
locccmascbCurve, lcmascbutili, locllmascbCurve, llmascbutili, lochhmascbCurve, lhmascbutili,
|
||||||
@ -1097,6 +1103,7 @@ void Crop::update(int todo)
|
|||||||
lmasktmlocalcurve2.clear();
|
lmasktmlocalcurve2.clear();
|
||||||
lmaskretilocalcurve2.clear();
|
lmaskretilocalcurve2.clear();
|
||||||
lmaskcblocalcurve2.clear();
|
lmaskcblocalcurve2.clear();
|
||||||
|
lmaskbllocalcurve2.clear();
|
||||||
hltonecurveloc2.clear();
|
hltonecurveloc2.clear();
|
||||||
shtonecurveloc2.clear();
|
shtonecurveloc2.clear();
|
||||||
tonecurveloc2.clear();
|
tonecurveloc2.clear();
|
||||||
|
@ -177,6 +177,7 @@ ImProcCoordinator::ImProcCoordinator() :
|
|||||||
lmasktmlocalcurve(65536, 0),
|
lmasktmlocalcurve(65536, 0),
|
||||||
lmaskretilocalcurve(65536, 0),
|
lmaskretilocalcurve(65536, 0),
|
||||||
lmaskcblocalcurve(65536, 0),
|
lmaskcblocalcurve(65536, 0),
|
||||||
|
lmaskbllocalcurve(65536, 0),
|
||||||
locallutili(false),
|
locallutili(false),
|
||||||
localcutili(false),
|
localcutili(false),
|
||||||
localexutili(false),
|
localexutili(false),
|
||||||
@ -189,6 +190,7 @@ ImProcCoordinator::ImProcCoordinator() :
|
|||||||
localmasktmutili(false),
|
localmasktmutili(false),
|
||||||
localmaskretiutili(false),
|
localmaskretiutili(false),
|
||||||
localmaskcbutili(false),
|
localmaskcbutili(false),
|
||||||
|
localmaskblutili(false),
|
||||||
lcmasexputili(false),
|
lcmasexputili(false),
|
||||||
lhmasexputili(false),
|
lhmasexputili(false),
|
||||||
llmasexputili(false),
|
llmasexputili(false),
|
||||||
@ -935,6 +937,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
|||||||
localmasktmutili = false;
|
localmasktmutili = false;
|
||||||
localmaskretiutili = false;
|
localmaskretiutili = false;
|
||||||
localmaskcbutili = false;
|
localmaskcbutili = false;
|
||||||
|
localmaskblutili = false;
|
||||||
lcmasSHutili = false;
|
lcmasSHutili = false;
|
||||||
lhmasSHutili = false;
|
lhmasSHutili = false;
|
||||||
llmasSHutili = false;
|
llmasSHutili = false;
|
||||||
@ -988,6 +991,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
|||||||
CurveFactory::curvemaskLocal(localmasktmutili, params->locallab.spots.at(sp).Lmasktmcurve, lmasktmlocalcurve, sca);
|
CurveFactory::curvemaskLocal(localmasktmutili, params->locallab.spots.at(sp).Lmasktmcurve, lmasktmlocalcurve, sca);
|
||||||
CurveFactory::curvemaskLocal(localmaskretiutili, params->locallab.spots.at(sp).Lmaskreticurve, lmaskretilocalcurve, sca);
|
CurveFactory::curvemaskLocal(localmaskretiutili, params->locallab.spots.at(sp).Lmaskreticurve, lmaskretilocalcurve, sca);
|
||||||
CurveFactory::curvemaskLocal(localmaskcbutili, params->locallab.spots.at(sp).Lmaskcbcurve, lmaskcblocalcurve, sca);
|
CurveFactory::curvemaskLocal(localmaskcbutili, params->locallab.spots.at(sp).Lmaskcbcurve, lmaskcblocalcurve, sca);
|
||||||
|
CurveFactory::curvemaskLocal(localmaskblutili, params->locallab.spots.at(sp).Lmaskblcurve, lmaskbllocalcurve, sca);
|
||||||
double ecomp = params->locallab.spots.at(sp).expcomp;
|
double ecomp = params->locallab.spots.at(sp).expcomp;
|
||||||
double black = params->locallab.spots.at(sp).black;
|
double black = params->locallab.spots.at(sp).black;
|
||||||
double hlcompr = params->locallab.spots.at(sp).hlcompr;
|
double hlcompr = params->locallab.spots.at(sp).hlcompr;
|
||||||
@ -1047,6 +1051,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
|||||||
lmasktmlocalcurve, localmasktmutili,
|
lmasktmlocalcurve, localmasktmutili,
|
||||||
lmaskretilocalcurve, localmaskretiutili,
|
lmaskretilocalcurve, localmaskretiutili,
|
||||||
lmaskcblocalcurve, localmaskcbutili,
|
lmaskcblocalcurve, localmaskcbutili,
|
||||||
|
lmaskbllocalcurve, localmaskblutili,
|
||||||
locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili,
|
locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili,
|
||||||
locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili,
|
locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili,
|
||||||
locccmascbCurve, lcmascbutili, locllmascbCurve, llmascbutili, lochhmascbCurve, lhmascbutili,
|
locccmascbCurve, lcmascbutili, locllmascbCurve, llmascbutili, lochhmascbCurve, lhmascbutili,
|
||||||
@ -1069,6 +1074,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
|||||||
lmasktmlocalcurve, localmasktmutili,
|
lmasktmlocalcurve, localmasktmutili,
|
||||||
lmaskretilocalcurve, localmaskretiutili,
|
lmaskretilocalcurve, localmaskretiutili,
|
||||||
lmaskcblocalcurve, localmaskcbutili,
|
lmaskcblocalcurve, localmaskcbutili,
|
||||||
|
lmaskbllocalcurve, localmaskblutili,
|
||||||
locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili,
|
locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili,
|
||||||
locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili,
|
locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili,
|
||||||
locccmascbCurve, lcmascbutili, locllmascbCurve, llmascbutili, lochhmascbCurve, lhmascbutili,
|
locccmascbCurve, lcmascbutili, locllmascbCurve, llmascbutili, lochhmascbCurve, lhmascbutili,
|
||||||
@ -1097,6 +1103,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
|||||||
lmasktmlocalcurve.clear();
|
lmasktmlocalcurve.clear();
|
||||||
lmaskretilocalcurve.clear();
|
lmaskretilocalcurve.clear();
|
||||||
lmaskcblocalcurve.clear();
|
lmaskcblocalcurve.clear();
|
||||||
|
lmaskbllocalcurve.clear();
|
||||||
hltonecurveloc.clear();
|
hltonecurveloc.clear();
|
||||||
shtonecurveloc.clear();
|
shtonecurveloc.clear();
|
||||||
tonecurveloc.clear();
|
tonecurveloc.clear();
|
||||||
|
@ -239,6 +239,7 @@ protected:
|
|||||||
LUTf lmasktmlocalcurve;
|
LUTf lmasktmlocalcurve;
|
||||||
LUTf lmaskretilocalcurve;
|
LUTf lmaskretilocalcurve;
|
||||||
LUTf lmaskcblocalcurve;
|
LUTf lmaskcblocalcurve;
|
||||||
|
LUTf lmaskbllocalcurve;
|
||||||
// LUTu lhist16loc;
|
// LUTu lhist16loc;
|
||||||
LocretigainCurve locRETgainCurve;
|
LocretigainCurve locRETgainCurve;
|
||||||
LocretitransCurve locRETtransCurve;
|
LocretitransCurve locRETtransCurve;
|
||||||
@ -280,6 +281,7 @@ protected:
|
|||||||
bool localmasktmutili;
|
bool localmasktmutili;
|
||||||
bool localmaskretiutili;
|
bool localmaskretiutili;
|
||||||
bool localmaskcbutili;
|
bool localmaskcbutili;
|
||||||
|
bool localmaskblutili;
|
||||||
bool lcmasexputili;
|
bool lcmasexputili;
|
||||||
bool lhmasexputili;
|
bool lhmasexputili;
|
||||||
bool llmasexputili;
|
bool llmasexputili;
|
||||||
|
@ -231,6 +231,7 @@ public:
|
|||||||
LUTf & lmasktmlocalcurve, bool & localmasktmutili,
|
LUTf & lmasktmlocalcurve, bool & localmasktmutili,
|
||||||
LUTf & lmaskretilocalcurve, bool & localmaskretiutili,
|
LUTf & lmaskretilocalcurve, bool & localmaskretiutili,
|
||||||
LUTf & lmaskcblocalcurve, bool & localmaskcbutili,
|
LUTf & lmaskcblocalcurve, bool & localmaskcbutili,
|
||||||
|
LUTf & lmaskbllocalcurve, bool & localmaskblutili,
|
||||||
const LocCCmaskCurve & locccmasCurve, bool & lcmasutili, const LocLLmaskCurve & locllmasCurve, bool & llmasutili, const LocHHmaskCurve & lochhmasCurve, bool & lhmasutili,
|
const LocCCmaskCurve & locccmasCurve, bool & lcmasutili, const LocLLmaskCurve & locllmasCurve, bool & llmasutili, const LocHHmaskCurve & lochhmasCurve, bool & lhmasutili,
|
||||||
const LocCCmaskCurve & locccmasexpCurve, bool &lcmasexputili, const LocLLmaskCurve & locllmasexpCurve, bool &llmasexputili, const LocHHmaskCurve & lochhmasexpCurve, bool & lhmasexputili,
|
const LocCCmaskCurve & locccmasexpCurve, bool &lcmasexputili, const LocLLmaskCurve & locllmasexpCurve, bool &llmasexputili, const LocHHmaskCurve & lochhmasexpCurve, bool & lhmasexputili,
|
||||||
const LocCCmaskCurve & locccmasSHCurve, bool &lcmasSHutili, const LocLLmaskCurve & locllmasSHCurve, bool &llmasSHutili, const LocHHmaskCurve & lochhmasSHCurve, bool & lhmasSHutili,
|
const LocCCmaskCurve & locccmasSHCurve, bool &lcmasSHutili, const LocLLmaskCurve & locllmasSHCurve, bool &llmasSHutili, const LocHHmaskCurve & lochhmasSHCurve, bool & lhmasSHutili,
|
||||||
|
@ -6718,6 +6718,7 @@ void ImProcFunctions::Lab_Local(int call, int sp, float** shbuffer, LabImage * o
|
|||||||
LUTf & lmasktmlocalcurve, bool & localmasktmutili,
|
LUTf & lmasktmlocalcurve, bool & localmasktmutili,
|
||||||
LUTf & lmaskretilocalcurve, bool & localmaskretiutili,
|
LUTf & lmaskretilocalcurve, bool & localmaskretiutili,
|
||||||
LUTf & lmaskcblocalcurve, bool & localmaskcbutili,
|
LUTf & lmaskcblocalcurve, bool & localmaskcbutili,
|
||||||
|
LUTf & lmaskbllocalcurve, bool & localmaskblutili,
|
||||||
const LocCCmaskCurve & locccmasCurve, bool & lcmasutili, const LocLLmaskCurve & locllmasCurve, bool & llmasutili, const LocHHmaskCurve & lochhmasCurve, bool & lhmasutili,
|
const LocCCmaskCurve & locccmasCurve, bool & lcmasutili, const LocLLmaskCurve & locllmasCurve, bool & llmasutili, const LocHHmaskCurve & lochhmasCurve, bool & lhmasutili,
|
||||||
const LocCCmaskCurve & locccmasexpCurve, bool & lcmasexputili, const LocLLmaskCurve & locllmasexpCurve, bool & llmasexputili, const LocHHmaskCurve & lochhmasexpCurve, bool & lhmasexputili,
|
const LocCCmaskCurve & locccmasexpCurve, bool & lcmasexputili, const LocLLmaskCurve & locllmasexpCurve, bool & llmasexputili, const LocHHmaskCurve & lochhmasexpCurve, bool & lhmasexputili,
|
||||||
const LocCCmaskCurve & locccmasSHCurve, bool & lcmasSHutili, const LocLLmaskCurve & locllmasSHCurve, bool & llmasSHutili, const LocHHmaskCurve & lochhmasSHCurve, bool & lhmasSHutili,
|
const LocCCmaskCurve & locccmasSHCurve, bool & lcmasSHutili, const LocLLmaskCurve & locllmasSHCurve, bool & llmasSHutili, const LocHHmaskCurve & lochhmasSHCurve, bool & lhmasSHutili,
|
||||||
@ -6973,6 +6974,17 @@ void ImProcFunctions::Lab_Local(int call, int sp, float** shbuffer, LabImage * o
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (lmaskbllocalcurve && localmaskblutili) {
|
||||||
|
#ifdef _OPENMP
|
||||||
|
#pragma omp parallel for schedule(dynamic,16)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
for (int ir = 0; ir < GH; ir++)
|
||||||
|
for (int jr = 0; jr < GW; jr++) {
|
||||||
|
bufmaskblurbl->L[ir][jr] = 0.5f * lmaskbllocalcurve[2.f * bufmaskblurbl->L[ir][jr]];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
float lap = params->locallab.spots.at(sp).lapmaskbl;
|
float lap = params->locallab.spots.at(sp).lapmaskbl;
|
||||||
bool pde = params->locallab.spots.at(sp).laplac;
|
bool pde = params->locallab.spots.at(sp).laplac;
|
||||||
|
|
||||||
|
@ -802,6 +802,7 @@ enum ProcEventCode {
|
|||||||
EvlocallabLmasktmshape = 772,
|
EvlocallabLmasktmshape = 772,
|
||||||
EvlocallabLmaskretishape = 773,
|
EvlocallabLmaskretishape = 773,
|
||||||
EvlocallabLmaskcbshape = 774,
|
EvlocallabLmaskcbshape = 774,
|
||||||
|
EvlocallabLmaskblshape = 775,
|
||||||
NUMOFEVENTS
|
NUMOFEVENTS
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2567,6 +2567,7 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
|||||||
gammaskbl(1.0),
|
gammaskbl(1.0),
|
||||||
slomaskbl(0.0),
|
slomaskbl(0.0),
|
||||||
lapmaskbl(0.0),
|
lapmaskbl(0.0),
|
||||||
|
Lmaskblcurve{(double)DCT_NURBS, 0.0, 0.0, 1.0, 1.0},
|
||||||
// Tone Mapping
|
// Tone Mapping
|
||||||
exptonemap(false),
|
exptonemap(false),
|
||||||
stren(0.5),
|
stren(0.5),
|
||||||
@ -2855,6 +2856,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
|||||||
&& gammaskbl == other.gammaskbl
|
&& gammaskbl == other.gammaskbl
|
||||||
&& slomaskbl == other.slomaskbl
|
&& slomaskbl == other.slomaskbl
|
||||||
&& lapmaskbl == other.lapmaskbl
|
&& lapmaskbl == other.lapmaskbl
|
||||||
|
&& Lmaskblcurve == other.Lmaskblcurve
|
||||||
// Tone Mapping
|
// Tone Mapping
|
||||||
&& exptonemap == other.exptonemap
|
&& exptonemap == other.exptonemap
|
||||||
&& stren == other.stren
|
&& stren == other.stren
|
||||||
@ -4129,6 +4131,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
|||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).gammaskbl, "Locallab", "Gammaskbl_" + std::to_string(i), spot.gammaskbl, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).gammaskbl, "Locallab", "Gammaskbl_" + std::to_string(i), spot.gammaskbl, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).slomaskbl, "Locallab", "Slomaskbl_" + std::to_string(i), spot.slomaskbl, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).slomaskbl, "Locallab", "Slomaskbl_" + std::to_string(i), spot.slomaskbl, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).lapmaskbl, "Locallab", "Lapmaskbl_" + std::to_string(i), spot.lapmaskbl, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).lapmaskbl, "Locallab", "Lapmaskbl_" + std::to_string(i), spot.lapmaskbl, keyFile);
|
||||||
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).Lmaskblcurve, "Locallab", "LmaskblCurve_" + std::to_string(i), spot.Lmaskblcurve, keyFile);
|
||||||
// Tone Mapping
|
// Tone Mapping
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).exptonemap, "Locallab", "Exptonemap_" + std::to_string(i), spot.exptonemap, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).exptonemap, "Locallab", "Exptonemap_" + std::to_string(i), spot.exptonemap, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).stren, "Locallab", "Stren_" + std::to_string(i), spot.stren, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).stren, "Locallab", "Stren_" + std::to_string(i), spot.stren, keyFile);
|
||||||
@ -5530,6 +5533,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
|||||||
assignFromKeyfile(keyFile, "Locallab", "Gammaskbl_" + std::to_string(i), pedited, spot.gammaskbl, spotEdited.gammaskbl);
|
assignFromKeyfile(keyFile, "Locallab", "Gammaskbl_" + std::to_string(i), pedited, spot.gammaskbl, spotEdited.gammaskbl);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Slomaskbl_" + std::to_string(i), pedited, spot.slomaskbl, spotEdited.slomaskbl);
|
assignFromKeyfile(keyFile, "Locallab", "Slomaskbl_" + std::to_string(i), pedited, spot.slomaskbl, spotEdited.slomaskbl);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Lapmaskbl_" + std::to_string(i), pedited, spot.lapmaskbl, spotEdited.lapmaskbl);
|
assignFromKeyfile(keyFile, "Locallab", "Lapmaskbl_" + std::to_string(i), pedited, spot.lapmaskbl, spotEdited.lapmaskbl);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "LmaskblCurve_" + std::to_string(i), pedited, spot.Lmaskblcurve, spotEdited.Lmaskblcurve);
|
||||||
// Tone Mapping
|
// Tone Mapping
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Exptonemap_" + std::to_string(i), pedited, spot.exptonemap, spotEdited.exptonemap);
|
assignFromKeyfile(keyFile, "Locallab", "Exptonemap_" + std::to_string(i), pedited, spot.exptonemap, spotEdited.exptonemap);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Stren_" + std::to_string(i), pedited, spot.stren, spotEdited.stren);
|
assignFromKeyfile(keyFile, "Locallab", "Stren_" + std::to_string(i), pedited, spot.stren, spotEdited.stren);
|
||||||
|
@ -1116,6 +1116,7 @@ struct LocallabParams {
|
|||||||
double gammaskbl;
|
double gammaskbl;
|
||||||
double slomaskbl;
|
double slomaskbl;
|
||||||
double lapmaskbl;
|
double lapmaskbl;
|
||||||
|
std::vector<double> Lmaskblcurve;
|
||||||
// Tone Mapping
|
// Tone Mapping
|
||||||
bool exptonemap;
|
bool exptonemap;
|
||||||
double stren;
|
double stren;
|
||||||
|
@ -801,7 +801,8 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
|||||||
LUMINANCECURVE, //EvlocallabLmaskSHshape
|
LUMINANCECURVE, //EvlocallabLmaskSHshape
|
||||||
LUMINANCECURVE, //EvlocallabLmasktmshape
|
LUMINANCECURVE, //EvlocallabLmasktmshape
|
||||||
LUMINANCECURVE, //EvlocallabLmaskretishape
|
LUMINANCECURVE, //EvlocallabLmaskretishape
|
||||||
LUMINANCECURVE //EvlocallabLmaskcbshape
|
LUMINANCECURVE, //EvlocallabLmaskcbshape
|
||||||
|
LUMINANCECURVE //EvlocallabLmaskblshape
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace rtengine
|
namespace rtengine
|
||||||
|
@ -1130,6 +1130,7 @@ private:
|
|||||||
LUTf lmasktmlocalcurve(65536, 0);
|
LUTf lmasktmlocalcurve(65536, 0);
|
||||||
LUTf lmaskretilocalcurve(65536, 0);
|
LUTf lmaskretilocalcurve(65536, 0);
|
||||||
LUTf lmaskcblocalcurve(65536, 0);
|
LUTf lmaskcblocalcurve(65536, 0);
|
||||||
|
LUTf lmaskbllocalcurve(65536, 0);
|
||||||
|
|
||||||
// int maxspot = 1;
|
// int maxspot = 1;
|
||||||
float** shbuffer = nullptr;
|
float** shbuffer = nullptr;
|
||||||
@ -1158,6 +1159,7 @@ private:
|
|||||||
bool localmasktmutili = false;
|
bool localmasktmutili = false;
|
||||||
bool localmaskretiutili = false;
|
bool localmaskretiutili = false;
|
||||||
bool localmaskcbutili = false;
|
bool localmaskcbutili = false;
|
||||||
|
bool localmaskblutili = false;
|
||||||
bool lcmasexputili = false;
|
bool lcmasexputili = false;
|
||||||
bool lhmasexputili = false;
|
bool lhmasexputili = false;
|
||||||
bool llmasexputili = false;
|
bool llmasexputili = false;
|
||||||
@ -1212,6 +1214,7 @@ private:
|
|||||||
CurveFactory::curvemaskLocal(localmasktmutili, params.locallab.spots.at(sp).Lmasktmcurve, lmasktmlocalcurve, 1);
|
CurveFactory::curvemaskLocal(localmasktmutili, params.locallab.spots.at(sp).Lmasktmcurve, lmasktmlocalcurve, 1);
|
||||||
CurveFactory::curvemaskLocal(localmaskretiutili, params.locallab.spots.at(sp).Lmaskreticurve, lmaskretilocalcurve, 1);
|
CurveFactory::curvemaskLocal(localmaskretiutili, params.locallab.spots.at(sp).Lmaskreticurve, lmaskretilocalcurve, 1);
|
||||||
CurveFactory::curvemaskLocal(localmaskcbutili, params.locallab.spots.at(sp).Lmaskcbcurve, lmaskcblocalcurve, 1);
|
CurveFactory::curvemaskLocal(localmaskcbutili, params.locallab.spots.at(sp).Lmaskcbcurve, lmaskcblocalcurve, 1);
|
||||||
|
CurveFactory::curvemaskLocal(localmaskblutili, params.locallab.spots.at(sp).Lmaskblcurve, lmaskbllocalcurve, 1);
|
||||||
//provisory
|
//provisory
|
||||||
double ecomp = params.locallab.spots.at(sp).expcomp;
|
double ecomp = params.locallab.spots.at(sp).expcomp;
|
||||||
double black = params.locallab.spots.at(sp).black;
|
double black = params.locallab.spots.at(sp).black;
|
||||||
@ -1252,6 +1255,7 @@ private:
|
|||||||
lmasktmlocalcurve, localmasktmutili,
|
lmasktmlocalcurve, localmasktmutili,
|
||||||
lmaskretilocalcurve, localmaskretiutili,
|
lmaskretilocalcurve, localmaskretiutili,
|
||||||
lmaskcblocalcurve, localmaskcbutili,
|
lmaskcblocalcurve, localmaskcbutili,
|
||||||
|
lmaskbllocalcurve, localmaskblutili,
|
||||||
locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili,
|
locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili,
|
||||||
locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili,
|
locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili,
|
||||||
locccmascbCurve, lcmascbutili, locllmascbCurve, llmascbutili, lochhmascbCurve, lhmascbutili,
|
locccmascbCurve, lcmascbutili, locllmascbCurve, llmascbutili, lochhmascbCurve, lhmascbutili,
|
||||||
@ -1275,6 +1279,7 @@ private:
|
|||||||
lmasktmlocalcurve.clear();
|
lmasktmlocalcurve.clear();
|
||||||
lmaskretilocalcurve.clear();
|
lmaskretilocalcurve.clear();
|
||||||
lmaskcblocalcurve.clear();
|
lmaskcblocalcurve.clear();
|
||||||
|
lmaskbllocalcurve.clear();
|
||||||
shtonecurveloc.clear();
|
shtonecurveloc.clear();
|
||||||
tonecurveloc.clear();
|
tonecurveloc.clear();
|
||||||
lightCurveloc.clear();
|
lightCurveloc.clear();
|
||||||
|
@ -167,6 +167,7 @@ Locallab::Locallab():
|
|||||||
curveEditorGG(new CurveEditorGroup(options.lastlocalCurvesDir, M("TP_VIBRANCE_CURVEEDITOR_SKINTONES_LABEL"))),
|
curveEditorGG(new CurveEditorGroup(options.lastlocalCurvesDir, M("TP_VIBRANCE_CURVEEDITOR_SKINTONES_LABEL"))),
|
||||||
//Blur
|
//Blur
|
||||||
maskblCurveEditorG(new CurveEditorGroup(options.lastlocalCurvesDir, M("TP_LOCALLAB_MASK"))),
|
maskblCurveEditorG(new CurveEditorGroup(options.lastlocalCurvesDir, M("TP_LOCALLAB_MASK"))),
|
||||||
|
mask2blCurveEditorG(new CurveEditorGroup(options.lastlocalCurvesDir, M("TP_LOCALLAB_MASK"))),
|
||||||
|
|
||||||
//TM
|
//TM
|
||||||
masktmCurveEditorG(new CurveEditorGroup(options.lastlocalCurvesDir, M("TP_LOCALLAB_MASK"))),
|
masktmCurveEditorG(new CurveEditorGroup(options.lastlocalCurvesDir, M("TP_LOCALLAB_MASK"))),
|
||||||
@ -2123,6 +2124,24 @@ Locallab::Locallab():
|
|||||||
HHmaskblshape->setBottomBarColorProvider(this, 6);
|
HHmaskblshape->setBottomBarColorProvider(this, 6);
|
||||||
|
|
||||||
maskblCurveEditorG->curveListComplete();
|
maskblCurveEditorG->curveListComplete();
|
||||||
|
|
||||||
|
mask2blCurveEditorG->setCurveListener(this);
|
||||||
|
Lmaskblshape = static_cast<DiagonalCurveEditor*>(mask2blCurveEditorG->addCurve(CT_Diagonal, "L(L)"));
|
||||||
|
Lmaskblshape->setResetCurve(DiagonalCurveType(defSpot.Lmaskblcurve.at(0)), defSpot.Lmaskblcurve);
|
||||||
|
|
||||||
|
if (showtooltip) {
|
||||||
|
Lmaskblshape->setTooltip(M("TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP"));
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<GradientMilestone> mLmaskblshape;
|
||||||
|
mLmaskblshape.push_back(GradientMilestone(0., 0., 0., 0.));
|
||||||
|
mLmaskblshape.push_back(GradientMilestone(1., 1., 1., 1.));
|
||||||
|
Lmaskblshape->setBottomBarBgGradient(mLmaskblshape);
|
||||||
|
Lmaskblshape->setLeftBarBgGradient(mLmaskblshape);
|
||||||
|
mask2blCurveEditorG->curveListComplete();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
enablMaskConn = enablMask->signal_toggled().connect(sigc::mem_fun(*this, &Locallab::enablMaskChanged));
|
enablMaskConn = enablMask->signal_toggled().connect(sigc::mem_fun(*this, &Locallab::enablMaskChanged));
|
||||||
|
|
||||||
showmaskblMethod->append(M("TP_LOCALLAB_SHOWMNONE"));
|
showmaskblMethod->append(M("TP_LOCALLAB_SHOWMNONE"));
|
||||||
@ -2188,6 +2207,7 @@ Locallab::Locallab():
|
|||||||
maskblBox->pack_start(*chromaskbl, Gtk::PACK_SHRINK, 0);
|
maskblBox->pack_start(*chromaskbl, Gtk::PACK_SHRINK, 0);
|
||||||
maskblBox->pack_start(*gammaskbl, Gtk::PACK_SHRINK, 0);
|
maskblBox->pack_start(*gammaskbl, Gtk::PACK_SHRINK, 0);
|
||||||
maskblBox->pack_start(*slomaskbl, Gtk::PACK_SHRINK, 0);
|
maskblBox->pack_start(*slomaskbl, Gtk::PACK_SHRINK, 0);
|
||||||
|
maskblBox->pack_start(*mask2blCurveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor
|
||||||
expmaskbl->add(*maskblBox, false);
|
expmaskbl->add(*maskblBox, false);
|
||||||
panel->pack_start(*expmaskbl);
|
panel->pack_start(*expmaskbl);
|
||||||
|
|
||||||
@ -2331,6 +2351,7 @@ Locallab::~Locallab()
|
|||||||
delete LocalcurveEditorwav;
|
delete LocalcurveEditorwav;
|
||||||
delete masktmCurveEditorG;
|
delete masktmCurveEditorG;
|
||||||
delete maskblCurveEditorG;
|
delete maskblCurveEditorG;
|
||||||
|
delete mask2blCurveEditorG;
|
||||||
delete maskretiCurveEditorG;
|
delete maskretiCurveEditorG;
|
||||||
delete mask2retiCurveEditorG;
|
delete mask2retiCurveEditorG;
|
||||||
delete maskcbCurveEditorG;
|
delete maskcbCurveEditorG;
|
||||||
@ -3393,6 +3414,7 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
|||||||
pp->locallab.spots.at(pp->locallab.selspot).slomaskbl = slomaskbl->getValue();
|
pp->locallab.spots.at(pp->locallab.selspot).slomaskbl = slomaskbl->getValue();
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).lapmaskbl = lapmaskbl->getValue();
|
pp->locallab.spots.at(pp->locallab.selspot).lapmaskbl = lapmaskbl->getValue();
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).fftwbl = fftwbl->get_active();
|
pp->locallab.spots.at(pp->locallab.selspot).fftwbl = fftwbl->get_active();
|
||||||
|
pp->locallab.spots.at(pp->locallab.selspot).Lmaskblcurve = Lmaskblshape->getCurve();
|
||||||
|
|
||||||
// Tone Mapping
|
// Tone Mapping
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).exptonemap = exptonemap->getEnabled();
|
pp->locallab.spots.at(pp->locallab.selspot).exptonemap = exptonemap->getEnabled();
|
||||||
@ -3698,6 +3720,7 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
|||||||
pe->locallab.spots.at(pp->locallab.selspot).slomaskbl = pe->locallab.spots.at(pp->locallab.selspot).slomaskbl || slomaskbl->getEditedState();
|
pe->locallab.spots.at(pp->locallab.selspot).slomaskbl = pe->locallab.spots.at(pp->locallab.selspot).slomaskbl || slomaskbl->getEditedState();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).lapmaskbl = pe->locallab.spots.at(pp->locallab.selspot).lapmaskbl || lapmaskbl->getEditedState();
|
pe->locallab.spots.at(pp->locallab.selspot).lapmaskbl = pe->locallab.spots.at(pp->locallab.selspot).lapmaskbl || lapmaskbl->getEditedState();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).fftwbl = pe->locallab.spots.at(pp->locallab.selspot).fftwbl || !fftwbl->get_inconsistent();
|
pe->locallab.spots.at(pp->locallab.selspot).fftwbl = pe->locallab.spots.at(pp->locallab.selspot).fftwbl || !fftwbl->get_inconsistent();
|
||||||
|
pe->locallab.spots.at(pp->locallab.selspot).Lmaskblcurve = pe->locallab.spots.at(pp->locallab.selspot).Lmaskblcurve || !Lmaskblshape->isUnChanged();
|
||||||
// Tone Mapping
|
// Tone Mapping
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).exptonemap = pe->locallab.spots.at(pp->locallab.selspot).activlum || !exptonemap->get_inconsistent();
|
pe->locallab.spots.at(pp->locallab.selspot).exptonemap = pe->locallab.spots.at(pp->locallab.selspot).activlum || !exptonemap->get_inconsistent();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).stren = pe->locallab.spots.at(pp->locallab.selspot).stren || stren->getEditedState();
|
pe->locallab.spots.at(pp->locallab.selspot).stren = pe->locallab.spots.at(pp->locallab.selspot).stren || stren->getEditedState();
|
||||||
@ -3990,6 +4013,7 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
|||||||
pedited->locallab.spots.at(pp->locallab.selspot).slomaskbl = pedited->locallab.spots.at(pp->locallab.selspot).slomaskbl || slomaskbl->getEditedState();
|
pedited->locallab.spots.at(pp->locallab.selspot).slomaskbl = pedited->locallab.spots.at(pp->locallab.selspot).slomaskbl || slomaskbl->getEditedState();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).lapmaskbl = pedited->locallab.spots.at(pp->locallab.selspot).lapmaskbl || lapmaskbl->getEditedState();
|
pedited->locallab.spots.at(pp->locallab.selspot).lapmaskbl = pedited->locallab.spots.at(pp->locallab.selspot).lapmaskbl || lapmaskbl->getEditedState();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).fftwbl = pedited->locallab.spots.at(pp->locallab.selspot).fftwbl || !fftwbl->get_inconsistent();
|
pedited->locallab.spots.at(pp->locallab.selspot).fftwbl = pedited->locallab.spots.at(pp->locallab.selspot).fftwbl || !fftwbl->get_inconsistent();
|
||||||
|
pedited->locallab.spots.at(pp->locallab.selspot).Lmaskblcurve = pedited->locallab.spots.at(pp->locallab.selspot).Lmaskblcurve || !Lmaskblshape->isUnChanged();
|
||||||
// Tone Mapping
|
// Tone Mapping
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).exptonemap = pedited->locallab.spots.at(pp->locallab.selspot).exptonemap || !exptonemap->get_inconsistent();
|
pedited->locallab.spots.at(pp->locallab.selspot).exptonemap = pedited->locallab.spots.at(pp->locallab.selspot).exptonemap || !exptonemap->get_inconsistent();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).stren = pedited->locallab.spots.at(pp->locallab.selspot).stren || stren->getEditedState();
|
pedited->locallab.spots.at(pp->locallab.selspot).stren = pedited->locallab.spots.at(pp->locallab.selspot).stren || stren->getEditedState();
|
||||||
@ -4395,6 +4419,12 @@ void Locallab::curveChanged(CurveEditor* ce)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ce == Lmaskblshape) {
|
||||||
|
if (listener) {
|
||||||
|
listener->panelChanged(EvlocallabLmaskblshape, M("HISTORY_CUSTOMCURVE"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// TM
|
// TM
|
||||||
@ -8154,6 +8184,7 @@ void Locallab::updateLocallabGUI(const rtengine::procparams::ProcParams* pp, con
|
|||||||
slomaskbl->setValue(pp->locallab.spots.at(index).slomaskbl);
|
slomaskbl->setValue(pp->locallab.spots.at(index).slomaskbl);
|
||||||
lapmaskbl->setValue(pp->locallab.spots.at(index).lapmaskbl);
|
lapmaskbl->setValue(pp->locallab.spots.at(index).lapmaskbl);
|
||||||
fftwbl->set_active(pp->locallab.spots.at(index).fftwbl);
|
fftwbl->set_active(pp->locallab.spots.at(index).fftwbl);
|
||||||
|
Lmaskblshape->setCurve(pp->locallab.spots.at(index).Lmaskblcurve);
|
||||||
|
|
||||||
// Tone Mapping
|
// Tone Mapping
|
||||||
exptonemap->setEnabled(pp->locallab.spots.at(index).exptonemap);
|
exptonemap->setEnabled(pp->locallab.spots.at(index).exptonemap);
|
||||||
@ -8504,6 +8535,7 @@ void Locallab::updateLocallabGUI(const rtengine::procparams::ProcParams* pp, con
|
|||||||
slomaskbl->setEditedState(spotState->slomaskbl ? Edited : UnEdited);
|
slomaskbl->setEditedState(spotState->slomaskbl ? Edited : UnEdited);
|
||||||
lapmaskbl->setEditedState(spotState->lapmaskbl ? Edited : UnEdited);
|
lapmaskbl->setEditedState(spotState->lapmaskbl ? Edited : UnEdited);
|
||||||
fftwbl->set_inconsistent(multiImage && !spotState->fftwbl);
|
fftwbl->set_inconsistent(multiImage && !spotState->fftwbl);
|
||||||
|
Lmaskblshape->setUnChanged(!spotState->Lmaskblcurve);
|
||||||
|
|
||||||
// Tone Mapping
|
// Tone Mapping
|
||||||
exptonemap->set_inconsistent(!spotState->exptonemap);
|
exptonemap->set_inconsistent(!spotState->exptonemap);
|
||||||
|
@ -104,6 +104,8 @@ private:
|
|||||||
DiagonalCurveEditor* skinTonesCurve;
|
DiagonalCurveEditor* skinTonesCurve;
|
||||||
//Blur and noise
|
//Blur and noise
|
||||||
CurveEditorGroup* const maskblCurveEditorG;
|
CurveEditorGroup* const maskblCurveEditorG;
|
||||||
|
CurveEditorGroup* const mask2blCurveEditorG;
|
||||||
|
DiagonalCurveEditor* Lmaskblshape;
|
||||||
FlatCurveEditor* CCmaskblshape;
|
FlatCurveEditor* CCmaskblshape;
|
||||||
FlatCurveEditor* LLmaskblshape;
|
FlatCurveEditor* LLmaskblshape;
|
||||||
FlatCurveEditor* HHmaskblshape;
|
FlatCurveEditor* HHmaskblshape;
|
||||||
|
@ -1107,6 +1107,7 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
|||||||
locallab.spots.at(j).slomaskbl = locallab.spots.at(j).slomaskbl && pSpot.slomaskbl == otherSpot.slomaskbl;
|
locallab.spots.at(j).slomaskbl = locallab.spots.at(j).slomaskbl && pSpot.slomaskbl == otherSpot.slomaskbl;
|
||||||
locallab.spots.at(j).lapmaskbl = locallab.spots.at(j).lapmaskbl && pSpot.lapmaskbl == otherSpot.lapmaskbl;
|
locallab.spots.at(j).lapmaskbl = locallab.spots.at(j).lapmaskbl && pSpot.lapmaskbl == otherSpot.lapmaskbl;
|
||||||
locallab.spots.at(j).fftwbl = locallab.spots.at(j).fftwbl && pSpot.fftwbl == otherSpot.fftwbl;
|
locallab.spots.at(j).fftwbl = locallab.spots.at(j).fftwbl && pSpot.fftwbl == otherSpot.fftwbl;
|
||||||
|
locallab.spots.at(j).Lmaskblcurve = locallab.spots.at(j).Lmaskblcurve && pSpot.Lmaskblcurve == otherSpot.Lmaskblcurve;
|
||||||
// Tone Mapping
|
// Tone Mapping
|
||||||
locallab.spots.at(j).exptonemap = locallab.spots.at(j).exptonemap && pSpot.exptonemap == otherSpot.exptonemap;
|
locallab.spots.at(j).exptonemap = locallab.spots.at(j).exptonemap && pSpot.exptonemap == otherSpot.exptonemap;
|
||||||
locallab.spots.at(j).stren = locallab.spots.at(j).stren && pSpot.stren == otherSpot.stren;
|
locallab.spots.at(j).stren = locallab.spots.at(j).stren && pSpot.stren == otherSpot.stren;
|
||||||
@ -3307,6 +3308,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).lapmaskbl = mods.locallab.spots.at(i).lapmaskbl;
|
toEdit.locallab.spots.at(i).lapmaskbl = mods.locallab.spots.at(i).lapmaskbl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).Lmaskblcurve) {
|
||||||
|
toEdit.locallab.spots.at(i).Lmaskblcurve = mods.locallab.spots.at(i).Lmaskblcurve;
|
||||||
|
}
|
||||||
|
|
||||||
// Tone Mapping
|
// Tone Mapping
|
||||||
if (locallab.spots.at(i).exptonemap) {
|
if (locallab.spots.at(i).exptonemap) {
|
||||||
toEdit.locallab.spots.at(i).exptonemap = mods.locallab.spots.at(i).exptonemap;
|
toEdit.locallab.spots.at(i).exptonemap = mods.locallab.spots.at(i).exptonemap;
|
||||||
@ -4905,6 +4910,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
|
|||||||
gammaskbl(v),
|
gammaskbl(v),
|
||||||
slomaskbl(v),
|
slomaskbl(v),
|
||||||
lapmaskbl(v),
|
lapmaskbl(v),
|
||||||
|
Lmaskblcurve(v),
|
||||||
// Tone Mapping
|
// Tone Mapping
|
||||||
exptonemap(v),
|
exptonemap(v),
|
||||||
stren(v),
|
stren(v),
|
||||||
@ -5190,6 +5196,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
|
|||||||
gammaskbl = v;
|
gammaskbl = v;
|
||||||
slomaskbl = v;
|
slomaskbl = v;
|
||||||
lapmaskbl = v;
|
lapmaskbl = v;
|
||||||
|
Lmaskblcurve = v;
|
||||||
// Tone Mapping
|
// Tone Mapping
|
||||||
exptonemap = v;
|
exptonemap = v;
|
||||||
stren = v;
|
stren = v;
|
||||||
|
@ -526,6 +526,7 @@ public:
|
|||||||
bool gammaskbl;
|
bool gammaskbl;
|
||||||
bool slomaskbl;
|
bool slomaskbl;
|
||||||
bool lapmaskbl;
|
bool lapmaskbl;
|
||||||
|
bool Lmaskblcurve;
|
||||||
// Tone Mapping
|
// Tone Mapping
|
||||||
bool exptonemap;
|
bool exptonemap;
|
||||||
bool stren;
|
bool stren;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user