Prepare mask TM
This commit is contained in:
parent
a5389adbf6
commit
893831c45b
@ -910,6 +910,9 @@ void Crop::update(int todo)
|
||||
bool lhmasretiutili = parent->lhmasretiutili;
|
||||
bool lcmasretiutili = parent->lcmasretiutili;
|
||||
bool llmasretiutili = parent->llmasretiutili;
|
||||
bool lhmastmutili = parent->lhmastmutili;
|
||||
bool lcmastmutili = parent->lcmastmutili;
|
||||
bool llmastmutili = parent->llmastmutili;
|
||||
|
||||
// float avg = parent->avg;
|
||||
LUTu dummy;
|
||||
@ -932,6 +935,9 @@ void Crop::update(int todo)
|
||||
LocCCmaskretiCurve locccmasretiCurve;
|
||||
LocLLmaskretiCurve locllmasretiCurve;
|
||||
LocHHmaskretiCurve lochhmasretiCurve;
|
||||
LocCCmasktmCurve locccmastmCurve;
|
||||
LocLLmasktmCurve locllmastmCurve;
|
||||
LocHHmasktmCurve lochhmastmCurve;
|
||||
|
||||
LocretigainCurverab locRETgainCurverab;
|
||||
locallutili = false;
|
||||
@ -960,6 +966,9 @@ void Crop::update(int todo)
|
||||
locccmasretiCurve.Set(params.locallab.spots.at(sp).CCmaskreticurve, lcmasretiutili);
|
||||
locllmasretiCurve.Set(params.locallab.spots.at(sp).LLmaskreticurve, llmasretiutili);
|
||||
lochhmasretiCurve.Set(params.locallab.spots.at(sp).HHmaskreticurve, lhmasretiutili);
|
||||
locccmastmCurve.Set(params.locallab.spots.at(sp).CCmasktmcurve, lcmastmutili);
|
||||
locllmastmCurve.Set(params.locallab.spots.at(sp).LLmasktmcurve, llmastmutili);
|
||||
lochhmastmCurve.Set(params.locallab.spots.at(sp).HHmasktmcurve, lhmastmutili);
|
||||
locallutili = false;
|
||||
CurveFactory::curveLocal(locallutili, params.locallab.spots.at(sp).llcurve, lllocalcurve2, sca);
|
||||
localcutili = false;
|
||||
@ -995,14 +1004,16 @@ void Crop::update(int todo)
|
||||
locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili,
|
||||
locccmascbCurve, lcmascbutili, locllmascbCurve, llmascbutili, lochhmascbCurve, lhmascbutili,
|
||||
locccmasretiCurve, lcmasretiutili, locllmasretiCurve, llmasretiutili, lochhmasretiCurve, lhmasretiutili,
|
||||
LHutili, HHutili, cclocalcurve2, localcutili, localexutili, exlocalcurve2, hltonecurveloc2, shtonecurveloc2, tonecurveloc2, lightCurveloc2, huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, parent->locallColorMask, parent->locallExpMask, parent->locallSHMask, parent->locallcbMask, parent->locallretiMask, parent->locallsoftMask);
|
||||
locccmastmCurve, lcmastmutili, locllmastmCurve, llmastmutili, lochhmastmCurve, lhmastmutili,
|
||||
LHutili, HHutili, cclocalcurve2, localcutili, localexutili, exlocalcurve2, hltonecurveloc2, shtonecurveloc2, tonecurveloc2, lightCurveloc2, huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, parent->locallColorMask, parent->locallExpMask, parent->locallSHMask, parent->locallcbMask, parent->locallretiMask, parent->locallsoftMask, parent->localltmMask);
|
||||
} else {
|
||||
parent->ipf.Lab_Local(1, sp, (float**)shbuffer, labnCrop, labnCrop, reservCrop, cropx / skip, cropy / skip, skips(parent->fw, skip), skips(parent->fh, skip), skip, locRETgainCurve, lllocalcurve2,locallutili,
|
||||
loclhCurve, lochhCurve, locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili,
|
||||
locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili,
|
||||
locccmascbCurve, lcmascbutili, locllmascbCurve, llmascbutili, lochhmascbCurve, lhmascbutili,
|
||||
locccmasretiCurve, lcmasretiutili, locllmasretiCurve, llmasretiutili, lochhmasretiCurve, lhmasretiutili,
|
||||
LHutili, HHutili, cclocalcurve2, localcutili, localexutili, exlocalcurve2, hltonecurveloc2, shtonecurveloc2, tonecurveloc2, lightCurveloc2, huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, 0, 0, 0, 0, 0, 0);
|
||||
locccmastmCurve, lcmastmutili, locllmastmCurve, llmastmutili, lochhmastmCurve, lhmastmutili,
|
||||
LHutili, HHutili, cclocalcurve2, localcutili, localexutili, exlocalcurve2, hltonecurveloc2, shtonecurveloc2, tonecurveloc2, lightCurveloc2, huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, 0, 0, 0, 0, 0, 0, 0);
|
||||
}
|
||||
lllocalcurve2.clear();
|
||||
lightCurveloc2.clear();
|
||||
@ -1029,6 +1040,9 @@ void Crop::update(int todo)
|
||||
locllmasretiCurve.Reset();
|
||||
locccmasretiCurve.Reset();
|
||||
lochhmasretiCurve.Reset();
|
||||
locllmastmCurve.Reset();
|
||||
locccmastmCurve.Reset();
|
||||
lochhmastmCurve.Reset();
|
||||
|
||||
if (skip <= 2) {
|
||||
usleep(settings->cropsleep); //wait to avoid crash when crop 100% and move window
|
||||
|
@ -901,6 +901,9 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
||||
lcmasretiutili = false;
|
||||
lhmasretiutili = false;
|
||||
llmasretiutili = false;
|
||||
lcmastmutili = false;
|
||||
lhmastmutili = false;
|
||||
llmastmutili = false;
|
||||
lhmasutili = false;
|
||||
lcmasutili = false;
|
||||
locRETgainCurve.Set(params->locallab.spots.at(sp).localTgaincurve);
|
||||
@ -921,6 +924,9 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
||||
locllmasretiCurve.Set(params->locallab.spots.at(sp).LLmaskreticurve, llmasretiutili);
|
||||
locccmasretiCurve.Set(params->locallab.spots.at(sp).CCmaskreticurve, lcmasretiutili);
|
||||
lochhmasretiCurve.Set(params->locallab.spots.at(sp).HHmaskreticurve, lhmasretiutili);
|
||||
locllmastmCurve.Set(params->locallab.spots.at(sp).LLmasktmcurve, llmastmutili);
|
||||
locccmastmCurve.Set(params->locallab.spots.at(sp).CCmasktmcurve, lcmastmutili);
|
||||
lochhmastmCurve.Set(params->locallab.spots.at(sp).HHmasktmcurve, lhmastmutili);
|
||||
CurveFactory::curveLocal(locallutili, params->locallab.spots.at(sp).llcurve, lllocalcurve, sca);
|
||||
CurveFactory::curveCCLocal(localcutili, params->locallab.spots.at(sp).cccurve, cclocalcurve, sca);
|
||||
CurveFactory::curveexLocal(localexutili, params->locallab.spots.at(sp).excurve, exlocalcurve, sca);
|
||||
@ -969,13 +975,15 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
||||
locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili,
|
||||
locccmascbCurve, lcmascbutili, locllmascbCurve, llmascbutili, lochhmascbCurve, lhmascbutili,
|
||||
locccmasretiCurve, lcmasretiutili, locllmasretiCurve, llmasretiutili, lochhmasretiCurve, lhmasretiutili,
|
||||
LHutili, HHutili, cclocalcurve, localcutili, localexutili, exlocalcurve, hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc, huerblu, chromarblu, lumarblu, huer, chromar, lumar, sobeler, locallColorMask, locallExpMask, locallSHMask, locallcbMask, locallretiMask, locallsoftMask);
|
||||
locccmastmCurve, lcmastmutili, locllmastmCurve, llmastmutili, lochhmastmCurve, lhmastmutili,
|
||||
LHutili, HHutili, cclocalcurve, localcutili, localexutili, exlocalcurve, hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc, huerblu, chromarblu, lumarblu, huer, chromar, lumar, sobeler, locallColorMask, locallExpMask, locallSHMask, locallcbMask, locallretiMask, locallsoftMask, localltmMask);
|
||||
} else {
|
||||
ipf.Lab_Local(3, sp, (float**)shbuffer, nprevl, nprevl, reserv, 0, 0, pW, pH, scale, locRETgainCurve, lllocalcurve, locallutili, loclhCurve, lochhCurve, locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili,
|
||||
locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili,
|
||||
locccmascbCurve, lcmascbutili, locllmascbCurve, llmascbutili, lochhmascbCurve, lhmascbutili,
|
||||
locccmasretiCurve, lcmasretiutili, locllmasretiCurve, llmasretiutili, lochhmasretiCurve, lhmasretiutili,
|
||||
LHutili, HHutili, cclocalcurve, localcutili, localexutili, exlocalcurve, hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc, huerblu, chromarblu, lumarblu, huer, chromar, lumar, sobeler, 0, 0, 0, 0, 0, 0);
|
||||
locccmastmCurve, lcmastmutili, locllmastmCurve, llmastmutili, lochhmastmCurve, lhmastmutili,
|
||||
LHutili, HHutili, cclocalcurve, localcutili, localexutili, exlocalcurve, hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc, huerblu, chromarblu, lumarblu, huer, chromar, lumar, sobeler, 0, 0, 0, 0, 0, 0, 0);
|
||||
}
|
||||
//recalculate references after
|
||||
if (params->locallab.spots.at(sp).spotMethod == "exc") {
|
||||
@ -1009,6 +1017,9 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
||||
locllmasretiCurve.Reset();
|
||||
locccmasretiCurve.Reset();
|
||||
lochhmasretiCurve.Reset();
|
||||
locllmastmCurve.Reset();
|
||||
locccmastmCurve.Reset();
|
||||
lochhmastmCurve.Reset();
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -251,6 +251,9 @@ protected:
|
||||
LocCCmaskretiCurve locccmasretiCurve;
|
||||
LocLLmaskretiCurve locllmasretiCurve;
|
||||
LocHHmaskretiCurve lochhmasretiCurve;
|
||||
LocCCmasktmCurve locccmastmCurve;
|
||||
LocLLmasktmCurve locllmastmCurve;
|
||||
LocHHmasktmCurve lochhmastmCurve;
|
||||
|
||||
bool locallutili;
|
||||
bool localcutili;
|
||||
@ -270,6 +273,9 @@ protected:
|
||||
bool lcmasretiutili;
|
||||
bool lhmasretiutili;
|
||||
bool llmasretiutili;
|
||||
bool lcmastmutili;
|
||||
bool lhmastmutili;
|
||||
bool llmastmutili;
|
||||
bool LHutili;
|
||||
bool HHutili;
|
||||
LUTf huerefs;
|
||||
|
@ -314,7 +314,8 @@ public:
|
||||
const LocCCmaskSHCurve & locccmasSHCurve, bool &lcmasSHutili, const LocLLmaskSHCurve & locllmasSHCurve, bool &llmasSHutili, const LocHHmaskSHCurve & lochhmasSHCurve, bool & lhmasSHutili,
|
||||
const LocCCmaskcbCurve & locccmascbCurve, bool &lcmascbutili, const LocLLmaskcbCurve & locllmascbCurve, bool &llmascbutili, const LocHHmaskcbCurve & lochhmascbCurve, bool & lhmascbutili,
|
||||
const LocCCmaskretiCurve & locccmasretiCurve, bool &lcmasretiutili, const LocLLmaskretiCurve & locllmasretiCurve, bool &llmasretiutili, const LocHHmaskretiCurve & lochhmasretiCurve, bool & lhmasretiutili,
|
||||
bool &LHutili, bool &HHutili, LUTf & cclocalcurve, bool & localcutili, 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 llColorMask, int llExpMask, int llSHMask, int llcbMask, int llretiMask, int llsoftMask);
|
||||
const LocCCmasktmCurve & locccmastmCurve, bool &lcmastmutili, const LocLLmasktmCurve & locllmastmCurve, bool &llmastmutili, const LocHHmasktmCurve & lochhmastmCurve, bool & lhmastmutili,
|
||||
bool &LHutili, bool &HHutili, LUTf & cclocalcurve, bool & localcutili, 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 llColorMask, int llExpMask, int llSHMask, int llcbMask, int llretiMask, int llsoftMask, int lltmMask);
|
||||
void addGaNoise(LabImage *lab, LabImage *dst, const float mean, const float variance, const int sk);
|
||||
void BlurNoise_Localold(int call, const struct local_params& lp, LabImage* original, LabImage* transformed, const LabImage* const tmp1, int cx, int cy);
|
||||
void InverseBlurNoise_Local(const struct local_params& lp, const float hueref, const float chromaref, const float lumaref, LabImage* original, LabImage* transformed, const LabImage* const tmp1, int cx, int cy, int sk);
|
||||
|
@ -219,6 +219,11 @@ struct local_params {
|
||||
float chromacbm;
|
||||
float gammacb;
|
||||
float slomacb;
|
||||
float radmatm;
|
||||
float blendmatm;
|
||||
float chromatm;
|
||||
float gammatm;
|
||||
float slomatm;
|
||||
float struexp;
|
||||
float blurexp;
|
||||
float blurcol;
|
||||
@ -260,6 +265,7 @@ struct local_params {
|
||||
int showmaskcbmet;
|
||||
int showmaskretimet;
|
||||
int showmasksoftmet;
|
||||
int showmasktmmet;
|
||||
float laplacexp;
|
||||
float balanexp;
|
||||
float linear;
|
||||
@ -317,6 +323,7 @@ struct local_params {
|
||||
bool enacbMask;
|
||||
bool enaretiMask;
|
||||
bool enaretiMasktmap;
|
||||
bool enatmMask;
|
||||
int highlihs;
|
||||
int shadowhs;
|
||||
int radiushs;
|
||||
@ -410,7 +417,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 llExpMask, int llSHMask, int llcbMask, int llretiMask, int llsoftMask)
|
||||
static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locallab, struct local_params& lp, int llColorMask, int llExpMask, int llSHMask, int llcbMask, int llretiMask, int llsoftMask, int lltmMask)
|
||||
{
|
||||
int w = oW;
|
||||
int h = oH;
|
||||
@ -487,11 +494,13 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall
|
||||
lp.showmaskcbmet = llcbMask;
|
||||
lp.showmaskretimet = llretiMask;
|
||||
lp.showmasksoftmet = llsoftMask;
|
||||
//if(locallab.spots.at(sp).enaretiMask) printf("enaritrue\n"); else printf("enaritfalse\n");
|
||||
lp.enaExpMask = locallab.spots.at(sp).enaExpMask && llExpMask == 0 && llColorMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0;// Exposure mask is deactivated if Color & Light mask is visible
|
||||
lp.enaSHMask = locallab.spots.at(sp).enaSHMask && llSHMask == 0 && llColorMask == 0 && llExpMask == 0 && llcbMask == 0 && llretiMask == 0;
|
||||
lp.enacbMask = locallab.spots.at(sp).enacbMask && llcbMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llretiMask == 0;
|
||||
lp.enaretiMask = locallab.spots.at(sp).enaretiMask && llretiMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0;
|
||||
lp.showmasktmmet = lltmMask;
|
||||
// printf("lpshmasktm=%i\n",lp.showmasktmmet);
|
||||
lp.enaExpMask = locallab.spots.at(sp).enaExpMask && llExpMask == 0 && llColorMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0;// Exposure mask is deactivated if Color & Light mask is visible
|
||||
lp.enaSHMask = locallab.spots.at(sp).enaSHMask && llSHMask == 0 && llColorMask == 0 && llExpMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0;
|
||||
lp.enacbMask = locallab.spots.at(sp).enacbMask && llcbMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llretiMask == 0 && lltmMask == 0;
|
||||
lp.enaretiMask = locallab.spots.at(sp).enaretiMask && llretiMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && lltmMask == 0;
|
||||
lp.enatmMask = locallab.spots.at(sp).enatmMask && lltmMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0;
|
||||
// if(lp.enaretiMask) printf("lp.enaretiMasktrue\n"); else printf("lp.enaretiMaskfalse\n");
|
||||
|
||||
if (locallab.spots.at(sp).softMethod == "soft") {
|
||||
@ -633,6 +642,12 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall
|
||||
float slomaskcb = ((float) locallab.spots.at(sp).slomaskcb);
|
||||
bool enaretiMasktm = locallab.spots.at(sp).enaretiMasktmap;
|
||||
lp.enaretiMasktmap = enaretiMasktm;
|
||||
float blendmasktm = ((float) locallab.spots.at(sp).blendmasktm) / 100.f ;
|
||||
float radmasktm = ((float) locallab.spots.at(sp).radmasktm);
|
||||
float chromasktm = ((float) locallab.spots.at(sp).chromasktm);
|
||||
float gammasktm = ((float) locallab.spots.at(sp).gammasktm);
|
||||
float slomasktm = ((float) locallab.spots.at(sp).slomasktm);
|
||||
|
||||
lp.scalereti = scaleret;
|
||||
lp.cir = circr;
|
||||
lp.actsp = acti;
|
||||
@ -673,6 +688,11 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall
|
||||
lp.chromacbm = chromaskcb;
|
||||
lp.gammacb = gammaskcb;
|
||||
lp.slomacb = slomaskcb;
|
||||
lp.blendmatm = blendmasktm;
|
||||
lp.radmatm = radmasktm;
|
||||
lp.chromatm = chromasktm;
|
||||
lp.gammatm = gammasktm;
|
||||
lp.slomatm = slomasktm;
|
||||
|
||||
lp.struexp = structexpo;
|
||||
lp.blurexp = blurexpo;
|
||||
@ -3549,7 +3569,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);
|
||||
calcLocalParams(sp, oW, oH, params->locallab, lp, 0, 0, 0, 0, 0, 0, 0);
|
||||
int begy = lp.yc - lp.lyT;
|
||||
int begx = lp.xc - lp.lxL;
|
||||
int yEn = lp.yc + lp.ly;
|
||||
@ -4873,7 +4893,8 @@ void ImProcFunctions::Lab_Local(int call, int sp, float** shbuffer, LabImage * o
|
||||
const LocCCmaskSHCurve & locccmasSHCurve, bool &lcmasSHutili, const LocLLmaskSHCurve & locllmasSHCurve, bool &llmasSHutili, const LocHHmaskSHCurve & lochhmasSHCurve, bool & lhmasSHutili,
|
||||
const LocCCmaskcbCurve & locccmascbCurve, bool &lcmascbutili, const LocLLmaskcbCurve & locllmascbCurve, bool &llmascbutili, const LocHHmaskcbCurve & lochhmascbCurve, bool & lhmascbutili,
|
||||
const LocCCmaskretiCurve & locccmasretiCurve, bool &lcmasretiutili, const LocLLmaskretiCurve & locllmasretiCurve, bool &llmasretiutili, const LocHHmaskretiCurve & lochhmasretiCurve, bool & lhmasretiutili,
|
||||
bool & LHutili, bool & HHutili, LUTf & cclocalcurve, bool & localcutili, 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 llColorMask, int llExpMask, int llSHMask, int llcbMask, int llretiMask, int llsoftMask)
|
||||
const LocCCmasktmCurve & locccmastmCurve, bool &lcmastmutili, const LocLLmasktmCurve & locllmastmCurve, bool &llmastmutili, const LocHHmasktmCurve & lochhmastmCurve, bool & lhmastmutili,
|
||||
bool & LHutili, bool & HHutili, LUTf & cclocalcurve, bool & localcutili, 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 llColorMask, int llExpMask, int llSHMask, int llcbMask, int llretiMask, int llsoftMask, int lltmMask)
|
||||
{
|
||||
/* comment on processus deltaE
|
||||
* the algo uses 3 different ways to manage deltaE according to the type of intervention
|
||||
@ -4903,7 +4924,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
|
||||
|
||||
struct local_params lp;
|
||||
calcLocalParams(sp, oW, oH, params->locallab, lp, llColorMask, llExpMask, llSHMask, llcbMask, llretiMask, llsoftMask);
|
||||
calcLocalParams(sp, oW, oH, params->locallab, lp, llColorMask, llExpMask, llSHMask, llcbMask, llretiMask, llsoftMask, lltmMask);
|
||||
|
||||
const float radius = lp.rad / (sk * 1.4f); //0 to 70 ==> see skip
|
||||
int strred = 1;//(lp.strucc - 1);
|
||||
|
@ -1106,6 +1106,9 @@ private:
|
||||
LocCCmaskretiCurve locccmasretiCurve;
|
||||
LocLLmaskretiCurve locllmasretiCurve;
|
||||
LocHHmaskretiCurve lochhmasretiCurve;
|
||||
LocCCmasktmCurve locccmastmCurve;
|
||||
LocLLmasktmCurve locllmastmCurve;
|
||||
LocHHmasktmCurve lochhmastmCurve;
|
||||
LUTf lllocalcurve(65536, 0);
|
||||
LUTf cclocalcurve(65536, 0);
|
||||
LUTf hltonecurveloc(65536, 0);
|
||||
@ -1145,6 +1148,9 @@ private:
|
||||
bool lcmasretiutili = false;
|
||||
bool lhmasretiutili = false;
|
||||
bool llmasretiutili = false;
|
||||
bool lcmastmutili = false;
|
||||
bool lhmastmutili = false;
|
||||
bool llmastmutili = false;
|
||||
bool lcmasutili = false;
|
||||
bool lhmasutili = false;
|
||||
locRETgainCurve.Set(params.locallab.spots.at(sp).localTgaincurve);
|
||||
@ -1165,6 +1171,9 @@ private:
|
||||
locccmasretiCurve.Set(params.locallab.spots.at(sp).CCmaskreticurve, lcmasretiutili);
|
||||
locllmasretiCurve.Set(params.locallab.spots.at(sp).LLmaskreticurve, llmasretiutili);
|
||||
lochhmasretiCurve.Set(params.locallab.spots.at(sp).HHmaskreticurve, lhmasretiutili);
|
||||
locccmastmCurve.Set(params.locallab.spots.at(sp).CCmasktmcurve, lcmastmutili);
|
||||
locllmastmCurve.Set(params.locallab.spots.at(sp).LLmasktmcurve, llmastmutili);
|
||||
lochhmastmCurve.Set(params.locallab.spots.at(sp).HHmasktmcurve, lhmastmutili);
|
||||
CurveFactory::curveLocal(locallutili, params.locallab.spots.at(sp).llcurve, lllocalcurve, 1);
|
||||
CurveFactory::curveCCLocal(localcutili, params.locallab.spots.at(sp).cccurve, cclocalcurve, 1);
|
||||
CurveFactory::curveexLocal(localexutili, params.locallab.spots.at(sp).excurve, exlocalcurve, 1);
|
||||
@ -1194,7 +1203,8 @@ private:
|
||||
locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili,
|
||||
locccmascbCurve, lcmascbutili, locllmascbCurve, llmascbutili, lochhmascbCurve, lhmascbutili,
|
||||
locccmasretiCurve, lcmasretiutili, locllmasretiCurve, llmasretiutili, lochhmasretiCurve, lhmasretiutili,
|
||||
LHutili, HHutili, cclocalcurve, localcutili, localexutili, exlocalcurve, hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc, huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, 0, 0, 0, 0, 0, 0);
|
||||
locccmastmCurve, lcmastmutili, locllmastmCurve, llmastmutili, lochhmastmCurve, lhmastmutili,
|
||||
LHutili, HHutili, cclocalcurve, localcutili, localexutili, exlocalcurve, hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc, huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, 0, 0, 0, 0, 0, 0, 0);
|
||||
|
||||
|
||||
// Clear local curves
|
||||
|
Loading…
x
Reference in New Issue
Block a user