iplocallab.cc: further cleanups

This commit is contained in:
Ingo Weyrich 2020-06-01 15:31:50 +02:00
parent bdef177e87
commit f6714b2171
2 changed files with 4895 additions and 4909 deletions

View File

@ -285,40 +285,40 @@ public:
void calc_ref(int sp, LabImage* original, LabImage* transformed, int cx, int cy, int oW, int oH, int sk, double &huerefblur, double &chromarefblur, double &lumarefblur, double &hueref, double &chromaref, double &lumaref, double &sobelref, float &avg, const LocwavCurve & locwavCurveden, bool locwavdenutili);
void copy_ref(LabImage* spotbuffer, LabImage* original, LabImage* transformed, int cx, int cy, int sk, const struct local_params & lp, double &huerefspot, double &chromarefspot, double &lumarefspot);
void paste_ref(LabImage* spotbuffer, LabImage* transformed, int cx, int cy, int sk, const struct local_params & lp);
void Lab_Local(int call, int sp, float** shbuffer, LabImage* original, LabImage* transformed, LabImage* reserved, LabImage* lastorig, int cx, int cy, int oW, int oH, int sk, const LocretigainCurve & locRETgainCcurve, const LocretitransCurve &locRETtransCcurve,
void Lab_Local(int call, int sp, float** shbuffer, LabImage* original, LabImage* transformed, LabImage* reserved, LabImage* lastorig, int cx, int cy, int oW, int oH, int sk, const LocretigainCurve& locRETgainCcurve, const LocretitransCurve &locRETtransCcurve,
const LUTf& lllocalcurve, bool locallutili,
const LUTf& cllocalcurve, bool localclutili,
const LUTf& lclocalcurve, bool locallcutili,
const LocLHCurve& loclhCurve, const LocHHCurve & lochhCurve,
const LocLHCurve& loclhCurve, const LocHHCurve& lochhCurve,
const LUTf& lmasklocalcurve, bool localmaskutili,
const LUTf& lmaskexplocalcurve, bool localmaskexputili,
const LUTf& lmaskSHlocalcurve, bool localmaskSHutili,
const LUTf& lmaskviblocalcurve, bool localmaskvibutili,
const LUTf & lmasktmlocalcurve, bool localmasktmutili,
LUTf & lmaskretilocalcurve, bool localmaskretiutili,
const LUTf& lmasktmlocalcurve, bool localmasktmutili,
LUTf& lmaskretilocalcurve, bool localmaskretiutili,
const LUTf& lmaskcblocalcurve, bool localmaskcbutili,
const LUTf& lmaskbllocalcurve, bool localmaskblutili,
const LUTf& lmasklclocalcurve, bool localmasklcutili,
const LocCCmaskCurve & locccmasCurve, bool lcmasutili, const LocLLmaskCurve & locllmasCurve, bool llmasutili, const LocHHmaskCurve & lochhmasCurve, bool lhmasutili, const LocHHmaskCurve & lochhhmasCurve, bool lhhmasutili,
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 & locccmasvibCurve, bool lcmasvibutili, const LocLLmaskCurve & locllmasvibCurve, bool llmasvibutili, const LocHHmaskCurve & lochhmasvibCurve, bool lhmasvibutili,
const LocCCmaskCurve & locccmascbCurve, bool lcmascbutili, const LocLLmaskCurve & locllmascbCurve, bool llmascbutili, const LocHHmaskCurve & lochhmascbCurve, bool lhmascbutili,
const LocCCmaskCurve & locccmasretiCurve, bool lcmasretiutili, const LocLLmaskCurve & locllmasretiCurve, bool llmasretiutili, const LocHHmaskCurve & lochhmasretiCurve, bool lhmasretiutili,
const LocCCmaskCurve & locccmastmCurve, bool lcmastmutili, const LocLLmaskCurve & locllmastmCurve, bool llmastmutili, const LocHHmaskCurve & lochhmastmCurve, bool lhmastmutili,
const LocCCmaskCurve & locccmasblCurve, bool lcmasblutili, const LocLLmaskCurve & locllmasblCurve, bool llmasblutili, const LocHHmaskCurve & lochhmasblCurve, bool lhmasblutili,
const LocCCmaskCurve & locccmaslcCurve, bool lcmaslcutili, const LocLLmaskCurve & locllmaslcCurve, bool llmaslcutili, const LocHHmaskCurve & lochhmaslcCurve, bool lhmaslcutili,
const LocwavCurve & loclmasCurveblwav, bool lmasutiliblwav,
const LocwavCurve & loclmasCurvecolwav, bool lmasutilicolwav,
const LocwavCurve & locwavCurve, bool locwavutili,
const LocwavCurve & loclevwavCurve, bool loclevwavutili,
const LocwavCurve & locconwavCurve, bool locconwavutili,
const LocwavCurve & loccompwavCurve, bool loccompwavutili,
const LocwavCurve & loccomprewavCurve, bool loccomprewavutili,
const LocwavCurve & locwavCurveden, bool locwavdenutili,
const LocwavCurve & locedgwavCurve, bool locedgwavutili,
bool LHutili, bool HHutili, const LUTf& cclocalcurve, bool localcutili, LUTf & rgblocalcurve, bool localrgbutili, bool localexutili, const LUTf& exlocalcurve, const LUTf& hltonecurveloc, const LUTf& shtonecurveloc, const LUTf& tonecurveloc, const LUTf& lightCurveloc,
double & huerefblur, double &chromarefblur, double & lumarefblur, double &hueref, double &chromaref, double &lumaref, double &sobelref, int &lastsav,
const LocCCmaskCurve& locccmasCurve, bool lcmasutili, const LocLLmaskCurve& locllmasCurve, bool llmasutili, const LocHHmaskCurve& lochhmasCurve, bool lhmasutili, const LocHHmaskCurve& lochhhmasCurve, bool lhhmasutili,
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& locccmasvibCurve, bool lcmasvibutili, const LocLLmaskCurve& locllmasvibCurve, bool llmasvibutili, const LocHHmaskCurve& lochhmasvibCurve, bool lhmasvibutili,
const LocCCmaskCurve& locccmascbCurve, bool lcmascbutili, const LocLLmaskCurve& locllmascbCurve, bool llmascbutili, const LocHHmaskCurve& lochhmascbCurve, bool lhmascbutili,
const LocCCmaskCurve& locccmasretiCurve, bool lcmasretiutili, const LocLLmaskCurve& locllmasretiCurve, bool llmasretiutili, const LocHHmaskCurve& lochhmasretiCurve, bool lhmasretiutili,
const LocCCmaskCurve& locccmastmCurve, bool lcmastmutili, const LocLLmaskCurve& locllmastmCurve, bool llmastmutili, const LocHHmaskCurve& lochhmastmCurve, bool lhmastmutili,
const LocCCmaskCurve& locccmasblCurve, bool lcmasblutili, const LocLLmaskCurve& locllmasblCurve, bool llmasblutili, const LocHHmaskCurve& lochhmasblCurve, bool lhmasblutili,
const LocCCmaskCurve& locccmaslcCurve, bool lcmaslcutili, const LocLLmaskCurve& locllmaslcCurve, bool llmaslcutili, const LocHHmaskCurve& lochhmaslcCurve, bool lhmaslcutili,
const LocwavCurve& loclmasCurveblwav, bool lmasutiliblwav,
const LocwavCurve& loclmasCurvecolwav, bool lmasutilicolwav,
const LocwavCurve& locwavCurve, bool locwavutili,
const LocwavCurve& loclevwavCurve, bool loclevwavutili,
const LocwavCurve& locconwavCurve, bool locconwavutili,
const LocwavCurve& loccompwavCurve, bool loccompwavutili,
const LocwavCurve& loccomprewavCurve, bool loccomprewavutili,
const LocwavCurve& locwavCurveden, bool locwavdenutili,
const LocwavCurve& locedgwavCurve, bool locedgwavutili,
bool LHutili, bool HHutili, const LUTf& cclocalcurve, bool localcutili, LUTf& rgblocalcurve, bool localrgbutili, bool localexutili, const LUTf& exlocalcurve, const LUTf& hltonecurveloc, const LUTf& shtonecurveloc, const LUTf& tonecurveloc, const LUTf& lightCurveloc,
double& huerefblur, double &chromarefblur, double& lumarefblur, double &hueref, double &chromaref, double &lumaref, double &sobelref, int &lastsav,
bool prevDeltaE, 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);

View File

@ -4106,9 +4106,9 @@ void ImProcFunctions::maskcalccol(bool invmask, bool pde, int bfw, int bfh, int
}
if (rad != 0.f) {
const float blur = rad < 0.f ? -1.f / rad : 1.f + rad;
const int r1 = max(int(4 / sk * blur + 0.5), 1);
const int r2 = max(int(25 / sk * blur + 0.5), 1);
const float tmpblur = rad < 0.f ? -1.f / rad : 1.f + rad;
const int r1 = std::max<int>(4 / sk * tmpblur + 0.5, 1);
const int r2 = std::max<int>(25 / sk * tmpblur + 0.5, 1);
constexpr float epsilmax = 0.0005f;
constexpr float epsilmin = 0.00001f;
@ -7727,22 +7727,22 @@ void ImProcFunctions::wavcontrast4(struct local_params& lp, float ** tmp, float
for (int dir = 1; dir < 4; dir++) {
for (int level = level_bl; level < maxlvl; ++level) {
if (MaxP[level] > 0.f && mean[level] != 0.f && sigma[level] != 0.f) {
int W_L = wdspot->level_W(level);
int H_L = wdspot->level_H(level);
const int W_L = wdspot->level_W(level);
const int H_L = wdspot->level_H(level);
float **wav_L = wdspot->level_coeffs(level);
float effect = lp.sigmalc2;
float offs = 1.f;
const float effect = lp.sigmalc2;
constexpr float offset = 1.f;
float mea[10];
calceffect(level, mean, sigma, mea, effect, offs);
float insigma = 0.666f; //SD
float logmax = log(MaxP[level]); //log Max
float rapX = (mean[level] + lp.sigmalc2 * sigma[level]) / MaxP[level]; //rapport between sD / max
float inx = log(insigma);
float iny = log(rapX);
float rap = inx / iny; //koef
float asig = 0.166f / (sigma[level] * lp.sigmalc2);
float bsig = 0.5f - asig * mean[level];
float amean = 0.5f / mean[level];
calceffect(level, mean, sigma, mea, effect, offset);
constexpr float insigma = 0.666f; //SD
const float logmax = std::log(MaxP[level]); //log Max
const float rapX = (mean[level] + lp.sigmalc2 * sigma[level]) / MaxP[level]; //rapport between sD / max
const float inx = std::log(insigma);
const float iny = std::log(rapX);
const float rap = inx / iny; //koef
const float asig = 0.166f / (sigma[level] * lp.sigmalc2);
const float bsig = 0.5f - asig * mean[level];
const float amean = 0.5f / mean[level];
#ifdef _OPENMP
#pragma omp parallel for if (multiThread)
@ -7750,7 +7750,7 @@ void ImProcFunctions::wavcontrast4(struct local_params& lp, float ** tmp, float
for (int y = 0; y < H_L; y++) {
for (int x = 0; x < W_L; x++) {
float WavCL = std::fabs(wav_L[dir][y * W_L + x]);
const float WavCL = std::fabs(wav_L[dir][y * W_L + x]);
float beta;
if (WavCL < mea[0]) {
@ -7781,10 +7781,8 @@ void ImProcFunctions::wavcontrast4(struct local_params& lp, float ** tmp, float
float &val = wav_L[dir][y * W_L + x];
if (std::fabs(val) >= (mean[level] + lp.sigmalc2 * sigma[level])) { //for max
float valcour = xlogf(std::fabs(val));
float valc = valcour - logmax;
float vald = valc * rap;
absciss = xexpf(vald);
const float valc = xlogf(std::fabs(val)) - logmax;
absciss = xexpf(valc * rap);
} else if (std::fabs(val) >= mean[level]) {
absciss = asig * std::fabs(val) + bsig;
} else {
@ -8059,34 +8057,23 @@ void ImProcFunctions::wavcontrast4(struct local_params& lp, float ** tmp, float
int W_L = wdspot->level_W(0);//provisory W_L H_L
int H_L = wdspot->level_H(0);
float *koeLi[12];
float maxkoeLi[12];
float * beta = nullptr;
beta = new float[W_L * H_L];
float maxkoeLi[12] = {0.f};
float *beta = new float[W_L * H_L];
float *koeLibuffer = nullptr;
float *koeLibuffer = new float[12 * H_L * W_L]; //12
for (int y = 0; y < 12; y++) {
maxkoeLi[y] = 0.f; //9
}
koeLibuffer = new float[12 * H_L * W_L]; //12
for (int i = 0; i < 12; i++) { //9
for (int i = 0; i < 12; i++) {
koeLi[i] = &koeLibuffer[i * W_L * H_L];
}
for (int j = 0; j < 12; j++) //9
for (int j = 0; j < 12; j++) {
for (int i = 0; i < W_L * H_L; i++) {
koeLi[j][i] = 0.f;
}
float *tmCBuffer = new float[H_L * W_L];
float *tmC[H_L];
for (int i = 0; i < H_L; i++) {
tmC[i] = &tmCBuffer[i * W_L];
}
array2D<float> tmC(W_L, H_L);
float gradw = lp.gradw;
float tloww = lp.tloww;
@ -8096,19 +8083,16 @@ void ImProcFunctions::wavcontrast4(struct local_params& lp, float ** tmp, float
for (int lvl = 0; lvl < 4; lvl++) {
for (int dir = 1; dir < 4; dir++) {
int W_L = wdspot->level_W(lvl);
int H_L = wdspot->level_H(lvl);
const int W_L = wdspot->level_W(lvl);
const int H_L = wdspot->level_H(lvl);
float **wav_L = wdspot->level_coeffs(lvl);
float effect = lp.sigmaed;
float offs = 1.f;
const float effect = lp.sigmaed;
constexpr float offset = 1.f;
float mea[10];
for (int co = 0; co < H_L * W_L; co++) {
beta[co] = 1.f;
}
calceffect(lvl, mean, sigma, mea, effect, offs);
calceffect(lvl, mean, sigma, mea, effect, offset);
for (int co = 0; co < H_L * W_L; co++) {
float WavCL = std::fabs(wav_L[dir][co]);
const float WavCL = std::fabs(wav_L[dir][co]);
if (WavCL < mea[0]) {
beta[co] = 0.05f;
@ -8134,14 +8118,12 @@ void ImProcFunctions::wavcontrast4(struct local_params& lp, float ** tmp, float
beta[co] = 0.05f;
}
}
// printf("Chromablu=%f \n", chromablu);
calckoe(wav_L, gradw, tloww, koeLi, lvl, dir, W_L, H_L, edd, maxkoeLi, tmC);
// return convolution KoeLi and maxkoeLi of level 0 1 2 3 and Dir Horiz, Vert, Diag
}
}
tmC.free();
delete [] tmCBuffer;
float aamp = 1.f + lp.thigw / 100.f;
for (int lvl = 0; lvl < 4; lvl++) {
@ -10180,53 +10162,58 @@ void clarimerge(struct local_params& lp, float &mL, float &mC, bool &exec, LabIm
}
}
void ImProcFunctions::Lab_Local(int call, int sp, float** shbuffer, LabImage * original, LabImage * transformed, LabImage * reserved, LabImage * lastorig, int cx, int cy, int oW, int oH, int sk,
const LocretigainCurve & locRETgainCcurve, const LocretitransCurve & locRETtransCcurve,
void ImProcFunctions::Lab_Local(
int call, int sp, float** shbuffer, LabImage * original, LabImage * transformed, LabImage * reserved, LabImage * lastorig, int cx, int cy, int oW, int oH, int sk,
const LocretigainCurve& locRETgainCcurve, const LocretitransCurve& locRETtransCcurve,
const LUTf& lllocalcurve, bool locallutili,
const LUTf& cllocalcurve, bool localclutili,
const LUTf& lclocalcurve, bool locallcutili,
const LocLHCurve & loclhCurve, const LocHHCurve & lochhCurve,
const LocLHCurve& loclhCurve, const LocHHCurve& lochhCurve,
const LUTf& lmasklocalcurve, bool localmaskutili,
const LUTf& lmaskexplocalcurve, bool localmaskexputili,
const LUTf& lmaskSHlocalcurve, bool localmaskSHutili,
const LUTf& lmaskviblocalcurve, bool localmaskvibutili,
const LUTf& lmasktmlocalcurve, bool localmasktmutili,
LUTf & lmaskretilocalcurve, bool localmaskretiutili,
LUTf& lmaskretilocalcurve, bool localmaskretiutili,
const LUTf& lmaskcblocalcurve, bool localmaskcbutili,
const LUTf& lmaskbllocalcurve, bool localmaskblutili,
const LUTf& lmasklclocalcurve, bool localmasklcutili,
const LocCCmaskCurve & locccmasCurve, bool lcmasutili, const LocLLmaskCurve & locllmasCurve, bool llmasutili, const LocHHmaskCurve & lochhmasCurve, bool lhmasutili, const LocHHmaskCurve & lochhhmasCurve, bool lhhmasutili,
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 & locccmasvibCurve, bool lcmasvibutili, const LocLLmaskCurve & locllmasvibCurve, bool llmasvibutili, const LocHHmaskCurve & lochhmasvibCurve, bool lhmasvibutili,
const LocCCmaskCurve & locccmascbCurve, bool lcmascbutili, const LocLLmaskCurve & locllmascbCurve, bool llmascbutili, const LocHHmaskCurve & lochhmascbCurve, bool lhmascbutili,
const LocCCmaskCurve & locccmasretiCurve, bool lcmasretiutili, const LocLLmaskCurve & locllmasretiCurve, bool llmasretiutili, const LocHHmaskCurve & lochhmasretiCurve, bool lhmasretiutili,
const LocCCmaskCurve & locccmastmCurve, bool lcmastmutili, const LocLLmaskCurve & locllmastmCurve, bool llmastmutili, const LocHHmaskCurve & lochhmastmCurve, bool lhmastmutili,
const LocCCmaskCurve & locccmasblCurve, bool lcmasblutili, const LocLLmaskCurve & locllmasblCurve, bool llmasblutili, const LocHHmaskCurve & lochhmasblCurve, bool lhmasblutili,
const LocCCmaskCurve & locccmaslcCurve, bool lcmaslcutili, const LocLLmaskCurve & locllmaslcCurve, bool llmaslcutili, const LocHHmaskCurve & lochhmaslcCurve, bool lhmaslcutili,
const LocwavCurve & loclmasCurveblwav, bool lmasutiliblwav,
const LocwavCurve & loclmasCurvecolwav, bool lmasutilicolwav,
const LocwavCurve & locwavCurve, bool locwavutili,
const LocwavCurve & loclevwavCurve, bool loclevwavutili,
const LocwavCurve & locconwavCurve, bool locconwavutili,
const LocwavCurve & loccompwavCurve, bool loccompwavutili,
const LocwavCurve & loccomprewavCurve, bool loccomprewavutili,
const LocwavCurve & locwavCurveden, bool locwavdenutili,
const LocwavCurve & locedgwavCurve, bool locedgwavutili,
bool LHutili, bool HHutili, const LUTf& cclocalcurve, bool localcutili, LUTf & rgblocalcurve, bool localrgbutili, bool localexutili, const LUTf& exlocalcurve, const LUTf& hltonecurveloc, const LUTf& shtonecurveloc, const LUTf& tonecurveloc, const LUTf& lightCurveloc,
double & huerefblur, double & chromarefblur, double & lumarefblur, double & hueref, double & chromaref, double & lumaref, double & sobelref, int &lastsav,
const LocCCmaskCurve& locccmasCurve, bool lcmasutili, const LocLLmaskCurve& locllmasCurve, bool llmasutili, const LocHHmaskCurve& lochhmasCurve, bool lhmasutili, const LocHHmaskCurve& lochhhmasCurve, bool lhhmasutili,
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& locccmasvibCurve, bool lcmasvibutili, const LocLLmaskCurve& locllmasvibCurve, bool llmasvibutili, const LocHHmaskCurve& lochhmasvibCurve, bool lhmasvibutili,
const LocCCmaskCurve& locccmascbCurve, bool lcmascbutili, const LocLLmaskCurve& locllmascbCurve, bool llmascbutili, const LocHHmaskCurve& lochhmascbCurve, bool lhmascbutili,
const LocCCmaskCurve& locccmasretiCurve, bool lcmasretiutili, const LocLLmaskCurve& locllmasretiCurve, bool llmasretiutili, const LocHHmaskCurve& lochhmasretiCurve, bool lhmasretiutili,
const LocCCmaskCurve& locccmastmCurve, bool lcmastmutili, const LocLLmaskCurve& locllmastmCurve, bool llmastmutili, const LocHHmaskCurve& lochhmastmCurve, bool lhmastmutili,
const LocCCmaskCurve& locccmasblCurve, bool lcmasblutili, const LocLLmaskCurve& locllmasblCurve, bool llmasblutili, const LocHHmaskCurve& lochhmasblCurve, bool lhmasblutili,
const LocCCmaskCurve& locccmaslcCurve, bool lcmaslcutili, const LocLLmaskCurve& locllmaslcCurve, bool llmaslcutili, const LocHHmaskCurve& lochhmaslcCurve, bool lhmaslcutili,
const LocwavCurve& loclmasCurveblwav, bool lmasutiliblwav,
const LocwavCurve& loclmasCurvecolwav, bool lmasutilicolwav,
const LocwavCurve& locwavCurve, bool locwavutili,
const LocwavCurve& loclevwavCurve, bool loclevwavutili,
const LocwavCurve& locconwavCurve, bool locconwavutili,
const LocwavCurve& loccompwavCurve, bool loccompwavutili,
const LocwavCurve& loccomprewavCurve, bool loccomprewavutili,
const LocwavCurve& locwavCurveden, bool locwavdenutili,
const LocwavCurve& locedgwavCurve, bool locedgwavutili,
bool LHutili, bool HHutili, const LUTf& cclocalcurve, bool localcutili, LUTf& rgblocalcurve, bool localrgbutili, bool localexutili, const LUTf& exlocalcurve, const LUTf& hltonecurveloc, const LUTf& shtonecurveloc, const LUTf& tonecurveloc, const LUTf& lightCurveloc,
double& huerefblur, double& chromarefblur, double& lumarefblur, double& hueref, double& chromaref, double& lumaref, double& sobelref, int &lastsav,
bool prevDeltaE, 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)
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
if (params->locallab.enabled) {
if (!params->locallab.enabled) {
return;
}
BENCHFUN
#ifdef _DEBUG
// init variables to display Munsell corrections
MunsellDebugInfo* MunsDebugInfo = new MunsellDebugInfo();
#endif
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
constexpr 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, prevDeltaE, llColorMask, llColorMaskinv, llExpMask, llExpMaskinv, llSHMask, llSHMaskinv, llvibMask, lllcMask, llsharMask, llcbMask, llretiMask, llsoftMask, lltmMask, llblMask, locwavCurveden, locwavdenutili);
@ -15881,7 +15868,6 @@ void ImProcFunctions::Lab_Local(int call, int sp, float** shbuffer, LabImage * o
#ifdef _DEBUG
delete MunsDebugInfo;
#endif
}
}
}