iplocallab.cc: further cleanups
This commit is contained in:
parent
bdef177e87
commit
f6714b2171
@ -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 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 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 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& lllocalcurve, bool locallutili,
|
||||||
const LUTf& cllocalcurve, bool localclutili,
|
const LUTf& cllocalcurve, bool localclutili,
|
||||||
const LUTf& lclocalcurve, bool locallcutili,
|
const LUTf& lclocalcurve, bool locallcutili,
|
||||||
const LocLHCurve& loclhCurve, const LocHHCurve & lochhCurve,
|
const LocLHCurve& loclhCurve, const LocHHCurve& lochhCurve,
|
||||||
const LUTf& lmasklocalcurve, bool localmaskutili,
|
const LUTf& lmasklocalcurve, bool localmaskutili,
|
||||||
const LUTf& lmaskexplocalcurve, bool localmaskexputili,
|
const LUTf& lmaskexplocalcurve, bool localmaskexputili,
|
||||||
const LUTf& lmaskSHlocalcurve, bool localmaskSHutili,
|
const LUTf& lmaskSHlocalcurve, bool localmaskSHutili,
|
||||||
const LUTf& lmaskviblocalcurve, bool localmaskvibutili,
|
const LUTf& lmaskviblocalcurve, bool localmaskvibutili,
|
||||||
const LUTf & lmasktmlocalcurve, bool localmasktmutili,
|
const LUTf& lmasktmlocalcurve, bool localmasktmutili,
|
||||||
LUTf & lmaskretilocalcurve, bool localmaskretiutili,
|
LUTf& lmaskretilocalcurve, bool localmaskretiutili,
|
||||||
const LUTf& lmaskcblocalcurve, bool localmaskcbutili,
|
const LUTf& lmaskcblocalcurve, bool localmaskcbutili,
|
||||||
const LUTf& lmaskbllocalcurve, bool localmaskblutili,
|
const LUTf& lmaskbllocalcurve, bool localmaskblutili,
|
||||||
const LUTf& lmasklclocalcurve, bool localmasklcutili,
|
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& 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& 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,
|
||||||
const LocCCmaskCurve & locccmasvibCurve, bool lcmasvibutili, const LocLLmaskCurve & locllmasvibCurve, bool llmasvibutili, const LocHHmaskCurve & lochhmasvibCurve, bool lhmasvibutili,
|
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& 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& 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& 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& 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 LocCCmaskCurve& locccmaslcCurve, bool lcmaslcutili, const LocLLmaskCurve& locllmaslcCurve, bool llmaslcutili, const LocHHmaskCurve& lochhmaslcCurve, bool lhmaslcutili,
|
||||||
const LocwavCurve & loclmasCurveblwav, bool lmasutiliblwav,
|
const LocwavCurve& loclmasCurveblwav, bool lmasutiliblwav,
|
||||||
const LocwavCurve & loclmasCurvecolwav, bool lmasutilicolwav,
|
const LocwavCurve& loclmasCurvecolwav, bool lmasutilicolwav,
|
||||||
const LocwavCurve & locwavCurve, bool locwavutili,
|
const LocwavCurve& locwavCurve, bool locwavutili,
|
||||||
const LocwavCurve & loclevwavCurve, bool loclevwavutili,
|
const LocwavCurve& loclevwavCurve, bool loclevwavutili,
|
||||||
const LocwavCurve & locconwavCurve, bool locconwavutili,
|
const LocwavCurve& locconwavCurve, bool locconwavutili,
|
||||||
const LocwavCurve & loccompwavCurve, bool loccompwavutili,
|
const LocwavCurve& loccompwavCurve, bool loccompwavutili,
|
||||||
const LocwavCurve & loccomprewavCurve, bool loccomprewavutili,
|
const LocwavCurve& loccomprewavCurve, bool loccomprewavutili,
|
||||||
const LocwavCurve & locwavCurveden, bool locwavdenutili,
|
const LocwavCurve& locwavCurveden, bool locwavdenutili,
|
||||||
const LocwavCurve & locedgwavCurve, bool locedgwavutili,
|
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,
|
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,
|
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,
|
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);
|
||||||
|
|
||||||
|
@ -4106,9 +4106,9 @@ void ImProcFunctions::maskcalccol(bool invmask, bool pde, int bfw, int bfh, int
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (rad != 0.f) {
|
if (rad != 0.f) {
|
||||||
const float blur = rad < 0.f ? -1.f / rad : 1.f + rad;
|
const float tmpblur = rad < 0.f ? -1.f / rad : 1.f + rad;
|
||||||
const int r1 = max(int(4 / sk * blur + 0.5), 1);
|
const int r1 = std::max<int>(4 / sk * tmpblur + 0.5, 1);
|
||||||
const int r2 = max(int(25 / sk * blur + 0.5), 1);
|
const int r2 = std::max<int>(25 / sk * tmpblur + 0.5, 1);
|
||||||
|
|
||||||
constexpr float epsilmax = 0.0005f;
|
constexpr float epsilmax = 0.0005f;
|
||||||
constexpr float epsilmin = 0.00001f;
|
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 dir = 1; dir < 4; dir++) {
|
||||||
for (int level = level_bl; level < maxlvl; ++level) {
|
for (int level = level_bl; level < maxlvl; ++level) {
|
||||||
if (MaxP[level] > 0.f && mean[level] != 0.f && sigma[level] != 0.f) {
|
if (MaxP[level] > 0.f && mean[level] != 0.f && sigma[level] != 0.f) {
|
||||||
int W_L = wdspot->level_W(level);
|
const int W_L = wdspot->level_W(level);
|
||||||
int H_L = wdspot->level_H(level);
|
const int H_L = wdspot->level_H(level);
|
||||||
float **wav_L = wdspot->level_coeffs(level);
|
float **wav_L = wdspot->level_coeffs(level);
|
||||||
float effect = lp.sigmalc2;
|
const float effect = lp.sigmalc2;
|
||||||
float offs = 1.f;
|
constexpr float offset = 1.f;
|
||||||
float mea[10];
|
float mea[10];
|
||||||
calceffect(level, mean, sigma, mea, effect, offs);
|
calceffect(level, mean, sigma, mea, effect, offset);
|
||||||
float insigma = 0.666f; //SD
|
constexpr float insigma = 0.666f; //SD
|
||||||
float logmax = log(MaxP[level]); //log Max
|
const float logmax = std::log(MaxP[level]); //log Max
|
||||||
float rapX = (mean[level] + lp.sigmalc2 * sigma[level]) / MaxP[level]; //rapport between sD / max
|
const float rapX = (mean[level] + lp.sigmalc2 * sigma[level]) / MaxP[level]; //rapport between sD / max
|
||||||
float inx = log(insigma);
|
const float inx = std::log(insigma);
|
||||||
float iny = log(rapX);
|
const float iny = std::log(rapX);
|
||||||
float rap = inx / iny; //koef
|
const float rap = inx / iny; //koef
|
||||||
float asig = 0.166f / (sigma[level] * lp.sigmalc2);
|
const float asig = 0.166f / (sigma[level] * lp.sigmalc2);
|
||||||
float bsig = 0.5f - asig * mean[level];
|
const float bsig = 0.5f - asig * mean[level];
|
||||||
float amean = 0.5f / mean[level];
|
const float amean = 0.5f / mean[level];
|
||||||
|
|
||||||
#ifdef _OPENMP
|
#ifdef _OPENMP
|
||||||
#pragma omp parallel for if (multiThread)
|
#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 y = 0; y < H_L; y++) {
|
||||||
for (int x = 0; x < W_L; x++) {
|
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;
|
float beta;
|
||||||
|
|
||||||
if (WavCL < mea[0]) {
|
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];
|
float &val = wav_L[dir][y * W_L + x];
|
||||||
|
|
||||||
if (std::fabs(val) >= (mean[level] + lp.sigmalc2 * sigma[level])) { //for max
|
if (std::fabs(val) >= (mean[level] + lp.sigmalc2 * sigma[level])) { //for max
|
||||||
float valcour = xlogf(std::fabs(val));
|
const float valc = xlogf(std::fabs(val)) - logmax;
|
||||||
float valc = valcour - logmax;
|
absciss = xexpf(valc * rap);
|
||||||
float vald = valc * rap;
|
|
||||||
absciss = xexpf(vald);
|
|
||||||
} else if (std::fabs(val) >= mean[level]) {
|
} else if (std::fabs(val) >= mean[level]) {
|
||||||
absciss = asig * std::fabs(val) + bsig;
|
absciss = asig * std::fabs(val) + bsig;
|
||||||
} else {
|
} 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 W_L = wdspot->level_W(0);//provisory W_L H_L
|
||||||
int H_L = wdspot->level_H(0);
|
int H_L = wdspot->level_H(0);
|
||||||
float *koeLi[12];
|
float *koeLi[12];
|
||||||
float maxkoeLi[12];
|
float maxkoeLi[12] = {0.f};
|
||||||
float * beta = nullptr;
|
float *beta = new float[W_L * H_L];
|
||||||
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++) {
|
for (int i = 0; i < 12; i++) {
|
||||||
maxkoeLi[y] = 0.f; //9
|
|
||||||
}
|
|
||||||
|
|
||||||
koeLibuffer = new float[12 * H_L * W_L]; //12
|
|
||||||
|
|
||||||
for (int i = 0; i < 12; i++) { //9
|
|
||||||
koeLi[i] = &koeLibuffer[i * W_L * H_L];
|
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++) {
|
for (int i = 0; i < W_L * H_L; i++) {
|
||||||
koeLi[j][i] = 0.f;
|
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 gradw = lp.gradw;
|
||||||
float tloww = lp.tloww;
|
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 lvl = 0; lvl < 4; lvl++) {
|
||||||
for (int dir = 1; dir < 4; dir++) {
|
for (int dir = 1; dir < 4; dir++) {
|
||||||
int W_L = wdspot->level_W(lvl);
|
const int W_L = wdspot->level_W(lvl);
|
||||||
int H_L = wdspot->level_H(lvl);
|
const int H_L = wdspot->level_H(lvl);
|
||||||
float **wav_L = wdspot->level_coeffs(lvl);
|
float **wav_L = wdspot->level_coeffs(lvl);
|
||||||
float effect = lp.sigmaed;
|
const float effect = lp.sigmaed;
|
||||||
float offs = 1.f;
|
constexpr float offset = 1.f;
|
||||||
float mea[10];
|
float mea[10];
|
||||||
for (int co = 0; co < H_L * W_L; co++) {
|
calceffect(lvl, mean, sigma, mea, effect, offset);
|
||||||
beta[co] = 1.f;
|
|
||||||
}
|
|
||||||
calceffect(lvl, mean, sigma, mea, effect, offs);
|
|
||||||
|
|
||||||
for (int co = 0; co < H_L * W_L; co++) {
|
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]) {
|
if (WavCL < mea[0]) {
|
||||||
beta[co] = 0.05f;
|
beta[co] = 0.05f;
|
||||||
@ -8134,14 +8118,12 @@ void ImProcFunctions::wavcontrast4(struct local_params& lp, float ** tmp, float
|
|||||||
beta[co] = 0.05f;
|
beta[co] = 0.05f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// printf("Chromablu=%f \n", chromablu);
|
|
||||||
|
|
||||||
calckoe(wav_L, gradw, tloww, koeLi, lvl, dir, W_L, H_L, edd, maxkoeLi, tmC);
|
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
|
// 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;
|
float aamp = 1.f + lp.thigw / 100.f;
|
||||||
|
|
||||||
for (int lvl = 0; lvl < 4; lvl++) {
|
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,
|
void ImProcFunctions::Lab_Local(
|
||||||
const LocretigainCurve & locRETgainCcurve, const LocretitransCurve & locRETtransCcurve,
|
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& lllocalcurve, bool locallutili,
|
||||||
const LUTf& cllocalcurve, bool localclutili,
|
const LUTf& cllocalcurve, bool localclutili,
|
||||||
const LUTf& lclocalcurve, bool locallcutili,
|
const LUTf& lclocalcurve, bool locallcutili,
|
||||||
const LocLHCurve & loclhCurve, const LocHHCurve & lochhCurve,
|
const LocLHCurve& loclhCurve, const LocHHCurve& lochhCurve,
|
||||||
const LUTf& lmasklocalcurve, bool localmaskutili,
|
const LUTf& lmasklocalcurve, bool localmaskutili,
|
||||||
const LUTf& lmaskexplocalcurve, bool localmaskexputili,
|
const LUTf& lmaskexplocalcurve, bool localmaskexputili,
|
||||||
const LUTf& lmaskSHlocalcurve, bool localmaskSHutili,
|
const LUTf& lmaskSHlocalcurve, bool localmaskSHutili,
|
||||||
const LUTf& lmaskviblocalcurve, bool localmaskvibutili,
|
const LUTf& lmaskviblocalcurve, bool localmaskvibutili,
|
||||||
const LUTf& lmasktmlocalcurve, bool localmasktmutili,
|
const LUTf& lmasktmlocalcurve, bool localmasktmutili,
|
||||||
LUTf & lmaskretilocalcurve, bool localmaskretiutili,
|
LUTf& lmaskretilocalcurve, bool localmaskretiutili,
|
||||||
const LUTf& lmaskcblocalcurve, bool localmaskcbutili,
|
const LUTf& lmaskcblocalcurve, bool localmaskcbutili,
|
||||||
const LUTf& lmaskbllocalcurve, bool localmaskblutili,
|
const LUTf& lmaskbllocalcurve, bool localmaskblutili,
|
||||||
const LUTf& lmasklclocalcurve, bool localmasklcutili,
|
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& 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& 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,
|
||||||
const LocCCmaskCurve & locccmasvibCurve, bool lcmasvibutili, const LocLLmaskCurve & locllmasvibCurve, bool llmasvibutili, const LocHHmaskCurve & lochhmasvibCurve, bool lhmasvibutili,
|
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& 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& 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& 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& 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 LocCCmaskCurve& locccmaslcCurve, bool lcmaslcutili, const LocLLmaskCurve& locllmaslcCurve, bool llmaslcutili, const LocHHmaskCurve& lochhmaslcCurve, bool lhmaslcutili,
|
||||||
const LocwavCurve & loclmasCurveblwav, bool lmasutiliblwav,
|
const LocwavCurve& loclmasCurveblwav, bool lmasutiliblwav,
|
||||||
const LocwavCurve & loclmasCurvecolwav, bool lmasutilicolwav,
|
const LocwavCurve& loclmasCurvecolwav, bool lmasutilicolwav,
|
||||||
const LocwavCurve & locwavCurve, bool locwavutili,
|
const LocwavCurve& locwavCurve, bool locwavutili,
|
||||||
const LocwavCurve & loclevwavCurve, bool loclevwavutili,
|
const LocwavCurve& loclevwavCurve, bool loclevwavutili,
|
||||||
const LocwavCurve & locconwavCurve, bool locconwavutili,
|
const LocwavCurve& locconwavCurve, bool locconwavutili,
|
||||||
const LocwavCurve & loccompwavCurve, bool loccompwavutili,
|
const LocwavCurve& loccompwavCurve, bool loccompwavutili,
|
||||||
const LocwavCurve & loccomprewavCurve, bool loccomprewavutili,
|
const LocwavCurve& loccomprewavCurve, bool loccomprewavutili,
|
||||||
const LocwavCurve & locwavCurveden, bool locwavdenutili,
|
const LocwavCurve& locwavCurveden, bool locwavdenutili,
|
||||||
const LocwavCurve & locedgwavCurve, bool locedgwavutili,
|
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,
|
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,
|
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,
|
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
|
//general call of others functions : important return hueref, chromaref, lumaref
|
||||||
if (params->locallab.enabled) {
|
if (!params->locallab.enabled) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
BENCHFUN
|
BENCHFUN
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
// init variables to display Munsell corrections
|
// init variables to display Munsell corrections
|
||||||
MunsellDebugInfo* MunsDebugInfo = new MunsellDebugInfo();
|
MunsellDebugInfo* MunsDebugInfo = new MunsellDebugInfo();
|
||||||
#endif
|
#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;
|
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);
|
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
|
#ifdef _DEBUG
|
||||||
delete MunsDebugInfo;
|
delete MunsDebugInfo;
|
||||||
#endif
|
#endif
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user