Local adjustments - Strength control on Spot - tools - issue 6221 (#6223)
* Add strength to local contrast and wavelet * Added strength to Color and Light * Added strength to Denoise * Added strength to shadows highlight Tone equalizer * Added strength to Dynamic Range and exposure * Added strength to Tone mapping * Small improvment to Dynamic Range
This commit is contained in:
parent
227a2e8cd6
commit
f22482c204
@ -1288,6 +1288,12 @@ HISTORY_MSG_1040;Local - Spot - soft radius
|
|||||||
HISTORY_MSG_1041;Local - Spot - Munsell
|
HISTORY_MSG_1041;Local - Spot - Munsell
|
||||||
HISTORY_MSG_1042;Local - Log encoding - threshold
|
HISTORY_MSG_1042;Local - Log encoding - threshold
|
||||||
HISTORY_MSG_1043;Local - Exp - normalize
|
HISTORY_MSG_1043;Local - Exp - normalize
|
||||||
|
HISTORY_MSG_1044;Local - Local contrast strength
|
||||||
|
HISTORY_MSG_1045;Local - Color and Light strength
|
||||||
|
HISTORY_MSG_1046;Local - Denoise strength
|
||||||
|
HISTORY_MSG_1047;Local - SH and Tone Equalizer strength
|
||||||
|
HISTORY_MSG_1048;Local - DR and Exposure strength
|
||||||
|
HISTORY_MSG_1049;Local - TM strength
|
||||||
HISTORY_MSG_BLSHAPE;Blur by level
|
HISTORY_MSG_BLSHAPE;Blur by level
|
||||||
HISTORY_MSG_BLURCWAV;Blur chroma
|
HISTORY_MSG_BLURCWAV;Blur chroma
|
||||||
HISTORY_MSG_BLURWAV;Blur luminance
|
HISTORY_MSG_BLURWAV;Blur luminance
|
||||||
@ -2992,6 +2998,12 @@ TP_LOCALLAB_RECURS_TOOLTIP;Forces the algorithm to recalculate the references af
|
|||||||
TP_LOCALLAB_REFLABEL;Ref. (0..1) Chroma=%1 Luma=%2 Hue=%3
|
TP_LOCALLAB_REFLABEL;Ref. (0..1) Chroma=%1 Luma=%2 Hue=%3
|
||||||
TP_LOCALLAB_REN_DIALOG_LAB;Enter the new Control Spot name
|
TP_LOCALLAB_REN_DIALOG_LAB;Enter the new Control Spot name
|
||||||
TP_LOCALLAB_REN_DIALOG_NAME;Renaming Control Spot
|
TP_LOCALLAB_REN_DIALOG_NAME;Renaming Control Spot
|
||||||
|
TP_LOCALLAB_REPARW_TOOLTIP;Allows you to adjust the relative strength of the local contrast and wavelet image with respect to the original image.
|
||||||
|
TP_LOCALLAB_REPARCOL_TOOLTIP;Allows you to adjust the relative strength of the Color and Light image with respect to the original image.
|
||||||
|
TP_LOCALLAB_REPARDEN_TOOLTIP;Allows you to adjust the relative strength of the Denoise image with respect to the original image.
|
||||||
|
TP_LOCALLAB_REPARSH_TOOLTIP;Allows you to adjust the relative strength of the Shadows/Highlights and Tone Equalizer image with respect to the original image.
|
||||||
|
TP_LOCALLAB_REPAREXP_TOOLTIP;Allows you to adjust the relative strength of the Dynamic Range and Exposure image with respect to the original image.
|
||||||
|
TP_LOCALLAB_REPARTM_TOOLTIP;Allows you to adjust the relative strength of the Tone mapping image with respect to the original image.
|
||||||
TP_LOCALLAB_RESETSHOW;Reset All Show Modifications
|
TP_LOCALLAB_RESETSHOW;Reset All Show Modifications
|
||||||
TP_LOCALLAB_RESID;Residual Image
|
TP_LOCALLAB_RESID;Residual Image
|
||||||
TP_LOCALLAB_RESIDBLUR;Blur residual image
|
TP_LOCALLAB_RESIDBLUR;Blur residual image
|
||||||
|
@ -439,6 +439,8 @@ struct local_params {
|
|||||||
float thr;
|
float thr;
|
||||||
float stru;
|
float stru;
|
||||||
int chro, cont, sens, sensh, senscb, sensbn, senstm, sensex, sensexclu, sensden, senslc, senssf, senshs, senscolor;
|
int chro, cont, sens, sensh, senscb, sensbn, senstm, sensex, sensexclu, sensden, senslc, senssf, senshs, senscolor;
|
||||||
|
float reparden;
|
||||||
|
float repartm;
|
||||||
float clarityml;
|
float clarityml;
|
||||||
float contresid;
|
float contresid;
|
||||||
bool deltaem;
|
bool deltaem;
|
||||||
@ -1124,6 +1126,8 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall
|
|||||||
int local_noiselequal = locallab.spots.at(sp).noiselequal;
|
int local_noiselequal = locallab.spots.at(sp).noiselequal;
|
||||||
float local_noisechrodetail = (float)locallab.spots.at(sp).noisechrodetail;
|
float local_noisechrodetail = (float)locallab.spots.at(sp).noisechrodetail;
|
||||||
int local_sensiden = locallab.spots.at(sp).sensiden;
|
int local_sensiden = locallab.spots.at(sp).sensiden;
|
||||||
|
float local_reparden = locallab.spots.at(sp).reparden;
|
||||||
|
float local_repartm = locallab.spots.at(sp).repartm;
|
||||||
float local_detailthr = (float)locallab.spots.at(sp).detailthr;
|
float local_detailthr = (float)locallab.spots.at(sp).detailthr;
|
||||||
float local_recothr = (float)locallab.spots.at(sp).recothres;
|
float local_recothr = (float)locallab.spots.at(sp).recothres;
|
||||||
float local_lowthr = (float)locallab.spots.at(sp).lowthres;
|
float local_lowthr = (float)locallab.spots.at(sp).lowthres;
|
||||||
@ -1582,6 +1586,8 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall
|
|||||||
lp.noisecf = local_noisecf;
|
lp.noisecf = local_noisecf;
|
||||||
lp.noisecc = local_noisecc;
|
lp.noisecc = local_noisecc;
|
||||||
lp.sensden = local_sensiden;
|
lp.sensden = local_sensiden;
|
||||||
|
lp.reparden = local_reparden;
|
||||||
|
lp.repartm = local_repartm;
|
||||||
lp.bilat = locallab.spots.at(sp).bilateral;
|
lp.bilat = locallab.spots.at(sp).bilateral;
|
||||||
lp.nldet = locallab.spots.at(sp).nldet;
|
lp.nldet = locallab.spots.at(sp).nldet;
|
||||||
lp.nlstr = locallab.spots.at(sp).nlstr;
|
lp.nlstr = locallab.spots.at(sp).nlstr;
|
||||||
@ -3263,6 +3269,11 @@ void ImProcFunctions::DeNoise_Local(int call, const struct local_params& lp, Lab
|
|||||||
difa = tmp1.a[loy - begy][lox - begx] - original->a[y][x];
|
difa = tmp1.a[loy - begy][lox - begx] - original->a[y][x];
|
||||||
difb = tmp1.b[loy - begy][lox - begx] - original->b[y][x];
|
difb = tmp1.b[loy - begy][lox - begx] - original->b[y][x];
|
||||||
} else { //dcrop
|
} else { //dcrop
|
||||||
|
const float repart = 1.0f - 0.01f * lp.reparden;
|
||||||
|
tmp1.L[y][x] = intp(repart, original->L[y][x], tmp1.L[y][x]);
|
||||||
|
tmp1.a[y][x] = intp(repart, original->a[y][x], tmp1.a[y][x]);
|
||||||
|
tmp1.b[y][x] = intp(repart, original->b[y][x], tmp1.b[y][x]);
|
||||||
|
|
||||||
difL = tmp1.L[y][x] - original->L[y][x];
|
difL = tmp1.L[y][x] - original->L[y][x];
|
||||||
difa = tmp1.a[y][x] - original->a[y][x];
|
difa = tmp1.a[y][x] - original->a[y][x];
|
||||||
difb = tmp1.b[y][x] - original->b[y][x];
|
difb = tmp1.b[y][x] - original->b[y][x];
|
||||||
@ -3409,16 +3420,14 @@ void ImProcFunctions::DeNoise_Local2(const struct local_params& lp, LabImage* or
|
|||||||
|
|
||||||
float difL, difa, difb;
|
float difL, difa, difb;
|
||||||
|
|
||||||
// if (call == 2 /*|| call == 1 || call == 3 */) { //simpleprocess
|
const float repart = 1.0f - 0.01f * lp.reparden;
|
||||||
// difL = tmp1.L[loy - begy][lox - begx] - original->L[y][x];
|
tmp1.L[y-ystart][x-xstart] = intp(repart, original->L[y][x], tmp1.L[y-ystart][x-xstart]);
|
||||||
// difa = tmp1.a[loy - begy][lox - begx] - original->a[y][x];
|
tmp1.a[y-ystart][x-xstart] = intp(repart, original->a[y][x], tmp1.a[y-ystart][x-xstart]);
|
||||||
// difb = tmp1.b[loy - begy][lox - begx] - original->b[y][x];
|
tmp1.b[y-ystart][x-xstart] = intp(repart, original->b[y][x], tmp1.b[y-ystart][x-xstart]);
|
||||||
// } else { //dcrop
|
|
||||||
|
|
||||||
difL = tmp1.L[y-ystart][x-xstart] - original->L[y][x];
|
difL = tmp1.L[y-ystart][x-xstart] - original->L[y][x];
|
||||||
difa = tmp1.a[y-ystart][x-xstart] - original->a[y][x];
|
difa = tmp1.a[y-ystart][x-xstart] - original->a[y][x];
|
||||||
difb = tmp1.b[y-ystart][x-xstart] - original->b[y][x];
|
difb = tmp1.b[y-ystart][x-xstart] - original->b[y][x];
|
||||||
// }
|
|
||||||
|
|
||||||
difL *= localFactor * reducdEL;
|
difL *= localFactor * reducdEL;
|
||||||
difa *= localFactor * reducdEa;
|
difa *= localFactor * reducdEa;
|
||||||
@ -6937,6 +6946,8 @@ void ImProcFunctions::transit_shapedetect2(int sp, float meantm, float stdtm, in
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (lp.equtm && senstype == 8) { //normalize luminance for Tone mapping , at this place we can use for others senstype!
|
if (lp.equtm && senstype == 8) { //normalize luminance for Tone mapping , at this place we can use for others senstype!
|
||||||
float *datain = new float[bfh * bfw];
|
float *datain = new float[bfh * bfw];
|
||||||
float *data = new float[bfh * bfw];
|
float *data = new float[bfh * bfw];
|
||||||
@ -6976,6 +6987,24 @@ void ImProcFunctions::transit_shapedetect2(int sp, float meantm, float stdtm, in
|
|||||||
delete [] data;
|
delete [] data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (senstype == 8) {//strength Tone mapping
|
||||||
|
const float repart = 1.0f - 0.01f * lp.repartm;
|
||||||
|
|
||||||
|
#ifdef _OPENMP
|
||||||
|
#pragma omp parallel for schedule(dynamic,16) if(multiThread)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
for (int y = ystart; y < yend; y++){
|
||||||
|
for (int x = xstart; x < xend; x++) {
|
||||||
|
bufexpfin->L[y - ystart][x - xstart]= intp(repart, original->L[y][x], bufexpfin->L[y - ystart][x - xstart]);
|
||||||
|
bufexpfin->a[y - ystart][x - xstart]= intp(repart, original->a[y][x], bufexpfin->a[y - ystart][x - xstart]);
|
||||||
|
bufexpfin->b[y - ystart][x - xstart]= intp(repart, original->b[y][x], bufexpfin->b[y - ystart][x - xstart]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef _OPENMP
|
#ifdef _OPENMP
|
||||||
#pragma omp parallel if (multiThread)
|
#pragma omp parallel if (multiThread)
|
||||||
#endif
|
#endif
|
||||||
@ -7078,6 +7107,7 @@ void ImProcFunctions::transit_shapedetect2(int sp, float meantm, float stdtm, in
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//deltaE
|
//deltaE
|
||||||
float abdelta2 = SQR(refa - maskptr->a[y][x]) + SQR(refb - maskptr->b[y][x]);
|
float abdelta2 = SQR(refa - maskptr->a[y][x]) + SQR(refb - maskptr->b[y][x]);
|
||||||
float chrodelta2 = SQR(std::sqrt(SQR(maskptr->a[y][x]) + SQR(maskptr->b[y][x])) - (chromaref * 327.68f));
|
float chrodelta2 = SQR(std::sqrt(SQR(maskptr->a[y][x]) + SQR(maskptr->b[y][x])) - (chromaref * 327.68f));
|
||||||
@ -12567,6 +12597,8 @@ void ImProcFunctions::Lab_Local(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// transit_shapedetect_retinex(call, 4, bufgb.get(),bufmaskorigtm.get(), originalmasktm.get(), buflight, bufchro, hueref, chromaref, lumaref, lp, original, transformed, cx, cy, sk);
|
// transit_shapedetect_retinex(call, 4, bufgb.get(),bufmaskorigtm.get(), originalmasktm.get(), buflight, bufchro, hueref, chromaref, lumaref, lp, original, transformed, cx, cy, sk);
|
||||||
|
|
||||||
|
|
||||||
transit_shapedetect2(sp, meantm, stdtm, call, 8, bufgb.get(), tmp1.get(), originalmasktm.get(), hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk);
|
transit_shapedetect2(sp, meantm, stdtm, call, 8, bufgb.get(), tmp1.get(), originalmasktm.get(), hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk);
|
||||||
|
|
||||||
// transit_shapedetect(8, tmp1.get(), originalmasktm.get(), bufchro, false, hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk);
|
// transit_shapedetect(8, tmp1.get(), originalmasktm.get(), bufchro, false, hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk);
|
||||||
@ -13942,6 +13974,21 @@ void ImProcFunctions::Lab_Local(
|
|||||||
maskrecov(bufexpfin.get(), original, bufmaskorigSH.get(), bfh, bfw, ystart, xstart, hig, low, recoth, decay, invmask, sk, multiThread);
|
maskrecov(bufexpfin.get(), original, bufmaskorigSH.get(), bfh, bfw, ystart, xstart, hig, low, recoth, decay, invmask, sk, multiThread);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const float repart = 1.0 - 0.01 * params->locallab.spots.at(sp).reparsh;
|
||||||
|
int bw = bufexporig->W;
|
||||||
|
int bh = bufexporig->H;
|
||||||
|
|
||||||
|
#ifdef _OPENMP
|
||||||
|
#pragma omp parallel for schedule(dynamic,16) if(multiThread)
|
||||||
|
#endif
|
||||||
|
for (int x = 0; x < bh; x++) {
|
||||||
|
for (int y = 0; y < bw; y++) {
|
||||||
|
bufexpfin->L[x][y] = intp(repart, bufexporig->L[x][y], bufexpfin->L[x][y]);
|
||||||
|
bufexpfin->a[x][y] = intp(repart, bufexporig->a[x][y], bufexpfin->a[x][y]);
|
||||||
|
bufexpfin->b[x][y] = intp(repart, bufexporig->b[x][y], bufexpfin->b[x][y]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
transit_shapedetect2(sp, 0.f, 0.f, call, 9, bufexporig.get(), bufexpfin.get(), originalmaskSH.get(), hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk);
|
transit_shapedetect2(sp, 0.f, 0.f, call, 9, bufexporig.get(), bufexpfin.get(), originalmaskSH.get(), hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk);
|
||||||
|
|
||||||
if (lp.recur) {
|
if (lp.recur) {
|
||||||
@ -14567,6 +14614,20 @@ void ImProcFunctions::Lab_Local(
|
|||||||
bool invmask = false;
|
bool invmask = false;
|
||||||
maskrecov(tmp1.get(), original, bufmaskoriglc.get(), bfh, bfw, ystart, xstart, hig, low, recoth, decay, invmask, sk, multiThread);
|
maskrecov(tmp1.get(), original, bufmaskoriglc.get(), bfh, bfw, ystart, xstart, hig, low, recoth, decay, invmask, sk, multiThread);
|
||||||
}
|
}
|
||||||
|
const float repart = 1.0 - 0.01 * params->locallab.spots.at(sp).reparw;
|
||||||
|
int bw = bufgb->W;
|
||||||
|
int bh = bufgb->H;
|
||||||
|
|
||||||
|
#ifdef _OPENMP
|
||||||
|
#pragma omp parallel for schedule(dynamic,16) if(multiThread)
|
||||||
|
#endif
|
||||||
|
for (int x = 0; x < bh; x++) {
|
||||||
|
for (int y = 0; y < bw; y++) {
|
||||||
|
tmp1->L[x][y] = intp(repart, bufgb->L[x][y], tmp1->L[x][y]);
|
||||||
|
tmp1->a[x][y] = intp(repart, bufgb->a[x][y], tmp1->a[x][y]);
|
||||||
|
tmp1->b[x][y] = intp(repart, bufgb->b[x][y], tmp1->b[x][y]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
transit_shapedetect2(sp, 0.f, 0.f, call, 10, bufgb.get(), tmp1.get(), originalmasklc.get(), hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk);
|
transit_shapedetect2(sp, 0.f, 0.f, call, 10, bufgb.get(), tmp1.get(), originalmasklc.get(), hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk);
|
||||||
tmp1.reset();
|
tmp1.reset();
|
||||||
@ -14865,12 +14926,16 @@ void ImProcFunctions::Lab_Local(
|
|||||||
fatParams.enabled = true;
|
fatParams.enabled = true;
|
||||||
fatParams.threshold = params->locallab.spots.at(sp).fatdetail;
|
fatParams.threshold = params->locallab.spots.at(sp).fatdetail;
|
||||||
fatParams.amount = params->locallab.spots.at(sp).fatamount;
|
fatParams.amount = params->locallab.spots.at(sp).fatamount;
|
||||||
fatParams.anchor = 50.f; //params->locallab.spots.at(sp).fatanchor;
|
fatParams.anchor = params->locallab.spots.at(sp).fatanchor;
|
||||||
//const float sigm = 1.f; //params->locallab.spots.at(sp).fatlevel;
|
//const float sigm = 1.f; //params->locallab.spots.at(sp).fatlevel;
|
||||||
//const float mean = 1.f;// params->locallab.spots.at(sp).fatanchor;
|
//const float mean = 1.f;// params->locallab.spots.at(sp).fatanchor;
|
||||||
const std::unique_ptr<Imagefloat> tmpImagefat(new Imagefloat(bfwr, bfhr));
|
const std::unique_ptr<Imagefloat> tmpImagefat(new Imagefloat(bfwr, bfhr));
|
||||||
lab2rgb(*bufexpfin, *(tmpImagefat.get()), params->icm.workingProfile);
|
lab2rgb(*bufexpfin, *(tmpImagefat.get()), params->icm.workingProfile);
|
||||||
ToneMapFattal02(tmpImagefat.get(), fatParams, 3, 0, nullptr, 0, 0, 1);//last parameter = 1 ==>ART algorithm
|
int alg = 0;
|
||||||
|
if(fatParams.anchor == 50.f) {
|
||||||
|
alg = 1;
|
||||||
|
}
|
||||||
|
ToneMapFattal02(tmpImagefat.get(), fatParams, 3, 0, nullptr, 0, 0, alg);//last parameter = 1 ==>ART algorithm
|
||||||
rgb2lab(*(tmpImagefat.get()), *bufexpfin, params->icm.workingProfile);
|
rgb2lab(*(tmpImagefat.get()), *bufexpfin, params->icm.workingProfile);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -14982,6 +15047,22 @@ void ImProcFunctions::Lab_Local(
|
|||||||
}
|
}
|
||||||
|
|
||||||
float meansob = 0.f;
|
float meansob = 0.f;
|
||||||
|
|
||||||
|
const float repart = 1.0 - 0.01 * params->locallab.spots.at(sp).reparexp;
|
||||||
|
int bw = bufexporig->W;
|
||||||
|
int bh = bufexporig->H;
|
||||||
|
|
||||||
|
#ifdef _OPENMP
|
||||||
|
#pragma omp parallel for schedule(dynamic,16) if(multiThread)
|
||||||
|
#endif
|
||||||
|
for (int x = 0; x < bh; x++) {
|
||||||
|
for (int y = 0; y < bw; y++) {
|
||||||
|
bufexpfin->L[x][y] = intp(repart, bufexporig->L[x][y], bufexpfin->L[x][y]);
|
||||||
|
bufexpfin->a[x][y] = intp(repart, bufexporig->a[x][y], bufexpfin->a[x][y]);
|
||||||
|
bufexpfin->b[x][y] = intp(repart, bufexporig->b[x][y], bufexpfin->b[x][y]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
transit_shapedetect2(sp, 0.f, 0.f, call, 1, bufexporig.get(), bufexpfin.get(), originalmaskexp.get(), hueref, chromaref, lumaref, sobelref, meansob, blend2, lp, original, transformed, cx, cy, sk);
|
transit_shapedetect2(sp, 0.f, 0.f, call, 1, bufexporig.get(), bufexpfin.get(), originalmaskexp.get(), hueref, chromaref, lumaref, sobelref, meansob, blend2, lp, original, transformed, cx, cy, sk);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -16042,6 +16123,21 @@ void ImProcFunctions::Lab_Local(
|
|||||||
softproc(bufcolreserv.get(), bufcolfin.get(), lp.softradiuscol, bfh, bfw, 0.001, 0.00001, 0.5f, sk, multiThread, 1);
|
softproc(bufcolreserv.get(), bufcolfin.get(), lp.softradiuscol, bfh, bfw, 0.001, 0.00001, 0.5f, sk, multiThread, 1);
|
||||||
}
|
}
|
||||||
float meansob = 0.f;
|
float meansob = 0.f;
|
||||||
|
const float repart = 1.0 - 0.01 * params->locallab.spots.at(sp).reparcol;
|
||||||
|
int bw = bufcolreserv->W;
|
||||||
|
int bh = bufcolreserv->H;
|
||||||
|
|
||||||
|
#ifdef _OPENMP
|
||||||
|
#pragma omp parallel for schedule(dynamic,16) if(multiThread)
|
||||||
|
#endif
|
||||||
|
for (int x = 0; x < bh; x++) {
|
||||||
|
for (int y = 0; y < bw; y++) {
|
||||||
|
bufcolfin->L[x][y] = intp(repart, bufcolreserv->L[x][y], bufcolfin->L[x][y]);
|
||||||
|
bufcolfin->a[x][y] = intp(repart, bufcolreserv->a[x][y], bufcolfin->a[x][y]);
|
||||||
|
bufcolfin->b[x][y] = intp(repart, bufcolreserv->b[x][y], bufcolfin->b[x][y]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
transit_shapedetect2(sp, 0.f, 0.f, call, 0, bufcolreserv.get(), bufcolfin.get(), originalmaskcol.get(), hueref, chromaref, lumaref, sobelref, meansob, blend2, lp, original, transformed, cx, cy, sk);
|
transit_shapedetect2(sp, 0.f, 0.f, call, 0, bufcolreserv.get(), bufcolfin.get(), originalmaskcol.get(), hueref, chromaref, lumaref, sobelref, meansob, blend2, lp, original, transformed, cx, cy, sk);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -16124,6 +16220,21 @@ void ImProcFunctions::Lab_Local(
|
|||||||
bool invmask = false;
|
bool invmask = false;
|
||||||
maskrecov(bufcolfin.get(), original, bufmaskblurcol.get(), bfh, bfw, ystart, xstart, hig, low, recoth, decay, invmask, sk, multiThread);
|
maskrecov(bufcolfin.get(), original, bufmaskblurcol.get(), bfh, bfw, ystart, xstart, hig, low, recoth, decay, invmask, sk, multiThread);
|
||||||
}
|
}
|
||||||
|
const float repart = 1.0 - 0.01 * params->locallab.spots.at(sp).reparcol;
|
||||||
|
int bw = bufcolorig->W;
|
||||||
|
int bh = bufcolorig->H;
|
||||||
|
|
||||||
|
#ifdef _OPENMP
|
||||||
|
#pragma omp parallel for schedule(dynamic,16) if(multiThread)
|
||||||
|
#endif
|
||||||
|
for (int x = 0; x < bh; x++) {
|
||||||
|
for (int y = 0; y < bw; y++) {
|
||||||
|
bufcolfin->L[x][y] = intp(repart, bufcolorig->L[x][y], bufcolfin->L[x][y]);
|
||||||
|
bufcolfin->a[x][y] = intp(repart, bufcolorig->a[x][y], bufcolfin->a[x][y]);
|
||||||
|
bufcolfin->b[x][y] = intp(repart, bufcolorig->b[x][y], bufcolfin->b[x][y]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
float meansob = 0.f;
|
float meansob = 0.f;
|
||||||
transit_shapedetect2(sp, 0.f, 0.f, call, 0, bufcolorig.get(), bufcolfin.get(), originalmaskcol.get(), hueref, chromaref, lumaref, sobelref, meansob, blend2, lp, original, transformed, cx, cy, sk);
|
transit_shapedetect2(sp, 0.f, 0.f, call, 0, bufcolorig.get(), bufcolfin.get(), originalmaskcol.get(), hueref, chromaref, lumaref, sobelref, meansob, blend2, lp, original, transformed, cx, cy, sk);
|
||||||
}
|
}
|
||||||
|
@ -1066,6 +1066,12 @@ enum ProcEventCode {
|
|||||||
EvLocallabSpotavoidmun = 1040,
|
EvLocallabSpotavoidmun = 1040,
|
||||||
Evlocallabcontthres = 1041,
|
Evlocallabcontthres = 1041,
|
||||||
Evlocallabnorm = 1042,
|
Evlocallabnorm = 1042,
|
||||||
|
Evlocallabreparw = 1043,
|
||||||
|
Evlocallabreparcol = 1044,
|
||||||
|
Evlocallabreparden = 1045,
|
||||||
|
Evlocallabreparsh = 1046,
|
||||||
|
Evlocallabreparexp = 1047,
|
||||||
|
Evlocallabrepartm = 1048,
|
||||||
NUMOFEVENTS
|
NUMOFEVENTS
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2795,6 +2795,7 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
|||||||
complexcolor(2),
|
complexcolor(2),
|
||||||
curvactiv(false),
|
curvactiv(false),
|
||||||
lightness(0),
|
lightness(0),
|
||||||
|
reparcol(100.),
|
||||||
contrast(0),
|
contrast(0),
|
||||||
chroma(0),
|
chroma(0),
|
||||||
labgridALow(0.0),
|
labgridALow(0.0),
|
||||||
@ -3127,12 +3128,13 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
|||||||
expMethod("std"),
|
expMethod("std"),
|
||||||
exnoiseMethod("none"),
|
exnoiseMethod("none"),
|
||||||
laplacexp(0.0),
|
laplacexp(0.0),
|
||||||
|
reparexp(100.0),
|
||||||
balanexp(1.0),
|
balanexp(1.0),
|
||||||
linear(0.05),
|
linear(0.05),
|
||||||
gamm(0.4),
|
gamm(0.4),
|
||||||
fatamount(1.0),
|
fatamount(1.0),
|
||||||
fatdetail(40.0),
|
fatdetail(40.0),
|
||||||
fatanchor(1.0),
|
fatanchor(50.0),
|
||||||
fatlevel(1.),
|
fatlevel(1.),
|
||||||
recothrese(1.),
|
recothrese(1.),
|
||||||
lowthrese(12.),
|
lowthrese(12.),
|
||||||
@ -3207,6 +3209,7 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
|||||||
slomaskSH(0.0),
|
slomaskSH(0.0),
|
||||||
lapmaskSH(0.0),
|
lapmaskSH(0.0),
|
||||||
detailSH(0),
|
detailSH(0),
|
||||||
|
reparsh(100.),
|
||||||
LmaskSHcurve{
|
LmaskSHcurve{
|
||||||
static_cast<double>(DCT_NURBS),
|
static_cast<double>(DCT_NURBS),
|
||||||
0.0,
|
0.0,
|
||||||
@ -3365,6 +3368,7 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
|||||||
nlrad(5),
|
nlrad(5),
|
||||||
nlgam(3.),
|
nlgam(3.),
|
||||||
sensiden(60),
|
sensiden(60),
|
||||||
|
reparden(100.),
|
||||||
detailthr(50),
|
detailthr(50),
|
||||||
locwavcurveden{
|
locwavcurveden{
|
||||||
static_cast<double>(FCT_MinMaxCPoints),
|
static_cast<double>(FCT_MinMaxCPoints),
|
||||||
@ -3494,6 +3498,7 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
|||||||
gamma(1.0),
|
gamma(1.0),
|
||||||
estop(1.4),
|
estop(1.4),
|
||||||
scaltm(1.0),
|
scaltm(1.0),
|
||||||
|
repartm(100.0),
|
||||||
rewei(0),
|
rewei(0),
|
||||||
satur(0.),
|
satur(0.),
|
||||||
sensitm(60),
|
sensitm(60),
|
||||||
@ -3739,6 +3744,7 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
|||||||
edgw(60.0),
|
edgw(60.0),
|
||||||
basew(10.0),
|
basew(10.0),
|
||||||
sensilc(60),
|
sensilc(60),
|
||||||
|
reparw(100.),
|
||||||
fftwlc(false),
|
fftwlc(false),
|
||||||
blurlc(true),
|
blurlc(true),
|
||||||
wavblur(false),
|
wavblur(false),
|
||||||
@ -4219,6 +4225,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
|||||||
&& complexcolor == other.complexcolor
|
&& complexcolor == other.complexcolor
|
||||||
&& curvactiv == other.curvactiv
|
&& curvactiv == other.curvactiv
|
||||||
&& lightness == other.lightness
|
&& lightness == other.lightness
|
||||||
|
&& reparcol == other.reparcol
|
||||||
&& contrast == other.contrast
|
&& contrast == other.contrast
|
||||||
&& chroma == other.chroma
|
&& chroma == other.chroma
|
||||||
&& labgridALow == other.labgridALow
|
&& labgridALow == other.labgridALow
|
||||||
@ -4318,6 +4325,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
|||||||
&& expMethod == other.expMethod
|
&& expMethod == other.expMethod
|
||||||
&& exnoiseMethod == other.exnoiseMethod
|
&& exnoiseMethod == other.exnoiseMethod
|
||||||
&& laplacexp == other.laplacexp
|
&& laplacexp == other.laplacexp
|
||||||
|
&& reparexp == other.reparexp
|
||||||
&& balanexp == other.balanexp
|
&& balanexp == other.balanexp
|
||||||
&& linear == other.linear
|
&& linear == other.linear
|
||||||
&& gamm == other.gamm
|
&& gamm == other.gamm
|
||||||
@ -4364,6 +4372,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
|||||||
&& slomaskSH == other.slomaskSH
|
&& slomaskSH == other.slomaskSH
|
||||||
&& lapmaskSH == other.lapmaskSH
|
&& lapmaskSH == other.lapmaskSH
|
||||||
&& detailSH == other.detailSH
|
&& detailSH == other.detailSH
|
||||||
|
&& reparsh == other.reparsh
|
||||||
&& LmaskSHcurve == other.LmaskSHcurve
|
&& LmaskSHcurve == other.LmaskSHcurve
|
||||||
&& fatamountSH == other.fatamountSH
|
&& fatamountSH == other.fatamountSH
|
||||||
&& fatanchorSH == other.fatanchorSH
|
&& fatanchorSH == other.fatanchorSH
|
||||||
@ -4466,6 +4475,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
|||||||
&& nlrad == other.nlrad
|
&& nlrad == other.nlrad
|
||||||
&& nlgam == other.nlgam
|
&& nlgam == other.nlgam
|
||||||
&& sensiden == other.sensiden
|
&& sensiden == other.sensiden
|
||||||
|
&& reparden == other.reparden
|
||||||
&& detailthr == other.detailthr
|
&& detailthr == other.detailthr
|
||||||
&& locwavcurveden == other.locwavcurveden
|
&& locwavcurveden == other.locwavcurveden
|
||||||
&& locwavcurvehue == other.locwavcurvehue
|
&& locwavcurvehue == other.locwavcurvehue
|
||||||
@ -4497,6 +4507,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
|||||||
&& gamma == other.gamma
|
&& gamma == other.gamma
|
||||||
&& estop == other.estop
|
&& estop == other.estop
|
||||||
&& scaltm == other.scaltm
|
&& scaltm == other.scaltm
|
||||||
|
&& repartm == other.repartm
|
||||||
&& rewei == other.rewei
|
&& rewei == other.rewei
|
||||||
&& satur == other.satur
|
&& satur == other.satur
|
||||||
&& sensitm == other.sensitm
|
&& sensitm == other.sensitm
|
||||||
@ -4618,6 +4629,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
|||||||
&& edgw == other.edgw
|
&& edgw == other.edgw
|
||||||
&& basew == other.basew
|
&& basew == other.basew
|
||||||
&& sensilc == other.sensilc
|
&& sensilc == other.sensilc
|
||||||
|
&& reparw == other.reparw
|
||||||
&& fftwlc == other.fftwlc
|
&& fftwlc == other.fftwlc
|
||||||
&& blurlc == other.blurlc
|
&& blurlc == other.blurlc
|
||||||
&& wavblur == other.wavblur
|
&& wavblur == other.wavblur
|
||||||
@ -5864,6 +5876,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
|||||||
saveToKeyfile(!pedited || spot_edited->complexcolor, "Locallab", "Complexcolor_" + index_str, spot.complexcolor, keyFile);
|
saveToKeyfile(!pedited || spot_edited->complexcolor, "Locallab", "Complexcolor_" + index_str, spot.complexcolor, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->curvactiv, "Locallab", "Curvactiv_" + index_str, spot.curvactiv, keyFile);
|
saveToKeyfile(!pedited || spot_edited->curvactiv, "Locallab", "Curvactiv_" + index_str, spot.curvactiv, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->lightness, "Locallab", "Lightness_" + index_str, spot.lightness, keyFile);
|
saveToKeyfile(!pedited || spot_edited->lightness, "Locallab", "Lightness_" + index_str, spot.lightness, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->reparcol, "Locallab", "Reparcol_" + index_str, spot.reparcol, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->contrast, "Locallab", "Contrast_" + index_str, spot.contrast, keyFile);
|
saveToKeyfile(!pedited || spot_edited->contrast, "Locallab", "Contrast_" + index_str, spot.contrast, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->chroma, "Locallab", "Chroma_" + index_str, spot.chroma, keyFile);
|
saveToKeyfile(!pedited || spot_edited->chroma, "Locallab", "Chroma_" + index_str, spot.chroma, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->labgridALow, "Locallab", "labgridALow_" + index_str, spot.labgridALow, keyFile);
|
saveToKeyfile(!pedited || spot_edited->labgridALow, "Locallab", "labgridALow_" + index_str, spot.labgridALow, keyFile);
|
||||||
@ -5964,6 +5977,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
|||||||
saveToKeyfile(!pedited || spot_edited->expMethod, "Locallab", "ExpMethod_" + index_str, spot.expMethod, keyFile);
|
saveToKeyfile(!pedited || spot_edited->expMethod, "Locallab", "ExpMethod_" + index_str, spot.expMethod, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->exnoiseMethod, "Locallab", "ExnoiseMethod_" + index_str, spot.exnoiseMethod, keyFile);
|
saveToKeyfile(!pedited || spot_edited->exnoiseMethod, "Locallab", "ExnoiseMethod_" + index_str, spot.exnoiseMethod, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->laplacexp, "Locallab", "Laplacexp_" + index_str, spot.laplacexp, keyFile);
|
saveToKeyfile(!pedited || spot_edited->laplacexp, "Locallab", "Laplacexp_" + index_str, spot.laplacexp, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->reparexp, "Locallab", "Reparexp_" + index_str, spot.reparexp, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->balanexp, "Locallab", "Balanexp_" + index_str, spot.balanexp, keyFile);
|
saveToKeyfile(!pedited || spot_edited->balanexp, "Locallab", "Balanexp_" + index_str, spot.balanexp, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->linear, "Locallab", "Linearexp_" + index_str, spot.linear, keyFile);
|
saveToKeyfile(!pedited || spot_edited->linear, "Locallab", "Linearexp_" + index_str, spot.linear, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->gamm, "Locallab", "Gamm_" + index_str, spot.gamm, keyFile);
|
saveToKeyfile(!pedited || spot_edited->gamm, "Locallab", "Gamm_" + index_str, spot.gamm, keyFile);
|
||||||
@ -6006,6 +6020,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
|||||||
saveToKeyfile(!pedited || spot_edited->gammaskSH, "Locallab", "GammaskSH_" + index_str, spot.gammaskSH, keyFile);
|
saveToKeyfile(!pedited || spot_edited->gammaskSH, "Locallab", "GammaskSH_" + index_str, spot.gammaskSH, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->slomaskSH, "Locallab", "SlomaskSH_" + index_str, spot.slomaskSH, keyFile);
|
saveToKeyfile(!pedited || spot_edited->slomaskSH, "Locallab", "SlomaskSH_" + index_str, spot.slomaskSH, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->detailSH, "Locallab", "DetailSH_" + index_str, spot.detailSH, keyFile);
|
saveToKeyfile(!pedited || spot_edited->detailSH, "Locallab", "DetailSH_" + index_str, spot.detailSH, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->reparsh, "Locallab", "Reparsh_" + index_str, spot.reparsh, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->LmaskSHcurve, "Locallab", "LmaskSHCurve_" + index_str, spot.LmaskSHcurve, keyFile);
|
saveToKeyfile(!pedited || spot_edited->LmaskSHcurve, "Locallab", "LmaskSHCurve_" + index_str, spot.LmaskSHcurve, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->fatamountSH, "Locallab", "FatamountSH_" + index_str, spot.fatamountSH, keyFile);
|
saveToKeyfile(!pedited || spot_edited->fatamountSH, "Locallab", "FatamountSH_" + index_str, spot.fatamountSH, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->fatanchorSH, "Locallab", "FatanchorSH_" + index_str, spot.fatanchorSH, keyFile);
|
saveToKeyfile(!pedited || spot_edited->fatanchorSH, "Locallab", "FatanchorSH_" + index_str, spot.fatanchorSH, keyFile);
|
||||||
@ -6111,6 +6126,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
|||||||
saveToKeyfile(!pedited || spot_edited->nlrad, "Locallab", "Nlrad_" + index_str, spot.nlrad, keyFile);
|
saveToKeyfile(!pedited || spot_edited->nlrad, "Locallab", "Nlrad_" + index_str, spot.nlrad, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->nlgam, "Locallab", "Nlgam_" + index_str, spot.nlgam, keyFile);
|
saveToKeyfile(!pedited || spot_edited->nlgam, "Locallab", "Nlgam_" + index_str, spot.nlgam, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->sensiden, "Locallab", "Sensiden_" + index_str, spot.sensiden, keyFile);
|
saveToKeyfile(!pedited || spot_edited->sensiden, "Locallab", "Sensiden_" + index_str, spot.sensiden, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->reparden, "Locallab", "Reparden_" + index_str, spot.reparden, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->detailthr, "Locallab", "Detailthr_" + index_str, spot.detailthr, keyFile);
|
saveToKeyfile(!pedited || spot_edited->detailthr, "Locallab", "Detailthr_" + index_str, spot.detailthr, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->locwavcurveden, "Locallab", "LocwavCurveden_" + index_str, spot.locwavcurveden, keyFile);
|
saveToKeyfile(!pedited || spot_edited->locwavcurveden, "Locallab", "LocwavCurveden_" + index_str, spot.locwavcurveden, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->locwavcurvehue, "Locallab", "LocwavCurvehue_" + index_str, spot.locwavcurvehue, keyFile);
|
saveToKeyfile(!pedited || spot_edited->locwavcurvehue, "Locallab", "LocwavCurvehue_" + index_str, spot.locwavcurvehue, keyFile);
|
||||||
@ -6143,6 +6159,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
|||||||
saveToKeyfile(!pedited || spot_edited->gamma, "Locallab", "Gamma_" + index_str, spot.gamma, keyFile);
|
saveToKeyfile(!pedited || spot_edited->gamma, "Locallab", "Gamma_" + index_str, spot.gamma, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->estop, "Locallab", "Estop_" + index_str, spot.estop, keyFile);
|
saveToKeyfile(!pedited || spot_edited->estop, "Locallab", "Estop_" + index_str, spot.estop, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->scaltm, "Locallab", "Scaltm_" + index_str, spot.scaltm, keyFile);
|
saveToKeyfile(!pedited || spot_edited->scaltm, "Locallab", "Scaltm_" + index_str, spot.scaltm, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->repartm, "Locallab", "Repartm_" + index_str, spot.repartm, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->rewei, "Locallab", "Rewei_" + index_str, spot.rewei, keyFile);
|
saveToKeyfile(!pedited || spot_edited->rewei, "Locallab", "Rewei_" + index_str, spot.rewei, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->satur, "Locallab", "Satur_" + index_str, spot.satur, keyFile);
|
saveToKeyfile(!pedited || spot_edited->satur, "Locallab", "Satur_" + index_str, spot.satur, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->sensitm, "Locallab", "Sensitm_" + index_str, spot.sensitm, keyFile);
|
saveToKeyfile(!pedited || spot_edited->sensitm, "Locallab", "Sensitm_" + index_str, spot.sensitm, keyFile);
|
||||||
@ -6267,6 +6284,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
|||||||
saveToKeyfile(!pedited || spot_edited->edgw, "Locallab", "Edgw_" + index_str, spot.edgw, keyFile);
|
saveToKeyfile(!pedited || spot_edited->edgw, "Locallab", "Edgw_" + index_str, spot.edgw, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->basew, "Locallab", "Basew_" + index_str, spot.basew, keyFile);
|
saveToKeyfile(!pedited || spot_edited->basew, "Locallab", "Basew_" + index_str, spot.basew, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->sensilc, "Locallab", "Sensilc_" + index_str, spot.sensilc, keyFile);
|
saveToKeyfile(!pedited || spot_edited->sensilc, "Locallab", "Sensilc_" + index_str, spot.sensilc, keyFile);
|
||||||
|
saveToKeyfile(!pedited || spot_edited->reparw, "Locallab", "Reparw_" + index_str, spot.reparw, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->fftwlc, "Locallab", "Fftwlc_" + index_str, spot.fftwlc, keyFile);
|
saveToKeyfile(!pedited || spot_edited->fftwlc, "Locallab", "Fftwlc_" + index_str, spot.fftwlc, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->blurlc, "Locallab", "Blurlc_" + index_str, spot.blurlc, keyFile);
|
saveToKeyfile(!pedited || spot_edited->blurlc, "Locallab", "Blurlc_" + index_str, spot.blurlc, keyFile);
|
||||||
saveToKeyfile(!pedited || spot_edited->wavblur, "Locallab", "Wavblur_" + index_str, spot.wavblur, keyFile);
|
saveToKeyfile(!pedited || spot_edited->wavblur, "Locallab", "Wavblur_" + index_str, spot.wavblur, keyFile);
|
||||||
@ -7688,6 +7706,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
|||||||
assignFromKeyfile(keyFile, "Locallab", "Complexcolor_" + index_str, pedited, spot.complexcolor, spotEdited.complexcolor);
|
assignFromKeyfile(keyFile, "Locallab", "Complexcolor_" + index_str, pedited, spot.complexcolor, spotEdited.complexcolor);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Curvactiv_" + index_str, pedited, spot.curvactiv, spotEdited.curvactiv);
|
assignFromKeyfile(keyFile, "Locallab", "Curvactiv_" + index_str, pedited, spot.curvactiv, spotEdited.curvactiv);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Lightness_" + index_str, pedited, spot.lightness, spotEdited.lightness);
|
assignFromKeyfile(keyFile, "Locallab", "Lightness_" + index_str, pedited, spot.lightness, spotEdited.lightness);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Reparcol_" + index_str, pedited, spot.reparcol, spotEdited.reparcol);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Contrast_" + index_str, pedited, spot.contrast, spotEdited.contrast);
|
assignFromKeyfile(keyFile, "Locallab", "Contrast_" + index_str, pedited, spot.contrast, spotEdited.contrast);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Chroma_" + index_str, pedited, spot.chroma, spotEdited.chroma);
|
assignFromKeyfile(keyFile, "Locallab", "Chroma_" + index_str, pedited, spot.chroma, spotEdited.chroma);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "labgridALow_" + index_str, pedited, spot.labgridALow, spotEdited.labgridALow);
|
assignFromKeyfile(keyFile, "Locallab", "labgridALow_" + index_str, pedited, spot.labgridALow, spotEdited.labgridALow);
|
||||||
@ -7801,6 +7820,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
|||||||
assignFromKeyfile(keyFile, "Locallab", "ExpMethod_" + index_str, pedited, spot.expMethod, spotEdited.expMethod);
|
assignFromKeyfile(keyFile, "Locallab", "ExpMethod_" + index_str, pedited, spot.expMethod, spotEdited.expMethod);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "ExnoiseMethod_" + index_str, pedited, spot.exnoiseMethod, spotEdited.exnoiseMethod);
|
assignFromKeyfile(keyFile, "Locallab", "ExnoiseMethod_" + index_str, pedited, spot.exnoiseMethod, spotEdited.exnoiseMethod);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Laplacexp_" + index_str, pedited, spot.laplacexp, spotEdited.laplacexp);
|
assignFromKeyfile(keyFile, "Locallab", "Laplacexp_" + index_str, pedited, spot.laplacexp, spotEdited.laplacexp);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Reparexp_" + index_str, pedited, spot.reparexp, spotEdited.reparexp);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Balanexp_" + index_str, pedited, spot.balanexp, spotEdited.balanexp);
|
assignFromKeyfile(keyFile, "Locallab", "Balanexp_" + index_str, pedited, spot.balanexp, spotEdited.balanexp);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Linearexp_" + index_str, pedited, spot.linear, spotEdited.linear);
|
assignFromKeyfile(keyFile, "Locallab", "Linearexp_" + index_str, pedited, spot.linear, spotEdited.linear);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Gamm_" + index_str, pedited, spot.gamm, spotEdited.gamm);
|
assignFromKeyfile(keyFile, "Locallab", "Gamm_" + index_str, pedited, spot.gamm, spotEdited.gamm);
|
||||||
@ -7848,6 +7868,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
|||||||
assignFromKeyfile(keyFile, "Locallab", "SlomaskSH_" + index_str, pedited, spot.slomaskSH, spotEdited.slomaskSH);
|
assignFromKeyfile(keyFile, "Locallab", "SlomaskSH_" + index_str, pedited, spot.slomaskSH, spotEdited.slomaskSH);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "LapmaskSH_" + index_str, pedited, spot.lapmaskSH, spotEdited.lapmaskSH);
|
assignFromKeyfile(keyFile, "Locallab", "LapmaskSH_" + index_str, pedited, spot.lapmaskSH, spotEdited.lapmaskSH);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "DetailSH_" + index_str, pedited, spot.detailSH, spotEdited.detailSH);
|
assignFromKeyfile(keyFile, "Locallab", "DetailSH_" + index_str, pedited, spot.detailSH, spotEdited.detailSH);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Reparsh_" + index_str, pedited, spot.reparsh, spotEdited.reparsh);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "LmaskSHCurve_" + index_str, pedited, spot.LmaskSHcurve, spotEdited.LmaskSHcurve);
|
assignFromKeyfile(keyFile, "Locallab", "LmaskSHCurve_" + index_str, pedited, spot.LmaskSHcurve, spotEdited.LmaskSHcurve);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "FatamountSH_" + index_str, pedited, spot.fatamountSH, spotEdited.fatamountSH);
|
assignFromKeyfile(keyFile, "Locallab", "FatamountSH_" + index_str, pedited, spot.fatamountSH, spotEdited.fatamountSH);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "FatanchorSH_" + index_str, pedited, spot.fatanchorSH, spotEdited.fatanchorSH);
|
assignFromKeyfile(keyFile, "Locallab", "FatanchorSH_" + index_str, pedited, spot.fatanchorSH, spotEdited.fatanchorSH);
|
||||||
@ -7972,6 +7993,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
|||||||
assignFromKeyfile(keyFile, "Locallab", "Nlrad_" + index_str, pedited, spot.nlrad, spotEdited.nlrad);
|
assignFromKeyfile(keyFile, "Locallab", "Nlrad_" + index_str, pedited, spot.nlrad, spotEdited.nlrad);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Nlgam_" + index_str, pedited, spot.nlgam, spotEdited.nlgam);
|
assignFromKeyfile(keyFile, "Locallab", "Nlgam_" + index_str, pedited, spot.nlgam, spotEdited.nlgam);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Sensiden_" + index_str, pedited, spot.sensiden, spotEdited.sensiden);
|
assignFromKeyfile(keyFile, "Locallab", "Sensiden_" + index_str, pedited, spot.sensiden, spotEdited.sensiden);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Reparden_" + index_str, pedited, spot.reparden, spotEdited.reparden);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Detailthr_" + index_str, pedited, spot.detailthr, spotEdited.detailthr);
|
assignFromKeyfile(keyFile, "Locallab", "Detailthr_" + index_str, pedited, spot.detailthr, spotEdited.detailthr);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "LocwavCurveden_" + index_str, pedited, spot.locwavcurveden, spotEdited.locwavcurveden);
|
assignFromKeyfile(keyFile, "Locallab", "LocwavCurveden_" + index_str, pedited, spot.locwavcurveden, spotEdited.locwavcurveden);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "LocwavCurvehue_" + index_str, pedited, spot.locwavcurvehue, spotEdited.locwavcurvehue);
|
assignFromKeyfile(keyFile, "Locallab", "LocwavCurvehue_" + index_str, pedited, spot.locwavcurvehue, spotEdited.locwavcurvehue);
|
||||||
@ -8016,6 +8038,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
|||||||
assignFromKeyfile(keyFile, "Locallab", "Gamma_" + index_str, pedited, spot.gamma, spotEdited.gamma);
|
assignFromKeyfile(keyFile, "Locallab", "Gamma_" + index_str, pedited, spot.gamma, spotEdited.gamma);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Estop_" + index_str, pedited, spot.estop, spotEdited.estop);
|
assignFromKeyfile(keyFile, "Locallab", "Estop_" + index_str, pedited, spot.estop, spotEdited.estop);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Scaltm_" + index_str, pedited, spot.scaltm, spotEdited.scaltm);
|
assignFromKeyfile(keyFile, "Locallab", "Scaltm_" + index_str, pedited, spot.scaltm, spotEdited.scaltm);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Repartm_" + index_str, pedited, spot.repartm, spotEdited.repartm);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Rewei_" + index_str, pedited, spot.rewei, spotEdited.rewei);
|
assignFromKeyfile(keyFile, "Locallab", "Rewei_" + index_str, pedited, spot.rewei, spotEdited.rewei);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Satur_" + index_str, pedited, spot.satur, spotEdited.satur);
|
assignFromKeyfile(keyFile, "Locallab", "Satur_" + index_str, pedited, spot.satur, spotEdited.satur);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Sensitm_" + index_str, pedited, spot.sensitm, spotEdited.sensitm);
|
assignFromKeyfile(keyFile, "Locallab", "Sensitm_" + index_str, pedited, spot.sensitm, spotEdited.sensitm);
|
||||||
@ -8149,6 +8172,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
|||||||
assignFromKeyfile(keyFile, "Locallab", "Edgw_" + index_str, pedited, spot.edgw, spotEdited.edgw);
|
assignFromKeyfile(keyFile, "Locallab", "Edgw_" + index_str, pedited, spot.edgw, spotEdited.edgw);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Basew_" + index_str, pedited, spot.basew, spotEdited.basew);
|
assignFromKeyfile(keyFile, "Locallab", "Basew_" + index_str, pedited, spot.basew, spotEdited.basew);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Sensilc_" + index_str, pedited, spot.sensilc, spotEdited.sensilc);
|
assignFromKeyfile(keyFile, "Locallab", "Sensilc_" + index_str, pedited, spot.sensilc, spotEdited.sensilc);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Reparw_" + index_str, pedited, spot.reparw, spotEdited.reparw);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Fftwlc_" + index_str, pedited, spot.fftwlc, spotEdited.fftwlc);
|
assignFromKeyfile(keyFile, "Locallab", "Fftwlc_" + index_str, pedited, spot.fftwlc, spotEdited.fftwlc);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Blurlc_" + index_str, pedited, spot.blurlc, spotEdited.blurlc);
|
assignFromKeyfile(keyFile, "Locallab", "Blurlc_" + index_str, pedited, spot.blurlc, spotEdited.blurlc);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Wavblur_" + index_str, pedited, spot.wavblur, spotEdited.wavblur);
|
assignFromKeyfile(keyFile, "Locallab", "Wavblur_" + index_str, pedited, spot.wavblur, spotEdited.wavblur);
|
||||||
|
@ -1030,6 +1030,7 @@ struct LocallabParams {
|
|||||||
int complexcolor;
|
int complexcolor;
|
||||||
bool curvactiv;
|
bool curvactiv;
|
||||||
int lightness;
|
int lightness;
|
||||||
|
double reparcol;
|
||||||
int contrast;
|
int contrast;
|
||||||
int chroma;
|
int chroma;
|
||||||
double labgridALow;
|
double labgridALow;
|
||||||
@ -1129,6 +1130,7 @@ struct LocallabParams {
|
|||||||
Glib::ustring expMethod; // std, pde
|
Glib::ustring expMethod; // std, pde
|
||||||
Glib::ustring exnoiseMethod; // none, med, medhi
|
Glib::ustring exnoiseMethod; // none, med, medhi
|
||||||
double laplacexp;
|
double laplacexp;
|
||||||
|
double reparexp;
|
||||||
double balanexp;
|
double balanexp;
|
||||||
double linear;
|
double linear;
|
||||||
double gamm;
|
double gamm;
|
||||||
@ -1167,6 +1169,7 @@ struct LocallabParams {
|
|||||||
double slomaskSH;
|
double slomaskSH;
|
||||||
double lapmaskSH;
|
double lapmaskSH;
|
||||||
int detailSH;
|
int detailSH;
|
||||||
|
double reparsh;
|
||||||
std::vector<double> LmaskSHcurve;
|
std::vector<double> LmaskSHcurve;
|
||||||
double fatamountSH;
|
double fatamountSH;
|
||||||
double fatanchorSH;
|
double fatanchorSH;
|
||||||
@ -1269,6 +1272,7 @@ struct LocallabParams {
|
|||||||
int nlrad;
|
int nlrad;
|
||||||
double nlgam;
|
double nlgam;
|
||||||
int sensiden;
|
int sensiden;
|
||||||
|
double reparden;
|
||||||
int detailthr;
|
int detailthr;
|
||||||
std::vector<double> locwavcurveden;
|
std::vector<double> locwavcurveden;
|
||||||
std::vector<double> locwavcurvehue;
|
std::vector<double> locwavcurvehue;
|
||||||
@ -1300,6 +1304,7 @@ struct LocallabParams {
|
|||||||
double gamma;
|
double gamma;
|
||||||
double estop;
|
double estop;
|
||||||
double scaltm;
|
double scaltm;
|
||||||
|
double repartm;
|
||||||
int rewei;
|
int rewei;
|
||||||
double satur;
|
double satur;
|
||||||
int sensitm;
|
int sensitm;
|
||||||
@ -1421,6 +1426,7 @@ struct LocallabParams {
|
|||||||
double edgw;
|
double edgw;
|
||||||
double basew;
|
double basew;
|
||||||
int sensilc;
|
int sensilc;
|
||||||
|
double reparw;
|
||||||
bool fftwlc;
|
bool fftwlc;
|
||||||
bool blurlc;
|
bool blurlc;
|
||||||
bool wavblur;
|
bool wavblur;
|
||||||
|
@ -1069,7 +1069,13 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
|||||||
AUTOEXP, // EvLocallabSpotavoidrad
|
AUTOEXP, // EvLocallabSpotavoidrad
|
||||||
AUTOEXP, // EvLocallabSpotavoidmun
|
AUTOEXP, // EvLocallabSpotavoidmun
|
||||||
AUTOEXP, // Evlocallabcontthres
|
AUTOEXP, // Evlocallabcontthres
|
||||||
AUTOEXP // Evlocallabnorm
|
AUTOEXP, // Evlocallabnorm
|
||||||
|
AUTOEXP, // Evlocallabreparw
|
||||||
|
AUTOEXP, // Evlocallabreparcol
|
||||||
|
AUTOEXP, // Evlocallabreparden
|
||||||
|
AUTOEXP, // Evlocallabreparsh
|
||||||
|
AUTOEXP, // Evlocallabreparexp
|
||||||
|
AUTOEXP // Evlocallabrepartm
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -416,6 +416,7 @@ LocallabColor::LocallabColor():
|
|||||||
|
|
||||||
// Color & Light specific widgets
|
// Color & Light specific widgets
|
||||||
lumFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_LUMFRA")))),
|
lumFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_LUMFRA")))),
|
||||||
|
reparcol(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGREPART"), 1.0, 100.0, 1., 100.0))),
|
||||||
lightness(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LIGHTNESS"), -100, 500, 1, 0))),
|
lightness(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LIGHTNESS"), -100, 500, 1, 0))),
|
||||||
contrast(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CONTRAST"), -100, 100, 1, 0))),
|
contrast(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CONTRAST"), -100, 100, 1, 0))),
|
||||||
chroma(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CHROMA"), -100, 150, 1, 0))),
|
chroma(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CHROMA"), -100, 150, 1, 0))),
|
||||||
@ -525,6 +526,8 @@ LocallabColor::LocallabColor():
|
|||||||
|
|
||||||
lightness->setAdjusterListener(this);
|
lightness->setAdjusterListener(this);
|
||||||
|
|
||||||
|
reparcol->setAdjusterListener(this);
|
||||||
|
|
||||||
contrast->setAdjusterListener(this);
|
contrast->setAdjusterListener(this);
|
||||||
|
|
||||||
chroma->setAdjusterListener(this);
|
chroma->setAdjusterListener(this);
|
||||||
@ -787,6 +790,7 @@ LocallabColor::LocallabColor():
|
|||||||
csThresholdcol->setAdjusterListener(this);
|
csThresholdcol->setAdjusterListener(this);
|
||||||
|
|
||||||
// Add Color & Light specific widgets to GUI
|
// Add Color & Light specific widgets to GUI
|
||||||
|
pack_start(*reparcol);
|
||||||
ToolParamBlock* const lumBox = Gtk::manage(new ToolParamBlock());
|
ToolParamBlock* const lumBox = Gtk::manage(new ToolParamBlock());
|
||||||
lumBox->pack_start(*lightness);
|
lumBox->pack_start(*lightness);
|
||||||
lumBox->pack_start(*contrast);
|
lumBox->pack_start(*contrast);
|
||||||
@ -957,6 +961,7 @@ void LocallabColor::updateAdviceTooltips(const bool showTooltips)
|
|||||||
if (showTooltips) {
|
if (showTooltips) {
|
||||||
lumFrame->set_tooltip_text(M("TP_LOCALLAB_EXPCOLOR_TOOLTIP"));
|
lumFrame->set_tooltip_text(M("TP_LOCALLAB_EXPCOLOR_TOOLTIP"));
|
||||||
lightness->set_tooltip_text(M("TP_LOCALLAB_LIGHTN_TOOLTIP"));
|
lightness->set_tooltip_text(M("TP_LOCALLAB_LIGHTN_TOOLTIP"));
|
||||||
|
reparcol->set_tooltip_text(M("TP_LOCALLAB_REPARCOL_TOOLTIP"));
|
||||||
gridMethod->set_tooltip_text(M("TP_LOCALLAB_GRIDMETH_TOOLTIP"));
|
gridMethod->set_tooltip_text(M("TP_LOCALLAB_GRIDMETH_TOOLTIP"));
|
||||||
strengthgrid->set_tooltip_text(M("TP_LOCALLAB_STRENGRID_TOOLTIP"));
|
strengthgrid->set_tooltip_text(M("TP_LOCALLAB_STRENGRID_TOOLTIP"));
|
||||||
blurcolde->set_tooltip_text(M("TP_LOCALLAB_BLURCOLDE_TOOLTIP"));
|
blurcolde->set_tooltip_text(M("TP_LOCALLAB_BLURCOLDE_TOOLTIP"));
|
||||||
@ -1008,6 +1013,7 @@ void LocallabColor::updateAdviceTooltips(const bool showTooltips)
|
|||||||
} else {
|
} else {
|
||||||
lumFrame->set_tooltip_text("");
|
lumFrame->set_tooltip_text("");
|
||||||
lightness->set_tooltip_text("");
|
lightness->set_tooltip_text("");
|
||||||
|
reparcol->set_tooltip_text("");
|
||||||
gridMethod->set_tooltip_text("");
|
gridMethod->set_tooltip_text("");
|
||||||
strengthgrid->set_tooltip_text("");
|
strengthgrid->set_tooltip_text("");
|
||||||
blurcolde->set_tooltip_text("");
|
blurcolde->set_tooltip_text("");
|
||||||
@ -1124,6 +1130,7 @@ void LocallabColor::read(const rtengine::procparams::ProcParams* pp, const Param
|
|||||||
complexity->set_active(spot.complexcolor);
|
complexity->set_active(spot.complexcolor);
|
||||||
|
|
||||||
lightness->setValue(spot.lightness);
|
lightness->setValue(spot.lightness);
|
||||||
|
reparcol->setValue(spot.reparcol);
|
||||||
contrast->setValue(spot.contrast);
|
contrast->setValue(spot.contrast);
|
||||||
chroma->setValue(spot.chroma);
|
chroma->setValue(spot.chroma);
|
||||||
curvactiv->set_active(spot.curvactiv);
|
curvactiv->set_active(spot.curvactiv);
|
||||||
@ -1298,6 +1305,7 @@ void LocallabColor::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pe
|
|||||||
spot.complexcolor = complexity->get_active_row_number();
|
spot.complexcolor = complexity->get_active_row_number();
|
||||||
|
|
||||||
spot.lightness = lightness->getIntValue();
|
spot.lightness = lightness->getIntValue();
|
||||||
|
spot.reparcol = reparcol->getValue();
|
||||||
spot.contrast = contrast->getIntValue();
|
spot.contrast = contrast->getIntValue();
|
||||||
spot.chroma = chroma->getIntValue();
|
spot.chroma = chroma->getIntValue();
|
||||||
spot.curvactiv = curvactiv->get_active();
|
spot.curvactiv = curvactiv->get_active();
|
||||||
@ -1461,6 +1469,7 @@ void LocallabColor::setDefaults(const rtengine::procparams::ProcParams* defParam
|
|||||||
|
|
||||||
// Set default value for adjuster, labgrid and threshold adjuster widgets
|
// Set default value for adjuster, labgrid and threshold adjuster widgets
|
||||||
lightness->setDefault((double)defSpot.lightness);
|
lightness->setDefault((double)defSpot.lightness);
|
||||||
|
reparcol->setDefault(defSpot.reparcol);
|
||||||
contrast->setDefault((double)defSpot.contrast);
|
contrast->setDefault((double)defSpot.contrast);
|
||||||
chroma->setDefault((double)defSpot.chroma);
|
chroma->setDefault((double)defSpot.chroma);
|
||||||
labgrid->setDefault(defSpot.labgridALow / LocallabParams::LABGRIDL_CORR_MAX,
|
labgrid->setDefault(defSpot.labgridALow / LocallabParams::LABGRIDL_CORR_MAX,
|
||||||
@ -1515,6 +1524,13 @@ void LocallabColor::adjusterChanged(Adjuster* a, double newval)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (a == reparcol) {
|
||||||
|
if (listener) {
|
||||||
|
listener->panelChanged(Evlocallabreparcol,
|
||||||
|
reparcol->getTextValue() + " (" + escapeHtmlChars(spotName) + ")");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (a == contrast) {
|
if (a == contrast) {
|
||||||
if (listener) {
|
if (listener) {
|
||||||
listener->panelChanged(Evlocallabcontrast,
|
listener->panelChanged(Evlocallabcontrast,
|
||||||
@ -2376,6 +2392,7 @@ void LocallabColor::updateColorGUI1()
|
|||||||
showmaskcolMethodinv->show();
|
showmaskcolMethodinv->show();
|
||||||
contcol->hide();
|
contcol->hide();
|
||||||
blurcol->hide();
|
blurcol->hide();
|
||||||
|
reparcol->hide();
|
||||||
} else {
|
} else {
|
||||||
gridFrame->show();
|
gridFrame->show();
|
||||||
|
|
||||||
@ -2407,6 +2424,7 @@ void LocallabColor::updateColorGUI1()
|
|||||||
showmaskcolMethodConninv.block(false);
|
showmaskcolMethodConninv.block(false);
|
||||||
contcol->show();
|
contcol->show();
|
||||||
blurcol->show();
|
blurcol->show();
|
||||||
|
reparcol->show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2488,6 +2506,7 @@ LocallabExposure::LocallabExposure():
|
|||||||
// pdeFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_PDEFRA")))),
|
// pdeFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_PDEFRA")))),
|
||||||
exppde(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_PDEFRA")))),
|
exppde(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_PDEFRA")))),
|
||||||
laplacexp(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LAPLACEXP"), 0.0, 100.0, 0.1, 0.))),
|
laplacexp(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LAPLACEXP"), 0.0, 100.0, 0.1, 0.))),
|
||||||
|
reparexp(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGREPART"), 1.0, 100.0, 1., 100.0))),
|
||||||
linear(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LINEAR"), 0.01, 1., 0.01, 0.05))),
|
linear(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LINEAR"), 0.01, 1., 0.01, 0.05))),
|
||||||
balanexp(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BALANEXP"), 0.5, 1.5, 0.01, 1.0))),
|
balanexp(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BALANEXP"), 0.5, 1.5, 0.01, 1.0))),
|
||||||
gamm(Gtk::manage(new Adjuster(M("TP_LOCALLAB_GAMM"), 0.2, 1.3, 0.01, 0.4))),
|
gamm(Gtk::manage(new Adjuster(M("TP_LOCALLAB_GAMM"), 0.2, 1.3, 0.01, 0.4))),
|
||||||
@ -2499,7 +2518,7 @@ LocallabExposure::LocallabExposure():
|
|||||||
fatdetail(Gtk::manage(new Adjuster(M("TP_LOCALLAB_FATDETAIL"), -100., 300., 1., 0.))),
|
fatdetail(Gtk::manage(new Adjuster(M("TP_LOCALLAB_FATDETAIL"), -100., 300., 1., 0.))),
|
||||||
norm(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_EQUIL")))),
|
norm(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_EQUIL")))),
|
||||||
fatlevel(Gtk::manage(new Adjuster(M("TP_LOCALLAB_FATLEVEL"), 0.5, 2.0, 0.01, 1.))),
|
fatlevel(Gtk::manage(new Adjuster(M("TP_LOCALLAB_FATLEVEL"), 0.5, 2.0, 0.01, 1.))),
|
||||||
fatanchor(Gtk::manage(new Adjuster(M("TP_LOCALLAB_FATANCHORA"), 0.5, 2.0, 0.01, 1.))),
|
fatanchor(Gtk::manage(new Adjuster(M("TP_LOCALLAB_FATANCHOR"), 0.1, 100.0, 0.01, 50., Gtk::manage(new RTImage("circle-black-small.png")), Gtk::manage(new RTImage("circle-white-small.png"))))),
|
||||||
sensiex(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSI"), 0, 100, 1, 60))),
|
sensiex(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSI"), 0, 100, 1, 60))),
|
||||||
structexp(Gtk::manage(new Adjuster(M("TP_LOCALLAB_STRUCCOL"), 0, 100, 1, 0))),
|
structexp(Gtk::manage(new Adjuster(M("TP_LOCALLAB_STRUCCOL"), 0, 100, 1, 0))),
|
||||||
blurexpde(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BLURDE"), 2, 100, 1, 5))),
|
blurexpde(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BLURDE"), 2, 100, 1, 5))),
|
||||||
@ -2562,6 +2581,7 @@ LocallabExposure::LocallabExposure():
|
|||||||
setExpandAlignProperties(expfat, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START);
|
setExpandAlignProperties(expfat, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START);
|
||||||
|
|
||||||
laplacexp->setAdjusterListener(this);
|
laplacexp->setAdjusterListener(this);
|
||||||
|
reparexp->setAdjusterListener(this);
|
||||||
|
|
||||||
linear->setAdjusterListener(this);
|
linear->setAdjusterListener(this);
|
||||||
|
|
||||||
@ -2701,7 +2721,8 @@ LocallabExposure::LocallabExposure():
|
|||||||
mask2expCurveEditorG->curveListComplete();
|
mask2expCurveEditorG->curveListComplete();
|
||||||
|
|
||||||
// Add Color & Light specific widgets to GUI
|
// Add Color & Light specific widgets to GUI
|
||||||
// pack_start(*expMethod);
|
pack_start(*sensiex);
|
||||||
|
pack_start(*reparexp);
|
||||||
ToolParamBlock* const pdeBox = Gtk::manage(new ToolParamBlock());
|
ToolParamBlock* const pdeBox = Gtk::manage(new ToolParamBlock());
|
||||||
pdeBox->pack_start(*laplacexp);
|
pdeBox->pack_start(*laplacexp);
|
||||||
pdeBox->pack_start(*linear);
|
pdeBox->pack_start(*linear);
|
||||||
@ -2721,13 +2742,12 @@ LocallabExposure::LocallabExposure():
|
|||||||
fatBox->pack_start(*fatdetail);
|
fatBox->pack_start(*fatdetail);
|
||||||
// fatBox->pack_start(*norm);
|
// fatBox->pack_start(*norm);
|
||||||
// fatBox->pack_start(*fatlevel);
|
// fatBox->pack_start(*fatlevel);
|
||||||
// fatBox->pack_start(*fatanchor);
|
fatBox->pack_start(*fatanchor);
|
||||||
// fatFrame->add(*fatBox);
|
// fatFrame->add(*fatBox);
|
||||||
expfat->add(*fatBox, false);
|
expfat->add(*fatBox, false);
|
||||||
// pack_start(*fatFrame);
|
// pack_start(*fatFrame);
|
||||||
pack_start(*expfat);
|
pack_start(*expfat);
|
||||||
pack_start(*expcomp);
|
pack_start(*expcomp);
|
||||||
pack_start(*sensiex);
|
|
||||||
pack_start(*structexp);
|
pack_start(*structexp);
|
||||||
pack_start(*blurexpde);
|
pack_start(*blurexpde);
|
||||||
ToolParamBlock* const toolBox = Gtk::manage(new ToolParamBlock());
|
ToolParamBlock* const toolBox = Gtk::manage(new ToolParamBlock());
|
||||||
@ -2822,6 +2842,7 @@ void LocallabExposure::updateAdviceTooltips(const bool showTooltips)
|
|||||||
higthrese->set_tooltip_text(M("TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP"));
|
higthrese->set_tooltip_text(M("TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP"));
|
||||||
blurexpde->set_tooltip_text(M("TP_LOCALLAB_BLURCOLDE_TOOLTIP"));
|
blurexpde->set_tooltip_text(M("TP_LOCALLAB_BLURCOLDE_TOOLTIP"));
|
||||||
laplacexp->set_tooltip_text(M("TP_LOCALLAB_EXPLAP_TOOLTIP"));
|
laplacexp->set_tooltip_text(M("TP_LOCALLAB_EXPLAP_TOOLTIP"));
|
||||||
|
reparexp->set_tooltip_text(M("TP_LOCALLAB_REPAREXP_TOOLTIP"));
|
||||||
linear->set_tooltip_text(M("TP_LOCALLAB_EXPLAPLIN_TOOLTIP"));
|
linear->set_tooltip_text(M("TP_LOCALLAB_EXPLAPLIN_TOOLTIP"));
|
||||||
balanexp->set_tooltip_text(M("TP_LOCALLAB_EXPLAPBAL_TOOLTIP"));
|
balanexp->set_tooltip_text(M("TP_LOCALLAB_EXPLAPBAL_TOOLTIP"));
|
||||||
gamm->set_tooltip_text(M("TP_LOCALLAB_EXPLAPGAMM_TOOLTIP"));
|
gamm->set_tooltip_text(M("TP_LOCALLAB_EXPLAPGAMM_TOOLTIP"));
|
||||||
@ -2856,6 +2877,7 @@ void LocallabExposure::updateAdviceTooltips(const bool showTooltips)
|
|||||||
blurexpde->set_tooltip_text("");
|
blurexpde->set_tooltip_text("");
|
||||||
exprecove->set_tooltip_markup("");
|
exprecove->set_tooltip_markup("");
|
||||||
laplacexp->set_tooltip_text("");
|
laplacexp->set_tooltip_text("");
|
||||||
|
reparexp->set_tooltip_text("");
|
||||||
linear->set_tooltip_text("");
|
linear->set_tooltip_text("");
|
||||||
balanexp->set_tooltip_text("");
|
balanexp->set_tooltip_text("");
|
||||||
gamm->set_tooltip_text("");
|
gamm->set_tooltip_text("");
|
||||||
@ -2946,6 +2968,7 @@ void LocallabExposure::read(const rtengine::procparams::ProcParams* pp, const Pa
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
laplacexp->setValue(spot.laplacexp);
|
laplacexp->setValue(spot.laplacexp);
|
||||||
|
reparexp->setValue(spot.reparexp);
|
||||||
linear->setValue(spot.linear);
|
linear->setValue(spot.linear);
|
||||||
balanexp->setValue(spot.balanexp);
|
balanexp->setValue(spot.balanexp);
|
||||||
gamm->setValue(spot.gamm);
|
gamm->setValue(spot.gamm);
|
||||||
@ -3037,6 +3060,7 @@ void LocallabExposure::write(rtengine::procparams::ProcParams* pp, ParamsEdited*
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
spot.laplacexp = laplacexp->getValue();
|
spot.laplacexp = laplacexp->getValue();
|
||||||
|
spot.reparexp = reparexp->getValue();
|
||||||
spot.linear = linear->getValue();
|
spot.linear = linear->getValue();
|
||||||
spot.balanexp = balanexp->getValue();
|
spot.balanexp = balanexp->getValue();
|
||||||
spot.gamm = gamm->getValue();
|
spot.gamm = gamm->getValue();
|
||||||
@ -3101,6 +3125,7 @@ void LocallabExposure::setDefaults(const rtengine::procparams::ProcParams* defPa
|
|||||||
|
|
||||||
// Set default values for adjuster widgets
|
// Set default values for adjuster widgets
|
||||||
laplacexp->setDefault(defSpot.laplacexp);
|
laplacexp->setDefault(defSpot.laplacexp);
|
||||||
|
reparexp->setDefault(defSpot.reparexp);
|
||||||
linear->setDefault(defSpot.linear);
|
linear->setDefault(defSpot.linear);
|
||||||
balanexp->setDefault(defSpot.balanexp);
|
balanexp->setDefault(defSpot.balanexp);
|
||||||
gamm->setDefault(defSpot.gamm);
|
gamm->setDefault(defSpot.gamm);
|
||||||
@ -3153,6 +3178,13 @@ void LocallabExposure::adjusterChanged(Adjuster* a, double newval)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (a == reparexp) {
|
||||||
|
if (listener) {
|
||||||
|
listener->panelChanged(Evlocallabreparexp,
|
||||||
|
reparexp->getTextValue() + " (" + escapeHtmlChars(spotName) + ")");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (a == linear) {
|
if (a == linear) {
|
||||||
if (listener) {
|
if (listener) {
|
||||||
listener->panelChanged(Evlocallablinear,
|
listener->panelChanged(Evlocallablinear,
|
||||||
@ -3449,12 +3481,9 @@ void LocallabExposure::convertParamToNormal()
|
|||||||
slomaskexp->setValue(defSpot.slomaskexp);
|
slomaskexp->setValue(defSpot.slomaskexp);
|
||||||
strmaskexp->setValue(defSpot.strmaskexp);
|
strmaskexp->setValue(defSpot.strmaskexp);
|
||||||
angmaskexp->setValue(defSpot.angmaskexp);
|
angmaskexp->setValue(defSpot.angmaskexp);
|
||||||
// fatlevel->setValue(defSpot.fatlevel);
|
|
||||||
// fatanchor->setValue(defSpot.fatanchor);
|
|
||||||
decaye->setValue(defSpot.decaye);
|
decaye->setValue(defSpot.decaye);
|
||||||
// norm->set_active(defSpot.enaExpMask);
|
// norm->set_active(defSpot.enaExpMask);
|
||||||
fatlevel->setValue(defSpot.fatlevel);
|
fatlevel->setValue(defSpot.fatlevel);
|
||||||
fatanchor->setValue(defSpot.fatanchor);
|
|
||||||
|
|
||||||
// Enable all listeners
|
// Enable all listeners
|
||||||
enableListener();
|
enableListener();
|
||||||
@ -3530,7 +3559,7 @@ void LocallabExposure::updateGUIToMode(const modeType new_type)
|
|||||||
}
|
}
|
||||||
norm->show();
|
norm->show();
|
||||||
fatlevel->hide();
|
fatlevel->hide();
|
||||||
fatanchor->hide();
|
fatanchor->show();
|
||||||
|
|
||||||
// Specific Simple mode widgets are shown in Normal mode
|
// Specific Simple mode widgets are shown in Normal mode
|
||||||
if (!inversex->get_active()) { // Keep widget hidden when invers is toggled
|
if (!inversex->get_active()) { // Keep widget hidden when invers is toggled
|
||||||
@ -3774,6 +3803,7 @@ void LocallabExposure::updateExposureGUI3()
|
|||||||
expMethod->hide();
|
expMethod->hide();
|
||||||
expcomp->setLabel(M("TP_LOCALLAB_EXPCOMPINV"));
|
expcomp->setLabel(M("TP_LOCALLAB_EXPCOMPINV"));
|
||||||
exprecove->hide();
|
exprecove->hide();
|
||||||
|
reparexp->hide();
|
||||||
|
|
||||||
// Manage specific case where expMethod is different from 0
|
// Manage specific case where expMethod is different from 0
|
||||||
if (expMethod->get_active_row_number() > 0) {
|
if (expMethod->get_active_row_number() > 0) {
|
||||||
@ -3802,6 +3832,7 @@ void LocallabExposure::updateExposureGUI3()
|
|||||||
expgradexp->show();
|
expgradexp->show();
|
||||||
exprecove->show();
|
exprecove->show();
|
||||||
}
|
}
|
||||||
|
reparexp->show();
|
||||||
|
|
||||||
showmaskexpMethodinv->hide();
|
showmaskexpMethodinv->hide();
|
||||||
// Reset hidden mask combobox
|
// Reset hidden mask combobox
|
||||||
@ -3818,6 +3849,7 @@ LocallabShadow::LocallabShadow():
|
|||||||
|
|
||||||
// Shadow highlight specific widgets
|
// Shadow highlight specific widgets
|
||||||
shMethod(Gtk::manage(new MyComboBoxText())),
|
shMethod(Gtk::manage(new MyComboBoxText())),
|
||||||
|
reparsh(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGREPART"), 1.0, 100.0, 1., 100.0))),
|
||||||
multipliersh([]() -> std::array<Adjuster *, 5>
|
multipliersh([]() -> std::array<Adjuster *, 5>
|
||||||
{
|
{
|
||||||
std::array<Adjuster*, 5> res = {};
|
std::array<Adjuster*, 5> res = {};
|
||||||
@ -3895,6 +3927,7 @@ LocallabShadow::LocallabShadow():
|
|||||||
}
|
}
|
||||||
|
|
||||||
detailSH->setAdjusterListener(this);
|
detailSH->setAdjusterListener(this);
|
||||||
|
reparsh->setAdjusterListener(this);
|
||||||
|
|
||||||
highlights->setAdjusterListener(this);
|
highlights->setAdjusterListener(this);
|
||||||
|
|
||||||
@ -3995,6 +4028,7 @@ LocallabShadow::LocallabShadow():
|
|||||||
fatanchorSH->setAdjusterListener(this);
|
fatanchorSH->setAdjusterListener(this);
|
||||||
|
|
||||||
// Add Shadow highlight specific widgets to GUI
|
// Add Shadow highlight specific widgets to GUI
|
||||||
|
pack_start(*reparsh);
|
||||||
pack_start(*shMethod);
|
pack_start(*shMethod);
|
||||||
|
|
||||||
for (const auto multiplier : multipliersh) {
|
for (const auto multiplier : multipliersh) {
|
||||||
@ -4091,6 +4125,7 @@ void LocallabShadow::updateAdviceTooltips(const bool showTooltips)
|
|||||||
}
|
}
|
||||||
|
|
||||||
gamSH->set_tooltip_text(M("TP_LOCALLAB_SHTRC_TOOLTIP"));
|
gamSH->set_tooltip_text(M("TP_LOCALLAB_SHTRC_TOOLTIP"));
|
||||||
|
reparsh->set_tooltip_text(M("TP_LOCALLAB_REPARSH_TOOLTIP"));
|
||||||
sloSH->set_tooltip_text(M("TP_LOCALLAB_SHTRC_TOOLTIP"));
|
sloSH->set_tooltip_text(M("TP_LOCALLAB_SHTRC_TOOLTIP"));
|
||||||
strSH->set_tooltip_text(M("TP_LOCALLAB_GRADGEN_TOOLTIP"));
|
strSH->set_tooltip_text(M("TP_LOCALLAB_GRADGEN_TOOLTIP"));
|
||||||
exprecovs->set_tooltip_markup(M("TP_LOCALLAB_MASKRESH_TOOLTIP"));
|
exprecovs->set_tooltip_markup(M("TP_LOCALLAB_MASKRESH_TOOLTIP"));
|
||||||
@ -4131,6 +4166,7 @@ void LocallabShadow::updateAdviceTooltips(const bool showTooltips)
|
|||||||
multiplier->set_tooltip_text("");
|
multiplier->set_tooltip_text("");
|
||||||
}
|
}
|
||||||
gamSH->set_tooltip_text("");
|
gamSH->set_tooltip_text("");
|
||||||
|
reparsh->set_tooltip_text("");
|
||||||
sloSH->set_tooltip_text("");
|
sloSH->set_tooltip_text("");
|
||||||
strSH->set_tooltip_text("");
|
strSH->set_tooltip_text("");
|
||||||
blurSHde->set_tooltip_text("");
|
blurSHde->set_tooltip_text("");
|
||||||
@ -4221,6 +4257,7 @@ void LocallabShadow::read(const rtengine::procparams::ProcParams* pp, const Para
|
|||||||
decays->setValue((double)spot.decays);
|
decays->setValue((double)spot.decays);
|
||||||
|
|
||||||
detailSH->setValue((double)spot.detailSH);
|
detailSH->setValue((double)spot.detailSH);
|
||||||
|
reparsh->setValue(spot.reparsh);
|
||||||
highlights->setValue((double)spot.highlights);
|
highlights->setValue((double)spot.highlights);
|
||||||
h_tonalwidth->setValue((double)spot.h_tonalwidth);
|
h_tonalwidth->setValue((double)spot.h_tonalwidth);
|
||||||
shadows->setValue(spot.shadows);
|
shadows->setValue(spot.shadows);
|
||||||
@ -4285,6 +4322,7 @@ void LocallabShadow::write(rtengine::procparams::ProcParams* pp, ParamsEdited* p
|
|||||||
}
|
}
|
||||||
|
|
||||||
spot.detailSH = detailSH->getIntValue();
|
spot.detailSH = detailSH->getIntValue();
|
||||||
|
spot.reparsh = reparsh->getValue();
|
||||||
spot.highlights = highlights->getIntValue();
|
spot.highlights = highlights->getIntValue();
|
||||||
spot.h_tonalwidth = h_tonalwidth->getIntValue();
|
spot.h_tonalwidth = h_tonalwidth->getIntValue();
|
||||||
spot.shadows = shadows->getIntValue();
|
spot.shadows = shadows->getIntValue();
|
||||||
@ -4332,6 +4370,7 @@ void LocallabShadow::setDefaults(const rtengine::procparams::ProcParams* defPara
|
|||||||
}
|
}
|
||||||
|
|
||||||
detailSH->setDefault((double)defSpot.detailSH);
|
detailSH->setDefault((double)defSpot.detailSH);
|
||||||
|
reparsh->setDefault(defSpot.reparsh);
|
||||||
highlights->setDefault((double)defSpot.highlights);
|
highlights->setDefault((double)defSpot.highlights);
|
||||||
h_tonalwidth->setDefault((double)defSpot.h_tonalwidth);
|
h_tonalwidth->setDefault((double)defSpot.h_tonalwidth);
|
||||||
shadows->setDefault((double)defSpot.shadows);
|
shadows->setDefault((double)defSpot.shadows);
|
||||||
@ -4382,6 +4421,13 @@ void LocallabShadow::adjusterChanged(Adjuster* a, double newval)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (a == reparsh) {
|
||||||
|
if (listener) {
|
||||||
|
listener->panelChanged(Evlocallabreparsh,
|
||||||
|
reparsh->getTextValue() + " (" + escapeHtmlChars(spotName) + ")");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (a == highlights) {
|
if (a == highlights) {
|
||||||
if (listener) {
|
if (listener) {
|
||||||
listener->panelChanged(Evlocallabhighlights,
|
listener->panelChanged(Evlocallabhighlights,
|
||||||
@ -4858,11 +4904,13 @@ void LocallabShadow::updateShadowGUI1()
|
|||||||
showmaskSHMethodConn.block(false);
|
showmaskSHMethodConn.block(false);
|
||||||
showmaskSHMethodinv->show();
|
showmaskSHMethodinv->show();
|
||||||
exprecovs->hide();
|
exprecovs->hide();
|
||||||
|
reparsh->hide();
|
||||||
} else {
|
} else {
|
||||||
if (mode == Expert || mode == Normal) { // Keep widget hidden in Simple mode
|
if (mode == Expert || mode == Normal) { // Keep widget hidden in Simple mode
|
||||||
expgradsh->show();
|
expgradsh->show();
|
||||||
exprecovs->show();
|
exprecovs->show();
|
||||||
}
|
}
|
||||||
|
reparsh->show();
|
||||||
|
|
||||||
showmaskSHMethod->show();
|
showmaskSHMethod->show();
|
||||||
showmaskSHMethodinv->hide();
|
showmaskSHMethodinv->hide();
|
||||||
@ -6337,6 +6385,7 @@ LocallabBlur::LocallabBlur():
|
|||||||
nlgam(Gtk::manage(new Adjuster(M("TP_LOCALLAB_NLGAM"), 2., 5., 0.1, 3.))),
|
nlgam(Gtk::manage(new Adjuster(M("TP_LOCALLAB_NLGAM"), 2., 5., 0.1, 3.))),
|
||||||
bilateral(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BILATERAL"), 0, 100, 1, 0))),
|
bilateral(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BILATERAL"), 0, 100, 1, 0))),
|
||||||
sensiden(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSI"), 0, 100, 1, 60))),
|
sensiden(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSI"), 0, 100, 1, 60))),
|
||||||
|
reparden(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGREPART"), 1.0, 100.0, 1., 100.0))),
|
||||||
neutral(Gtk::manage (new Gtk::Button (M ("TP_RETINEX_NEUTRAL")))),
|
neutral(Gtk::manage (new Gtk::Button (M ("TP_RETINEX_NEUTRAL")))),
|
||||||
expmaskbl(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_SHOWPLUS")))),
|
expmaskbl(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_SHOWPLUS")))),
|
||||||
showmaskblMethod(Gtk::manage(new MyComboBoxText())),
|
showmaskblMethod(Gtk::manage(new MyComboBoxText())),
|
||||||
@ -6522,6 +6571,7 @@ LocallabBlur::LocallabBlur():
|
|||||||
nlgam->setAdjusterListener(this);
|
nlgam->setAdjusterListener(this);
|
||||||
|
|
||||||
sensiden->setAdjusterListener(this);
|
sensiden->setAdjusterListener(this);
|
||||||
|
reparden->setAdjusterListener(this);
|
||||||
|
|
||||||
|
|
||||||
setExpandAlignProperties (neutral, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START);
|
setExpandAlignProperties (neutral, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START);
|
||||||
@ -6670,6 +6720,7 @@ LocallabBlur::LocallabBlur():
|
|||||||
detailFrame->add(*detailBox);
|
detailFrame->add(*detailBox);
|
||||||
wavBox->pack_start(*detailFrame);
|
wavBox->pack_start(*detailFrame);
|
||||||
denoisebox->pack_start(*sensiden);
|
denoisebox->pack_start(*sensiden);
|
||||||
|
denoisebox->pack_start(*reparden);
|
||||||
|
|
||||||
ToolParamBlock* const nlbox = Gtk::manage(new ToolParamBlock());
|
ToolParamBlock* const nlbox = Gtk::manage(new ToolParamBlock());
|
||||||
nlbox->pack_start(*nlstr);
|
nlbox->pack_start(*nlstr);
|
||||||
@ -6770,6 +6821,7 @@ void LocallabBlur::updateAdviceTooltips(const bool showTooltips)
|
|||||||
strength->set_tooltip_text(M("TP_LOCALLAB_NOISE_TOOLTIP"));
|
strength->set_tooltip_text(M("TP_LOCALLAB_NOISE_TOOLTIP"));
|
||||||
grainFrame->set_tooltip_text(M("TP_LOCALLAB_GRAIN_TOOLTIP"));
|
grainFrame->set_tooltip_text(M("TP_LOCALLAB_GRAIN_TOOLTIP"));
|
||||||
sensibn->set_tooltip_text(M("TP_LOCALLAB_SENSI_TOOLTIP"));
|
sensibn->set_tooltip_text(M("TP_LOCALLAB_SENSI_TOOLTIP"));
|
||||||
|
reparden->set_tooltip_text(M("TP_LOCALLAB_REPARDEN_TOOLTIP"));
|
||||||
medMethod->set_tooltip_text(M("TP_LOCALLAB_MEDIAN_TOOLTIP"));
|
medMethod->set_tooltip_text(M("TP_LOCALLAB_MEDIAN_TOOLTIP"));
|
||||||
itera->set_tooltip_text(M("TP_LOCALLAB_MEDIANITER_TOOLTIP"));
|
itera->set_tooltip_text(M("TP_LOCALLAB_MEDIANITER_TOOLTIP"));
|
||||||
fftwbl->set_tooltip_text(M("TP_LOCALLAB_FFTMASK_TOOLTIP"));
|
fftwbl->set_tooltip_text(M("TP_LOCALLAB_FFTMASK_TOOLTIP"));
|
||||||
@ -6838,6 +6890,7 @@ void LocallabBlur::updateAdviceTooltips(const bool showTooltips)
|
|||||||
strength->set_tooltip_text("");
|
strength->set_tooltip_text("");
|
||||||
grainFrame->set_tooltip_text("");
|
grainFrame->set_tooltip_text("");
|
||||||
sensibn->set_tooltip_text("");
|
sensibn->set_tooltip_text("");
|
||||||
|
reparden->set_tooltip_text("");
|
||||||
medMethod->set_tooltip_text("");
|
medMethod->set_tooltip_text("");
|
||||||
itera->set_tooltip_text("");
|
itera->set_tooltip_text("");
|
||||||
fftwbl->set_tooltip_text("");
|
fftwbl->set_tooltip_text("");
|
||||||
@ -6867,7 +6920,6 @@ void LocallabBlur::updateAdviceTooltips(const bool showTooltips)
|
|||||||
nlpat->set_tooltip_text("");
|
nlpat->set_tooltip_text("");
|
||||||
nlrad->set_tooltip_text("");
|
nlrad->set_tooltip_text("");
|
||||||
nlgam->set_tooltip_text("");
|
nlgam->set_tooltip_text("");
|
||||||
sensibn->set_tooltip_text("");
|
|
||||||
blurMethod->set_tooltip_markup("");
|
blurMethod->set_tooltip_markup("");
|
||||||
expdenoise->set_tooltip_markup("");
|
expdenoise->set_tooltip_markup("");
|
||||||
wavshapeden->setTooltip("");
|
wavshapeden->setTooltip("");
|
||||||
@ -7052,6 +7104,7 @@ void LocallabBlur::read(const rtengine::procparams::ProcParams* pp, const Params
|
|||||||
higthres->setValue((double)spot.higthres);
|
higthres->setValue((double)spot.higthres);
|
||||||
epsbl->setValue((double)spot.epsbl);
|
epsbl->setValue((double)spot.epsbl);
|
||||||
sensibn->setValue((double)spot.sensibn);
|
sensibn->setValue((double)spot.sensibn);
|
||||||
|
reparden->setValue(spot.reparden);
|
||||||
recothresd->setValue((double)spot.recothresd);
|
recothresd->setValue((double)spot.recothresd);
|
||||||
lowthresd->setValue((double)spot.lowthresd);
|
lowthresd->setValue((double)spot.lowthresd);
|
||||||
midthresd->setValue((double)spot.midthresd);
|
midthresd->setValue((double)spot.midthresd);
|
||||||
@ -7198,6 +7251,7 @@ void LocallabBlur::write(rtengine::procparams::ProcParams* pp, ParamsEdited* ped
|
|||||||
spot.higthres = higthres->getValue();
|
spot.higthres = higthres->getValue();
|
||||||
spot.epsbl = epsbl->getIntValue();
|
spot.epsbl = epsbl->getIntValue();
|
||||||
spot.sensibn = sensibn->getIntValue();
|
spot.sensibn = sensibn->getIntValue();
|
||||||
|
spot.reparden = reparden->getValue();
|
||||||
spot.recothresd = recothresd->getValue();
|
spot.recothresd = recothresd->getValue();
|
||||||
spot.lowthresd = lowthresd->getValue();
|
spot.lowthresd = lowthresd->getValue();
|
||||||
spot.midthresd = midthresd->getValue();
|
spot.midthresd = midthresd->getValue();
|
||||||
@ -7307,6 +7361,7 @@ void LocallabBlur::setDefaults(const rtengine::procparams::ProcParams* defParams
|
|||||||
higthres->setDefault((double)defSpot.higthres);
|
higthres->setDefault((double)defSpot.higthres);
|
||||||
epsbl->setDefault((double)defSpot.epsbl);
|
epsbl->setDefault((double)defSpot.epsbl);
|
||||||
sensibn->setDefault((double)defSpot.sensibn);
|
sensibn->setDefault((double)defSpot.sensibn);
|
||||||
|
reparden->setDefault(defSpot.reparden);
|
||||||
recothresd->setDefault((double)defSpot.recothresd);
|
recothresd->setDefault((double)defSpot.recothresd);
|
||||||
lowthresd->setDefault((double)defSpot.lowthresd);
|
lowthresd->setDefault((double)defSpot.lowthresd);
|
||||||
midthresd->setDefault((double)defSpot.midthresd);
|
midthresd->setDefault((double)defSpot.midthresd);
|
||||||
@ -7656,6 +7711,13 @@ void LocallabBlur::adjusterChanged(Adjuster* a, double newval)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (a == reparden) {
|
||||||
|
if (listener) {
|
||||||
|
listener->panelChanged(Evlocallabreparden,
|
||||||
|
reparden->getTextValue() + " (" + escapeHtmlChars(spotName) + ")");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (a == strumaskbl) {
|
if (a == strumaskbl) {
|
||||||
if (listener) {
|
if (listener) {
|
||||||
listener->panelChanged(Evlocallabstrumaskbl,
|
listener->panelChanged(Evlocallabstrumaskbl,
|
||||||
|
@ -177,6 +177,7 @@ class LocallabColor:
|
|||||||
private:
|
private:
|
||||||
// Color & Light specific widgets
|
// Color & Light specific widgets
|
||||||
Gtk::Frame* const lumFrame;
|
Gtk::Frame* const lumFrame;
|
||||||
|
Adjuster* const reparcol;
|
||||||
Adjuster* const lightness;
|
Adjuster* const lightness;
|
||||||
Adjuster* const contrast;
|
Adjuster* const contrast;
|
||||||
Adjuster* const chroma;
|
Adjuster* const chroma;
|
||||||
@ -331,6 +332,7 @@ private:
|
|||||||
// Gtk::Frame* const pdeFrame;
|
// Gtk::Frame* const pdeFrame;
|
||||||
MyExpander* const exppde;
|
MyExpander* const exppde;
|
||||||
Adjuster* const laplacexp;
|
Adjuster* const laplacexp;
|
||||||
|
Adjuster* const reparexp;
|
||||||
Adjuster* const linear;
|
Adjuster* const linear;
|
||||||
Adjuster* const balanexp;
|
Adjuster* const balanexp;
|
||||||
Adjuster* const gamm;
|
Adjuster* const gamm;
|
||||||
@ -442,6 +444,7 @@ class LocallabShadow:
|
|||||||
private:
|
private:
|
||||||
// Shadow highlight specific widgets
|
// Shadow highlight specific widgets
|
||||||
MyComboBoxText* const shMethod;
|
MyComboBoxText* const shMethod;
|
||||||
|
Adjuster* const reparsh;
|
||||||
const std::array<Adjuster*, 5> multipliersh;
|
const std::array<Adjuster*, 5> multipliersh;
|
||||||
Adjuster* const detailSH;
|
Adjuster* const detailSH;
|
||||||
Adjuster* const highlights;
|
Adjuster* const highlights;
|
||||||
@ -745,6 +748,7 @@ private:
|
|||||||
Adjuster* const nlgam;
|
Adjuster* const nlgam;
|
||||||
Adjuster* const bilateral;
|
Adjuster* const bilateral;
|
||||||
Adjuster* const sensiden;
|
Adjuster* const sensiden;
|
||||||
|
Adjuster* const reparden;
|
||||||
Gtk::Button* neutral;
|
Gtk::Button* neutral;
|
||||||
MyExpander* const expmaskbl;
|
MyExpander* const expmaskbl;
|
||||||
MyComboBoxText* const showmaskblMethod;
|
MyComboBoxText* const showmaskblMethod;
|
||||||
@ -835,6 +839,7 @@ class LocallabTone:
|
|||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
// Tone Mapping specific widgets
|
// Tone Mapping specific widgets
|
||||||
|
Adjuster* const repartm;
|
||||||
Adjuster* const amount;
|
Adjuster* const amount;
|
||||||
Adjuster* const stren;
|
Adjuster* const stren;
|
||||||
Gtk::CheckButton* const equiltm;
|
Gtk::CheckButton* const equiltm;
|
||||||
@ -1083,6 +1088,7 @@ private:
|
|||||||
Adjuster* const residhi;
|
Adjuster* const residhi;
|
||||||
Adjuster* const residhithr;
|
Adjuster* const residhithr;
|
||||||
Adjuster* const sensilc;
|
Adjuster* const sensilc;
|
||||||
|
Adjuster* const reparw;
|
||||||
Gtk::Frame* const clariFrame;
|
Gtk::Frame* const clariFrame;
|
||||||
Adjuster* const clarilres;
|
Adjuster* const clarilres;
|
||||||
Adjuster* const claricres;
|
Adjuster* const claricres;
|
||||||
|
@ -118,6 +118,7 @@ LocallabTone::LocallabTone():
|
|||||||
LocallabTool(this, M("TP_LOCALLAB_TONE_TOOLNAME"), M("TP_LOCALLAB_TM"), true),
|
LocallabTool(this, M("TP_LOCALLAB_TONE_TOOLNAME"), M("TP_LOCALLAB_TM"), true),
|
||||||
|
|
||||||
// Tone mapping specific widgets
|
// Tone mapping specific widgets
|
||||||
|
repartm(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGREPART"), 1.0, 100.0, 1., 100.0))),
|
||||||
amount(Gtk::manage(new Adjuster(M("TP_LOCALLAB_AMOUNT"), 50., 100.0, 0.5, 95.))),
|
amount(Gtk::manage(new Adjuster(M("TP_LOCALLAB_AMOUNT"), 50., 100.0, 0.5, 95.))),
|
||||||
stren(Gtk::manage(new Adjuster(M("TP_LOCALLAB_STREN"), -0.5, 2.0, 0.01, 0.5))),
|
stren(Gtk::manage(new Adjuster(M("TP_LOCALLAB_STREN"), -0.5, 2.0, 0.01, 0.5))),
|
||||||
equiltm(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_EQUIL")))),
|
equiltm(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_EQUIL")))),
|
||||||
@ -160,6 +161,8 @@ LocallabTone::LocallabTone():
|
|||||||
// Parameter Tone Mapping specific widgets
|
// Parameter Tone Mapping specific widgets
|
||||||
amount->setAdjusterListener(this);
|
amount->setAdjusterListener(this);
|
||||||
|
|
||||||
|
repartm->setAdjusterListener(this);
|
||||||
|
|
||||||
stren->setAdjusterListener(this);
|
stren->setAdjusterListener(this);
|
||||||
|
|
||||||
equiltmConn = equiltm->signal_toggled().connect(sigc::mem_fun(*this, &LocallabTone::equiltmChanged));
|
equiltmConn = equiltm->signal_toggled().connect(sigc::mem_fun(*this, &LocallabTone::equiltmChanged));
|
||||||
@ -235,10 +238,13 @@ LocallabTone::LocallabTone():
|
|||||||
Lmasktmshape->setLeftBarBgGradient({{0., 0., 0., 0.}, {1., 1., 1., 1.}});
|
Lmasktmshape->setLeftBarBgGradient({{0., 0., 0., 0.}, {1., 1., 1., 1.}});
|
||||||
|
|
||||||
mask2tmCurveEditorG->curveListComplete();
|
mask2tmCurveEditorG->curveListComplete();
|
||||||
|
Gtk::Separator* const separatortm = Gtk::manage(new Gtk::Separator(Gtk::ORIENTATION_HORIZONTAL));
|
||||||
|
|
||||||
// Add Tone Mapping specific widgets to GUI
|
// Add Tone Mapping specific widgets to GUI
|
||||||
// pack_start(*amount); // To use if we change transit_shapedetect parameters
|
// pack_start(*amount); // To use if we change transit_shapedetect parameters
|
||||||
pack_start(*sensitm);
|
pack_start(*sensitm);
|
||||||
|
pack_start(*repartm);
|
||||||
|
pack_start(*separatortm);
|
||||||
pack_start(*stren);
|
pack_start(*stren);
|
||||||
pack_start(*equiltm);
|
pack_start(*equiltm);
|
||||||
pack_start(*gamma);
|
pack_start(*gamma);
|
||||||
@ -304,6 +310,7 @@ void LocallabTone::updateAdviceTooltips(const bool showTooltips)
|
|||||||
exp->set_tooltip_text(M("TP_LOCALLAB_TONEMAP_TOOLTIP"));
|
exp->set_tooltip_text(M("TP_LOCALLAB_TONEMAP_TOOLTIP"));
|
||||||
exprecovt->set_tooltip_markup(M("TP_LOCALLAB_MASKRESTM_TOOLTIP"));
|
exprecovt->set_tooltip_markup(M("TP_LOCALLAB_MASKRESTM_TOOLTIP"));
|
||||||
equiltm->set_tooltip_text(M("TP_LOCALLAB_EQUILTM_TOOLTIP"));
|
equiltm->set_tooltip_text(M("TP_LOCALLAB_EQUILTM_TOOLTIP"));
|
||||||
|
repartm->set_tooltip_text(M("TP_LOCALLAB_REPARTM_TOOLTIP"));
|
||||||
gamma->set_tooltip_text(M("TP_LOCALLAB_TONEMAPGAM_TOOLTIP"));
|
gamma->set_tooltip_text(M("TP_LOCALLAB_TONEMAPGAM_TOOLTIP"));
|
||||||
estop->set_tooltip_text(M("TP_LOCALLAB_TONEMAPESTOP_TOOLTIP"));
|
estop->set_tooltip_text(M("TP_LOCALLAB_TONEMAPESTOP_TOOLTIP"));
|
||||||
scaltm->set_tooltip_text(M("TP_LOCALLAB_TONEMASCALE_TOOLTIP"));
|
scaltm->set_tooltip_text(M("TP_LOCALLAB_TONEMASCALE_TOOLTIP"));
|
||||||
@ -329,6 +336,7 @@ void LocallabTone::updateAdviceTooltips(const bool showTooltips)
|
|||||||
} else {
|
} else {
|
||||||
exp->set_tooltip_text("");
|
exp->set_tooltip_text("");
|
||||||
equiltm->set_tooltip_text("");
|
equiltm->set_tooltip_text("");
|
||||||
|
repartm->set_tooltip_text("");
|
||||||
gamma->set_tooltip_text("");
|
gamma->set_tooltip_text("");
|
||||||
estop->set_tooltip_text("");
|
estop->set_tooltip_text("");
|
||||||
scaltm->set_tooltip_text("");
|
scaltm->set_tooltip_text("");
|
||||||
@ -401,6 +409,7 @@ void LocallabTone::read(const rtengine::procparams::ProcParams* pp, const Params
|
|||||||
|
|
||||||
amount->setValue(spot.amount);
|
amount->setValue(spot.amount);
|
||||||
stren->setValue(spot.stren);
|
stren->setValue(spot.stren);
|
||||||
|
repartm->setValue(spot.repartm);
|
||||||
equiltm->set_active(spot.equiltm);
|
equiltm->set_active(spot.equiltm);
|
||||||
gamma->setValue(spot.gamma);
|
gamma->setValue(spot.gamma);
|
||||||
satur->setValue(spot.satur);
|
satur->setValue(spot.satur);
|
||||||
@ -449,6 +458,7 @@ void LocallabTone::write(rtengine::procparams::ProcParams* pp, ParamsEdited* ped
|
|||||||
|
|
||||||
spot.amount = amount->getValue();
|
spot.amount = amount->getValue();
|
||||||
spot.stren = stren->getValue();
|
spot.stren = stren->getValue();
|
||||||
|
spot.repartm = repartm->getValue();
|
||||||
spot.equiltm = equiltm->get_active();
|
spot.equiltm = equiltm->get_active();
|
||||||
spot.gamma = gamma->getValue();
|
spot.gamma = gamma->getValue();
|
||||||
spot.satur = satur->getValue();
|
spot.satur = satur->getValue();
|
||||||
@ -492,6 +502,7 @@ void LocallabTone::setDefaults(const rtengine::procparams::ProcParams* defParams
|
|||||||
satur->setDefault(defSpot.satur);
|
satur->setDefault(defSpot.satur);
|
||||||
estop->setDefault(defSpot.estop);
|
estop->setDefault(defSpot.estop);
|
||||||
scaltm->setDefault(defSpot.scaltm);
|
scaltm->setDefault(defSpot.scaltm);
|
||||||
|
repartm->setDefault(defSpot.repartm);
|
||||||
rewei->setDefault((double)defSpot.rewei);
|
rewei->setDefault((double)defSpot.rewei);
|
||||||
softradiustm->setDefault(defSpot.softradiustm);
|
softradiustm->setDefault(defSpot.softradiustm);
|
||||||
sensitm->setDefault((double)defSpot.sensitm);
|
sensitm->setDefault((double)defSpot.sensitm);
|
||||||
@ -527,6 +538,8 @@ void LocallabTone::adjusterChanged(Adjuster* a, double newval)
|
|||||||
listener->panelChanged(Evlocallabestop, estop->getTextValue() + spName);
|
listener->panelChanged(Evlocallabestop, estop->getTextValue() + spName);
|
||||||
} else if (a == scaltm) {
|
} else if (a == scaltm) {
|
||||||
listener->panelChanged(Evlocallabscaltm, scaltm->getTextValue() + spName);
|
listener->panelChanged(Evlocallabscaltm, scaltm->getTextValue() + spName);
|
||||||
|
} else if (a == repartm) {
|
||||||
|
listener->panelChanged(Evlocallabrepartm, repartm->getTextValue() + spName);
|
||||||
} else if (a == rewei) {
|
} else if (a == rewei) {
|
||||||
listener->panelChanged(Evlocallabrewei, rewei->getTextValue() + spName);
|
listener->panelChanged(Evlocallabrewei, rewei->getTextValue() + spName);
|
||||||
} else if (a == softradiustm) {
|
} else if (a == softradiustm) {
|
||||||
@ -2333,6 +2346,7 @@ LocallabContrast::LocallabContrast():
|
|||||||
residhi(Gtk::manage(new Adjuster(M("TP_LOCALLAB_RESIDHI"), -100., 100., 1., 0.))),
|
residhi(Gtk::manage(new Adjuster(M("TP_LOCALLAB_RESIDHI"), -100., 100., 1., 0.))),
|
||||||
residhithr(Gtk::manage(new Adjuster(M("TP_LOCALLAB_RESIDHITHR"), 0., 100., 1., 70.))),
|
residhithr(Gtk::manage(new Adjuster(M("TP_LOCALLAB_RESIDHITHR"), 0., 100., 1., 70.))),
|
||||||
sensilc(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSI"), 0, 100, 1, 60))),
|
sensilc(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSI"), 0, 100, 1, 60))),
|
||||||
|
reparw(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGREPART"), 1.0, 100.0, 1., 100.0))),
|
||||||
clariFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_CLARIFRA")))),
|
clariFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_CLARIFRA")))),
|
||||||
clarilres(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CLARILRES"), -20., 100., 0.5, 0.))),
|
clarilres(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CLARILRES"), -20., 100., 0.5, 0.))),
|
||||||
claricres(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CLARICRES"), -20., 100., 0.5, 0.))),
|
claricres(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CLARICRES"), -20., 100., 0.5, 0.))),
|
||||||
@ -2465,6 +2479,8 @@ LocallabContrast::LocallabContrast():
|
|||||||
|
|
||||||
sensilc->setAdjusterListener(this);
|
sensilc->setAdjusterListener(this);
|
||||||
|
|
||||||
|
reparw->setAdjusterListener(this);
|
||||||
|
|
||||||
clariFrame->set_label_align(0.025, 0.5);
|
clariFrame->set_label_align(0.025, 0.5);
|
||||||
|
|
||||||
clarilres->setAdjusterListener(this);
|
clarilres->setAdjusterListener(this);
|
||||||
@ -2689,6 +2705,7 @@ LocallabContrast::LocallabContrast():
|
|||||||
|
|
||||||
// Add Local contrast specific widgets to GUI
|
// Add Local contrast specific widgets to GUI
|
||||||
pack_start(*sensilc);
|
pack_start(*sensilc);
|
||||||
|
pack_start(*reparw);
|
||||||
pack_start(*localcontMethod);
|
pack_start(*localcontMethod);
|
||||||
pack_start(*lcradius);
|
pack_start(*lcradius);
|
||||||
pack_start(*lcamount);
|
pack_start(*lcamount);
|
||||||
@ -2945,6 +2962,7 @@ void LocallabContrast::updateAdviceTooltips(const bool showTooltips)
|
|||||||
masklcCurveEditorG->set_tooltip_markup(M("TP_LOCALLAB_MASKCURVE_TOOLTIP"));
|
masklcCurveEditorG->set_tooltip_markup(M("TP_LOCALLAB_MASKCURVE_TOOLTIP"));
|
||||||
chromasklc->set_tooltip_text(M("TP_LOCALLAB_CHROMASK_TOOLTIP"));
|
chromasklc->set_tooltip_text(M("TP_LOCALLAB_CHROMASK_TOOLTIP"));
|
||||||
sensilc->set_tooltip_text(M("TP_LOCALLAB_SENSI_TOOLTIP"));
|
sensilc->set_tooltip_text(M("TP_LOCALLAB_SENSI_TOOLTIP"));
|
||||||
|
reparw->set_tooltip_text(M("TP_LOCALLAB_REPARW_TOOLTIP"));
|
||||||
decayw->set_tooltip_text(M("TP_LOCALLAB_MASKDECAY_TOOLTIP"));
|
decayw->set_tooltip_text(M("TP_LOCALLAB_MASKDECAY_TOOLTIP"));
|
||||||
lowthresw->set_tooltip_text(M("TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP"));
|
lowthresw->set_tooltip_text(M("TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP"));
|
||||||
higthresw->set_tooltip_text(M("TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP"));
|
higthresw->set_tooltip_text(M("TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP"));
|
||||||
@ -2977,6 +2995,7 @@ void LocallabContrast::updateAdviceTooltips(const bool showTooltips)
|
|||||||
masklcCurveEditorG->set_tooltip_markup("");
|
masklcCurveEditorG->set_tooltip_markup("");
|
||||||
chromasklc->set_tooltip_text("");
|
chromasklc->set_tooltip_text("");
|
||||||
sensilc->set_tooltip_text("");
|
sensilc->set_tooltip_text("");
|
||||||
|
reparw->set_tooltip_text("");
|
||||||
|
|
||||||
wavshape->setTooltip("");
|
wavshape->setTooltip("");
|
||||||
clarilres->set_tooltip_text("");
|
clarilres->set_tooltip_text("");
|
||||||
@ -3113,6 +3132,7 @@ void LocallabContrast::read(const rtengine::procparams::ProcParams* pp, const Pa
|
|||||||
residhi->setValue(spot.residhi);
|
residhi->setValue(spot.residhi);
|
||||||
residhithr->setValue(spot.residhithr);
|
residhithr->setValue(spot.residhithr);
|
||||||
sensilc->setValue((double)spot.sensilc);
|
sensilc->setValue((double)spot.sensilc);
|
||||||
|
reparw->setValue(spot.reparw);
|
||||||
clarilres->setValue(spot.clarilres);
|
clarilres->setValue(spot.clarilres);
|
||||||
claricres->setValue(spot.claricres);
|
claricres->setValue(spot.claricres);
|
||||||
clarisoft->setValue(spot.clarisoft);
|
clarisoft->setValue(spot.clarisoft);
|
||||||
@ -3234,6 +3254,7 @@ void LocallabContrast::write(rtengine::procparams::ProcParams* pp, ParamsEdited*
|
|||||||
spot.residhi = residhi->getValue();
|
spot.residhi = residhi->getValue();
|
||||||
spot.residhithr = residhithr->getValue();
|
spot.residhithr = residhithr->getValue();
|
||||||
spot.sensilc = sensilc->getIntValue();
|
spot.sensilc = sensilc->getIntValue();
|
||||||
|
spot.reparw = reparw->getValue();
|
||||||
spot.clarilres = clarilres->getValue();
|
spot.clarilres = clarilres->getValue();
|
||||||
spot.claricres = claricres->getValue();
|
spot.claricres = claricres->getValue();
|
||||||
spot.clarisoft = clarisoft->getValue();
|
spot.clarisoft = clarisoft->getValue();
|
||||||
@ -3334,6 +3355,7 @@ void LocallabContrast::setDefaults(const rtengine::procparams::ProcParams* defPa
|
|||||||
residhi->setDefault(defSpot.residhi);
|
residhi->setDefault(defSpot.residhi);
|
||||||
residhithr->setDefault(defSpot.residhithr);
|
residhithr->setDefault(defSpot.residhithr);
|
||||||
sensilc->setDefault((double)defSpot.sensilc);
|
sensilc->setDefault((double)defSpot.sensilc);
|
||||||
|
reparw->setDefault(defSpot.reparw);
|
||||||
clarilres->setDefault(defSpot.clarilres);
|
clarilres->setDefault(defSpot.clarilres);
|
||||||
claricres->setDefault(defSpot.claricres);
|
claricres->setDefault(defSpot.claricres);
|
||||||
clarisoft->setDefault(defSpot.clarisoft);
|
clarisoft->setDefault(defSpot.clarisoft);
|
||||||
@ -3468,6 +3490,13 @@ void LocallabContrast::adjusterChanged(Adjuster* a, double newval)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (a == reparw) {
|
||||||
|
if (listener) {
|
||||||
|
listener->panelChanged(Evlocallabreparw,
|
||||||
|
reparw->getTextValue() + " (" + escapeHtmlChars(spotName) + ")");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (a == clarilres) {
|
if (a == clarilres) {
|
||||||
if (listener) {
|
if (listener) {
|
||||||
listener->panelChanged(Evlocallabclarilres,
|
listener->panelChanged(Evlocallabclarilres,
|
||||||
|
@ -1198,6 +1198,7 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
|||||||
locallab.spots.at(j).expMethod = locallab.spots.at(j).expMethod && pSpot.expMethod == otherSpot.expMethod;
|
locallab.spots.at(j).expMethod = locallab.spots.at(j).expMethod && pSpot.expMethod == otherSpot.expMethod;
|
||||||
locallab.spots.at(j).exnoiseMethod = locallab.spots.at(j).exnoiseMethod && pSpot.exnoiseMethod == otherSpot.exnoiseMethod;
|
locallab.spots.at(j).exnoiseMethod = locallab.spots.at(j).exnoiseMethod && pSpot.exnoiseMethod == otherSpot.exnoiseMethod;
|
||||||
locallab.spots.at(j).laplacexp = locallab.spots.at(j).laplacexp && pSpot.laplacexp == otherSpot.laplacexp;
|
locallab.spots.at(j).laplacexp = locallab.spots.at(j).laplacexp && pSpot.laplacexp == otherSpot.laplacexp;
|
||||||
|
locallab.spots.at(j).reparexp = locallab.spots.at(j).reparexp && pSpot.reparexp == otherSpot.reparexp;
|
||||||
locallab.spots.at(j).balanexp = locallab.spots.at(j).balanexp && pSpot.balanexp == otherSpot.balanexp;
|
locallab.spots.at(j).balanexp = locallab.spots.at(j).balanexp && pSpot.balanexp == otherSpot.balanexp;
|
||||||
locallab.spots.at(j).linear = locallab.spots.at(j).linear && pSpot.linear == otherSpot.linear;
|
locallab.spots.at(j).linear = locallab.spots.at(j).linear && pSpot.linear == otherSpot.linear;
|
||||||
locallab.spots.at(j).gamm = locallab.spots.at(j).gamm && pSpot.gamm == otherSpot.gamm;
|
locallab.spots.at(j).gamm = locallab.spots.at(j).gamm && pSpot.gamm == otherSpot.gamm;
|
||||||
@ -1240,6 +1241,7 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
|||||||
locallab.spots.at(j).slomaskSH = locallab.spots.at(j).slomaskSH && pSpot.slomaskSH == otherSpot.slomaskSH;
|
locallab.spots.at(j).slomaskSH = locallab.spots.at(j).slomaskSH && pSpot.slomaskSH == otherSpot.slomaskSH;
|
||||||
locallab.spots.at(j).lapmaskSH = locallab.spots.at(j).lapmaskSH && pSpot.lapmaskSH == otherSpot.lapmaskSH;
|
locallab.spots.at(j).lapmaskSH = locallab.spots.at(j).lapmaskSH && pSpot.lapmaskSH == otherSpot.lapmaskSH;
|
||||||
locallab.spots.at(j).detailSH = locallab.spots.at(j).detailSH && pSpot.detailSH == otherSpot.detailSH;
|
locallab.spots.at(j).detailSH = locallab.spots.at(j).detailSH && pSpot.detailSH == otherSpot.detailSH;
|
||||||
|
locallab.spots.at(j).reparsh = locallab.spots.at(j).reparsh && pSpot.reparsh == otherSpot.reparsh;
|
||||||
locallab.spots.at(j).LmaskSHcurve = locallab.spots.at(j).LmaskSHcurve && pSpot.LmaskSHcurve == otherSpot.LmaskSHcurve;
|
locallab.spots.at(j).LmaskSHcurve = locallab.spots.at(j).LmaskSHcurve && pSpot.LmaskSHcurve == otherSpot.LmaskSHcurve;
|
||||||
locallab.spots.at(j).fatamountSH = locallab.spots.at(j).fatamountSH && pSpot.fatamountSH == otherSpot.fatamountSH;
|
locallab.spots.at(j).fatamountSH = locallab.spots.at(j).fatamountSH && pSpot.fatamountSH == otherSpot.fatamountSH;
|
||||||
locallab.spots.at(j).fatanchorSH = locallab.spots.at(j).fatanchorSH && pSpot.fatanchorSH == otherSpot.fatanchorSH;
|
locallab.spots.at(j).fatanchorSH = locallab.spots.at(j).fatanchorSH && pSpot.fatanchorSH == otherSpot.fatanchorSH;
|
||||||
@ -1342,6 +1344,7 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
|||||||
locallab.spots.at(j).nlrad = locallab.spots.at(j).nlrad && pSpot.nlrad == otherSpot.nlrad;
|
locallab.spots.at(j).nlrad = locallab.spots.at(j).nlrad && pSpot.nlrad == otherSpot.nlrad;
|
||||||
locallab.spots.at(j).nlgam = locallab.spots.at(j).nlgam && pSpot.nlgam == otherSpot.nlgam;
|
locallab.spots.at(j).nlgam = locallab.spots.at(j).nlgam && pSpot.nlgam == otherSpot.nlgam;
|
||||||
locallab.spots.at(j).sensiden = locallab.spots.at(j).sensiden && pSpot.sensiden == otherSpot.sensiden;
|
locallab.spots.at(j).sensiden = locallab.spots.at(j).sensiden && pSpot.sensiden == otherSpot.sensiden;
|
||||||
|
locallab.spots.at(j).reparden = locallab.spots.at(j).reparden && pSpot.reparden == otherSpot.reparden;
|
||||||
locallab.spots.at(j).detailthr = locallab.spots.at(j).detailthr && pSpot.detailthr == otherSpot.detailthr;
|
locallab.spots.at(j).detailthr = locallab.spots.at(j).detailthr && pSpot.detailthr == otherSpot.detailthr;
|
||||||
locallab.spots.at(j).locwavcurveden = locallab.spots.at(j).locwavcurveden && pSpot.locwavcurveden == otherSpot.locwavcurveden;
|
locallab.spots.at(j).locwavcurveden = locallab.spots.at(j).locwavcurveden && pSpot.locwavcurveden == otherSpot.locwavcurveden;
|
||||||
locallab.spots.at(j).locwavcurvehue = locallab.spots.at(j).locwavcurvehue && pSpot.locwavcurvehue == otherSpot.locwavcurvehue;
|
locallab.spots.at(j).locwavcurvehue = locallab.spots.at(j).locwavcurvehue && pSpot.locwavcurvehue == otherSpot.locwavcurvehue;
|
||||||
@ -1373,6 +1376,7 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
|||||||
locallab.spots.at(j).gamma = locallab.spots.at(j).gamma && pSpot.gamma == otherSpot.gamma;
|
locallab.spots.at(j).gamma = locallab.spots.at(j).gamma && pSpot.gamma == otherSpot.gamma;
|
||||||
locallab.spots.at(j).estop = locallab.spots.at(j).estop && pSpot.estop == otherSpot.estop;
|
locallab.spots.at(j).estop = locallab.spots.at(j).estop && pSpot.estop == otherSpot.estop;
|
||||||
locallab.spots.at(j).scaltm = locallab.spots.at(j).scaltm && pSpot.scaltm == otherSpot.scaltm;
|
locallab.spots.at(j).scaltm = locallab.spots.at(j).scaltm && pSpot.scaltm == otherSpot.scaltm;
|
||||||
|
locallab.spots.at(j).repartm = locallab.spots.at(j).repartm && pSpot.repartm == otherSpot.repartm;
|
||||||
locallab.spots.at(j).rewei = locallab.spots.at(j).rewei && pSpot.rewei == otherSpot.rewei;
|
locallab.spots.at(j).rewei = locallab.spots.at(j).rewei && pSpot.rewei == otherSpot.rewei;
|
||||||
locallab.spots.at(j).satur = locallab.spots.at(j).satur && pSpot.satur == otherSpot.satur;
|
locallab.spots.at(j).satur = locallab.spots.at(j).satur && pSpot.satur == otherSpot.satur;
|
||||||
locallab.spots.at(j).sensitm = locallab.spots.at(j).sensitm && pSpot.sensitm == otherSpot.sensitm;
|
locallab.spots.at(j).sensitm = locallab.spots.at(j).sensitm && pSpot.sensitm == otherSpot.sensitm;
|
||||||
@ -1494,6 +1498,7 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
|||||||
locallab.spots.at(j).edgw = locallab.spots.at(j).edgw && pSpot.edgw == otherSpot.edgw;
|
locallab.spots.at(j).edgw = locallab.spots.at(j).edgw && pSpot.edgw == otherSpot.edgw;
|
||||||
locallab.spots.at(j).basew = locallab.spots.at(j).basew && pSpot.basew == otherSpot.basew;
|
locallab.spots.at(j).basew = locallab.spots.at(j).basew && pSpot.basew == otherSpot.basew;
|
||||||
locallab.spots.at(j).sensilc = locallab.spots.at(j).sensilc && pSpot.sensilc == otherSpot.sensilc;
|
locallab.spots.at(j).sensilc = locallab.spots.at(j).sensilc && pSpot.sensilc == otherSpot.sensilc;
|
||||||
|
locallab.spots.at(j).reparw = locallab.spots.at(j).reparw && pSpot.reparw == otherSpot.reparw;
|
||||||
locallab.spots.at(j).fftwlc = locallab.spots.at(j).fftwlc && pSpot.fftwlc == otherSpot.fftwlc;
|
locallab.spots.at(j).fftwlc = locallab.spots.at(j).fftwlc && pSpot.fftwlc == otherSpot.fftwlc;
|
||||||
locallab.spots.at(j).blurlc = locallab.spots.at(j).blurlc && pSpot.blurlc == otherSpot.blurlc;
|
locallab.spots.at(j).blurlc = locallab.spots.at(j).blurlc && pSpot.blurlc == otherSpot.blurlc;
|
||||||
locallab.spots.at(j).wavblur = locallab.spots.at(j).wavblur && pSpot.wavblur == otherSpot.wavblur;
|
locallab.spots.at(j).wavblur = locallab.spots.at(j).wavblur && pSpot.wavblur == otherSpot.wavblur;
|
||||||
@ -3398,6 +3403,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).lightness = mods.locallab.spots.at(i).lightness;
|
toEdit.locallab.spots.at(i).lightness = mods.locallab.spots.at(i).lightness;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).reparcol) {
|
||||||
|
toEdit.locallab.spots.at(i).reparcol = mods.locallab.spots.at(i).reparcol;
|
||||||
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).contrast) {
|
if (locallab.spots.at(i).contrast) {
|
||||||
toEdit.locallab.spots.at(i).contrast = mods.locallab.spots.at(i).contrast;
|
toEdit.locallab.spots.at(i).contrast = mods.locallab.spots.at(i).contrast;
|
||||||
}
|
}
|
||||||
@ -3791,8 +3800,12 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).laplacexp = mods.locallab.spots.at(i).laplacexp;
|
toEdit.locallab.spots.at(i).laplacexp = mods.locallab.spots.at(i).laplacexp;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).balanexp) {
|
if (locallab.spots.at(i).laplacexp) {
|
||||||
toEdit.locallab.spots.at(i).balanexp = mods.locallab.spots.at(i).balanexp;
|
toEdit.locallab.spots.at(i).laplacexp = mods.locallab.spots.at(i).laplacexp;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).reparexp) {
|
||||||
|
toEdit.locallab.spots.at(i).reparexp = mods.locallab.spots.at(i).reparexp;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).linear) {
|
if (locallab.spots.at(i).linear) {
|
||||||
@ -3942,6 +3955,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).detailSH = mods.locallab.spots.at(i).detailSH;
|
toEdit.locallab.spots.at(i).detailSH = mods.locallab.spots.at(i).detailSH;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).reparsh) {
|
||||||
|
toEdit.locallab.spots.at(i).reparsh = mods.locallab.spots.at(i).reparsh;
|
||||||
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).LmaskSHcurve) {
|
if (locallab.spots.at(i).LmaskSHcurve) {
|
||||||
toEdit.locallab.spots.at(i).LmaskSHcurve = mods.locallab.spots.at(i).LmaskSHcurve;
|
toEdit.locallab.spots.at(i).LmaskSHcurve = mods.locallab.spots.at(i).LmaskSHcurve;
|
||||||
}
|
}
|
||||||
@ -4341,6 +4358,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).sensiden = mods.locallab.spots.at(i).sensiden;
|
toEdit.locallab.spots.at(i).sensiden = mods.locallab.spots.at(i).sensiden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).reparden) {
|
||||||
|
toEdit.locallab.spots.at(i).reparden = mods.locallab.spots.at(i).reparden;
|
||||||
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).detailthr) {
|
if (locallab.spots.at(i).detailthr) {
|
||||||
toEdit.locallab.spots.at(i).detailthr = mods.locallab.spots.at(i).detailthr;
|
toEdit.locallab.spots.at(i).detailthr = mods.locallab.spots.at(i).detailthr;
|
||||||
}
|
}
|
||||||
@ -4463,6 +4484,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).scaltm = mods.locallab.spots.at(i).scaltm;
|
toEdit.locallab.spots.at(i).scaltm = mods.locallab.spots.at(i).scaltm;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).repartm) {
|
||||||
|
toEdit.locallab.spots.at(i).repartm = mods.locallab.spots.at(i).repartm;
|
||||||
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).rewei) {
|
if (locallab.spots.at(i).rewei) {
|
||||||
toEdit.locallab.spots.at(i).rewei = mods.locallab.spots.at(i).rewei;
|
toEdit.locallab.spots.at(i).rewei = mods.locallab.spots.at(i).rewei;
|
||||||
}
|
}
|
||||||
@ -4939,6 +4964,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).sensilc = mods.locallab.spots.at(i).sensilc;
|
toEdit.locallab.spots.at(i).sensilc = mods.locallab.spots.at(i).sensilc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).reparw) {
|
||||||
|
toEdit.locallab.spots.at(i).reparw = mods.locallab.spots.at(i).reparw;
|
||||||
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).fftwlc) {
|
if (locallab.spots.at(i).fftwlc) {
|
||||||
toEdit.locallab.spots.at(i).fftwlc = mods.locallab.spots.at(i).fftwlc;
|
toEdit.locallab.spots.at(i).fftwlc = mods.locallab.spots.at(i).fftwlc;
|
||||||
}
|
}
|
||||||
@ -6700,6 +6729,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
|
|||||||
complexcolor(v),
|
complexcolor(v),
|
||||||
curvactiv(v),
|
curvactiv(v),
|
||||||
lightness(v),
|
lightness(v),
|
||||||
|
reparcol(v),
|
||||||
contrast(v),
|
contrast(v),
|
||||||
chroma(v),
|
chroma(v),
|
||||||
labgridALow(v),
|
labgridALow(v),
|
||||||
@ -6799,6 +6829,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
|
|||||||
expMethod(v),
|
expMethod(v),
|
||||||
exnoiseMethod(v),
|
exnoiseMethod(v),
|
||||||
laplacexp(v),
|
laplacexp(v),
|
||||||
|
reparexp(v),
|
||||||
balanexp(v),
|
balanexp(v),
|
||||||
linear(v),
|
linear(v),
|
||||||
gamm(v),
|
gamm(v),
|
||||||
@ -6837,6 +6868,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
|
|||||||
slomaskSH(v),
|
slomaskSH(v),
|
||||||
lapmaskSH(v),
|
lapmaskSH(v),
|
||||||
detailSH(v),
|
detailSH(v),
|
||||||
|
reparsh(v),
|
||||||
LmaskSHcurve(v),
|
LmaskSHcurve(v),
|
||||||
fatamountSH(v),
|
fatamountSH(v),
|
||||||
fatanchorSH(v),
|
fatanchorSH(v),
|
||||||
@ -6939,6 +6971,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
|
|||||||
nlrad(v),
|
nlrad(v),
|
||||||
nlgam(v),
|
nlgam(v),
|
||||||
sensiden(v),
|
sensiden(v),
|
||||||
|
reparden(v),
|
||||||
detailthr(v),
|
detailthr(v),
|
||||||
locwavcurveden(v),
|
locwavcurveden(v),
|
||||||
locwavcurvehue(v),
|
locwavcurvehue(v),
|
||||||
@ -6970,6 +7003,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
|
|||||||
gamma(v),
|
gamma(v),
|
||||||
estop(v),
|
estop(v),
|
||||||
scaltm(v),
|
scaltm(v),
|
||||||
|
repartm(v),
|
||||||
rewei(v),
|
rewei(v),
|
||||||
satur(v),
|
satur(v),
|
||||||
sensitm(v),
|
sensitm(v),
|
||||||
@ -7091,6 +7125,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
|
|||||||
edgw(v),
|
edgw(v),
|
||||||
basew(v),
|
basew(v),
|
||||||
sensilc(v),
|
sensilc(v),
|
||||||
|
reparw(v),
|
||||||
fftwlc(v),
|
fftwlc(v),
|
||||||
blurlc(v),
|
blurlc(v),
|
||||||
wavblur(v),
|
wavblur(v),
|
||||||
@ -7272,6 +7307,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
|
|||||||
complexcolor = v;
|
complexcolor = v;
|
||||||
curvactiv = v;
|
curvactiv = v;
|
||||||
lightness = v;
|
lightness = v;
|
||||||
|
reparcol = v;
|
||||||
contrast = v;
|
contrast = v;
|
||||||
chroma = v;
|
chroma = v;
|
||||||
labgridALow = v;
|
labgridALow = v;
|
||||||
@ -7371,6 +7407,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
|
|||||||
expMethod = v;
|
expMethod = v;
|
||||||
exnoiseMethod = v;
|
exnoiseMethod = v;
|
||||||
laplacexp = v;
|
laplacexp = v;
|
||||||
|
reparexp = v;
|
||||||
balanexp = v;
|
balanexp = v;
|
||||||
linear = v;
|
linear = v;
|
||||||
gamm = v;
|
gamm = v;
|
||||||
@ -7413,6 +7450,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
|
|||||||
slomaskSH = v;
|
slomaskSH = v;
|
||||||
lapmaskSH = v;
|
lapmaskSH = v;
|
||||||
detailSH = v;
|
detailSH = v;
|
||||||
|
reparsh = v;
|
||||||
LmaskSHcurve = v;
|
LmaskSHcurve = v;
|
||||||
fatamountSH = v;
|
fatamountSH = v;
|
||||||
fatanchorSH = v;
|
fatanchorSH = v;
|
||||||
@ -7515,6 +7553,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
|
|||||||
nlrad = v;
|
nlrad = v;
|
||||||
nlgam = v;
|
nlgam = v;
|
||||||
sensiden = v;
|
sensiden = v;
|
||||||
|
reparden = v;
|
||||||
detailthr = v;
|
detailthr = v;
|
||||||
locwavcurveden = v;
|
locwavcurveden = v;
|
||||||
showmaskblMethodtyp = v;
|
showmaskblMethodtyp = v;
|
||||||
@ -7545,6 +7584,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
|
|||||||
gamma = v;
|
gamma = v;
|
||||||
estop = v;
|
estop = v;
|
||||||
scaltm = v;
|
scaltm = v;
|
||||||
|
repartm = v;
|
||||||
rewei = v;
|
rewei = v;
|
||||||
satur = v;
|
satur = v;
|
||||||
sensitm = v;
|
sensitm = v;
|
||||||
@ -7666,6 +7706,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
|
|||||||
edgw = v;
|
edgw = v;
|
||||||
basew = v;
|
basew = v;
|
||||||
sensilc = v;
|
sensilc = v;
|
||||||
|
reparw = v;
|
||||||
fftwlc = v;
|
fftwlc = v;
|
||||||
blurlc = v;
|
blurlc = v;
|
||||||
wavblur = v;
|
wavblur = v;
|
||||||
|
@ -438,6 +438,7 @@ public:
|
|||||||
bool complexcolor;
|
bool complexcolor;
|
||||||
bool curvactiv;
|
bool curvactiv;
|
||||||
bool lightness;
|
bool lightness;
|
||||||
|
bool reparcol;
|
||||||
bool contrast;
|
bool contrast;
|
||||||
bool chroma;
|
bool chroma;
|
||||||
bool labgridALow;
|
bool labgridALow;
|
||||||
@ -537,6 +538,7 @@ public:
|
|||||||
bool expMethod;
|
bool expMethod;
|
||||||
bool exnoiseMethod;
|
bool exnoiseMethod;
|
||||||
bool laplacexp;
|
bool laplacexp;
|
||||||
|
bool reparexp;
|
||||||
bool balanexp;
|
bool balanexp;
|
||||||
bool linear;
|
bool linear;
|
||||||
bool gamm;
|
bool gamm;
|
||||||
@ -575,6 +577,7 @@ public:
|
|||||||
bool slomaskSH;
|
bool slomaskSH;
|
||||||
bool lapmaskSH;
|
bool lapmaskSH;
|
||||||
bool detailSH;
|
bool detailSH;
|
||||||
|
bool reparsh;
|
||||||
bool LmaskSHcurve;
|
bool LmaskSHcurve;
|
||||||
bool fatamountSH;
|
bool fatamountSH;
|
||||||
bool fatanchorSH;
|
bool fatanchorSH;
|
||||||
@ -677,6 +680,7 @@ public:
|
|||||||
bool nlrad;
|
bool nlrad;
|
||||||
bool nlgam;
|
bool nlgam;
|
||||||
bool sensiden;
|
bool sensiden;
|
||||||
|
bool reparden;
|
||||||
bool detailthr;
|
bool detailthr;
|
||||||
bool locwavcurveden;
|
bool locwavcurveden;
|
||||||
bool locwavcurvehue;
|
bool locwavcurvehue;
|
||||||
@ -708,6 +712,7 @@ public:
|
|||||||
bool gamma;
|
bool gamma;
|
||||||
bool estop;
|
bool estop;
|
||||||
bool scaltm;
|
bool scaltm;
|
||||||
|
bool repartm;
|
||||||
bool rewei;
|
bool rewei;
|
||||||
bool satur;
|
bool satur;
|
||||||
bool sensitm;
|
bool sensitm;
|
||||||
@ -829,6 +834,7 @@ public:
|
|||||||
bool edgw;
|
bool edgw;
|
||||||
bool basew;
|
bool basew;
|
||||||
bool sensilc;
|
bool sensilc;
|
||||||
|
bool reparw;
|
||||||
bool fftwlc;
|
bool fftwlc;
|
||||||
bool blurlc;
|
bool blurlc;
|
||||||
bool wavblur;
|
bool wavblur;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user