Locallab cleanup 2

Cleanup of dcrop, improccoordinator and simpleprocess
This commit is contained in:
Pandagrapher 2018-09-24 20:36:23 +02:00
parent 72477fcd8b
commit cafe48b87a
4 changed files with 1 additions and 723 deletions

View File

@ -27,7 +27,6 @@
#include <fstream>
#include <string>
#include <unistd.h>
#include "../rtgui/md5helper.h"
//#include <chrono>
// "ceil" rounding

View File

@ -26,8 +26,6 @@
#include <iostream>
#include <fstream>
#include <string>
#include "../rtgui/md5helper.h"
#include "../rtgui/thresholdselector.h"
#include <unistd.h>
#include "iccstore.h"
@ -101,124 +99,9 @@ ImProcCoordinator::ImProcCoordinator()
plistener(nullptr), awbListener(nullptr), imageListener(nullptr), aeListener(nullptr), acListener(nullptr), abwListener(nullptr), actListener(nullptr), adnListener(nullptr), awavListener(nullptr), dehaListener(nullptr), frameCountListener(nullptr), imageTypeListener(nullptr), hListener(nullptr),
resultValid(false), lastOutputProfile("BADFOOD"), lastOutputIntent(RI__COUNT), lastOutputBPC(false), thread(nullptr), changeSinceLast(0), updaterRunning(false), destroying(false), utili(false), autili(false),
butili(false), ccutili(false), cclutili(false), clcutili(false), opautili(false), wavcontlutili(false),
dataspot(nullptr), maxdata(0), retistr(nullptr), llstr(nullptr), lhstr(nullptr), ccstr(nullptr), hhstr(nullptr), skinstr(nullptr), pthstr(nullptr), exstr(nullptr),
circrads(500, -10000),
locallutili(false), localcutili(false), localskutili(false), localexutili(false), LHutili(false), HHutili(false),
centerx(500, -10000),
centery(500, -10000),
centerxbufs(500, -10000),
centerybufs(500, -10000),
adjblurs(500, -10000),
cutpasts(500, -10000),
lastdusts(500, -10000),
blurmets(500, -10000),
dustmets(500, -10000),
locx(500, -10000),
locy(500, -10000),
locxl(500, -10000),
locyt(500, -10000),
lights(500, -100000),
contrs(500, -10000),
chroms(500, -10000),
sensis(500, -10000),
expcomps(500, -10000),
blacks(500, -10000),
hlcomprs(500, -10000),
hlcomprthreshs(500, -10000),
shcomprs(500, -10000),
sensiexs(500, -10000),
transits(500, -10000),
inverss(500, -10000),
curvactivs(500, -10000),
smeths(500, -10000),
curens(500, -10000),
radiuss(500, -10000),
strengths(500, -10000),
sensibns(500, -10000),
inversrads(500, -10000),
strs(500, 10000),
chrrts(500, -10000),
neighs(500, -10000),
varts(500, -10000),
sensihs(500, -10000),
inversrets(500, -10000),
retinexs(500, -10000),
sps(500, -10000),
sharradiuss(500, -10000),
sharamounts(500, -10000),
shardampings(500, -10000),
inversshas(500, -10000),
shariters(500, -10000),
sensishas(500, -10000),
qualitys(500, -10000),
thress(500, -10000),
proxis(500, -10000),
noiselumfs(500, -10000),
noiselumcs(500, -10000),
noiselumdetails(500, -10000),
noiselequals(500, -10000),
noisechrodetails(500, -10000),
bilaterals(500, -10000),
sensidens(500, -10000),
noisechrofs(500, -10000),
noisechrocs(500, -10000),
mult0s(500, -10000),
mult1s(500, -10000),
mult2s(500, -10000),
mult3s(500, -10000),
mult4s(500, -10000),
chromacbdls(500, -10000),
thresholds(500, -10000),
sensicbs(500, -10000),
activlums(500, -10000),
versionmip(0),
mipver(0),
strens(500, -10000),
gammas(500, -10000),
estops(500, -10000),
scaltms(500, -10000),
reweis(500, -10000),
sensitms(500, -10000),
qualitycurves(500, -10000),
sizeretics(500, -10000),
reticurvs(25000, -10000), //allow 500 values for each control point * 500
retrabs(500, -10000),
llcurvs(25000, -10000), //allow 500 values for each control point * 500
sizellcs(500, -10000),
lhcurvs(25000, -10000), //allow 500 values for each control point * 500
hhcurvs(25000, -10000), //allow 500 values for each control point * 500
sizelhcs(500, -10000),
sizehhcs(500, -10000),
cccurvs(25000, -10000), //allow 500 values for each control point * 500
sizecccs(500, -10000),
sensivs(500, -10000),
saturateds(500, -10000),
pastels(500, -10000),
psthresholds(500, -10000),
protectskinss(500, -10000),
avoidcolorshifts(500, -10000),
pastsattogs(500, -10000),
skintonescurves(25000, -10000),
sizeskintonecurves(500, -10000),
excurves(25000, -10000),
sizeexcurves(500, -10000),
shapemets(500, -1000),
exclumets(500, -1000),
sensiexclus(500, -1000),
strucs(500, -1000),
warms(500, -1000),
expdenois(500, -10000),
expcolors(500, -10000),
expvibrances(500, -10000),
expblurs(500, -10000),
exptonemaps(500, -10000),
expretis(500, -10000),
expsharps(500, -10000),
expcbdls(500, -10000),
expexposes(500, -10000),
huerefs(500, -100000.f),
huerefblurs(500, -100000.f),
@ -1617,475 +1500,6 @@ void ImProcCoordinator::endUpdateParams(int changeFlags)
startProcessing();
}
void ImProcCoordinator::spotduplic(int **dataspot, int spottodupli, int maxdata)
{
//perhaps some datas are redondant..to verify
circrads[0] = circrads[spottodupli] = dataspot[2][0] = dataspot[2][spottodupli] = dataspot[2][spottodupli - 1];
locx[0] = locx[spottodupli] = dataspot[3][0] = dataspot[3][spottodupli] = dataspot[3][spottodupli - 1];
locy[0] = locy[spottodupli] = dataspot[4][0] = dataspot[4][spottodupli] = dataspot[4][spottodupli - 1];
locyt[0] = locyt[spottodupli] = dataspot[5][0] = dataspot[5][spottodupli] = dataspot[5][spottodupli - 1];
locxl[0] = locxl[spottodupli] = dataspot[6][0] = dataspot[6][spottodupli] = dataspot[6][spottodupli - 1];
//change only center position to 200 200 to see changes
centerx[0] = centerx[spottodupli] = dataspot[7][0] = dataspot[7][spottodupli] = 200; //not to center
centery[0] = centery[spottodupli] = dataspot[8][0] = dataspot[8][spottodupli] = 200;//not to center to see it is a duplicated spot
//
lights[0] = lights[spottodupli] = dataspot[9][0] = dataspot[9][spottodupli] = dataspot[9][spottodupli - 1];
contrs[0] = contrs[spottodupli] = dataspot[10][0] = dataspot[10][spottodupli] = dataspot[10][spottodupli - 1];
chroms[0] = chroms[spottodupli] = dataspot[11][0] = dataspot[11][spottodupli] = dataspot[11][spottodupli - 1];
sensis[0] = sensis[spottodupli] = dataspot[12][0] = dataspot[12][spottodupli] = dataspot[12][spottodupli - 1];
transits[0] = transits[spottodupli] = dataspot[13][0] = dataspot[13][spottodupli] = dataspot[13][spottodupli - 1];
inverss[0] = inverss[spottodupli] = dataspot[14][0] = dataspot[14][spottodupli] = dataspot[14][spottodupli - 1];
smeths[0] = smeths[spottodupli] = dataspot[15][0] = dataspot[15][spottodupli] = dataspot[15][spottodupli - 1];
//no chnage to spot current value 16
radiuss[0] = radiuss[spottodupli] = dataspot[17][0] = dataspot[17][spottodupli] = dataspot[17][spottodupli - 1];
strengths[0] = strengths[spottodupli] = dataspot[18][0] = dataspot[18][spottodupli] = dataspot[18][spottodupli - 1];
sensibns[0] = sensibns[spottodupli] = dataspot[19][0] = dataspot[19][spottodupli] = dataspot[19][spottodupli - 1];
inversrads[0] = inversrads[spottodupli] = dataspot[20][0] = dataspot[20][spottodupli] = dataspot[20][spottodupli - 1];
strs[0] = strs[spottodupli] = dataspot[21][0] = dataspot[21][spottodupli] = dataspot[21][spottodupli - 1];
chrrts[0] = chrrts[spottodupli] = dataspot[22][0] = dataspot[22][spottodupli] = dataspot[22][spottodupli - 1];
neighs[0] = neighs[spottodupli] = dataspot[23][0] = dataspot[23][spottodupli] = dataspot[23][spottodupli - 1];
varts[0] = varts[spottodupli] = dataspot[24][0] = dataspot[24][spottodupli] = dataspot[24][spottodupli - 1];
sensihs[0] = sensihs[spottodupli] = dataspot[25][0] = dataspot[25][spottodupli] = dataspot[25][spottodupli - 1];
inversrets[0] = inversrets[spottodupli] = dataspot[26][0] = dataspot[26][spottodupli] = dataspot[26][spottodupli - 1];
retinexs[0] = retinexs[spottodupli] = dataspot[27][0] = dataspot[27][spottodupli] = dataspot[27][spottodupli - 1];
sharradiuss[0] = sharradiuss[spottodupli] = dataspot[28][0] = dataspot[28][spottodupli] = dataspot[28][spottodupli - 1];
sharamounts[0] = sharamounts[spottodupli] = dataspot[29][0] = dataspot[29][spottodupli] = dataspot[29][spottodupli - 1];
shardampings[0] = shardampings[spottodupli] = dataspot[30][0] = dataspot[30][spottodupli] = dataspot[30][spottodupli - 1];
shariters[0] = shariters[spottodupli] = dataspot[31][0] = dataspot[31][spottodupli] = dataspot[31][spottodupli - 1];
sensishas[0] = sensishas[spottodupli] = dataspot[32][0] = dataspot[32][spottodupli] = dataspot[32][spottodupli - 1];
inversshas[0] = inversshas[spottodupli] = dataspot[33][0] = dataspot[33][spottodupli] = dataspot[33][spottodupli - 1];
qualitys[0] = qualitys[spottodupli] = dataspot[34][0] = dataspot[34][spottodupli] = dataspot[34][spottodupli - 1];
thress[0] = thress[spottodupli] = dataspot[35][0] = dataspot[35][spottodupli] = dataspot[35][spottodupli - 1];
proxis[0] = proxis[spottodupli] = dataspot[36][0] = dataspot[36][spottodupli] = dataspot[36][spottodupli - 1];
noiselumfs[0] = noiselumfs[spottodupli] = dataspot[37][0] = dataspot[37][spottodupli] = dataspot[37][spottodupli - 1];
noiselumcs[0] = noiselumcs[spottodupli] = dataspot[38][0] = dataspot[38][spottodupli] = dataspot[38][spottodupli - 1];
noisechrofs[0] = noisechrofs[spottodupli] = dataspot[39][0] = dataspot[39][spottodupli] = dataspot[39][spottodupli - 1];
noisechrocs[0] = noisechrocs[spottodupli] = dataspot[40][0] = dataspot[40][spottodupli] = dataspot[40][spottodupli - 1];
mult0s[0] = mult0s[spottodupli] = dataspot[41][0] = dataspot[41][spottodupli] = dataspot[41][spottodupli - 1];
mult1s[0] = mult1s[spottodupli] = dataspot[42][0] = dataspot[42][spottodupli] = dataspot[42][spottodupli - 1];
mult2s[0] = mult2s[spottodupli] = dataspot[43][0] = dataspot[43][spottodupli] = dataspot[43][spottodupli - 1];
mult3s[0] = mult3s[spottodupli] = dataspot[44][0] = dataspot[44][spottodupli] = dataspot[44][spottodupli - 1];
mult4s[0] = mult4s[spottodupli] = dataspot[45][0] = dataspot[45][spottodupli] = dataspot[45][spottodupli - 1];
thresholds[0] = thresholds[spottodupli] = dataspot[46][0] = dataspot[46][spottodupli] = dataspot[46][spottodupli - 1];
sensicbs[0] = sensicbs[spottodupli] = dataspot[47][0] = dataspot[47][spottodupli] = dataspot[47][spottodupli - 1];
activlums[0] = activlums[spottodupli] = dataspot[48][0] = dataspot[48][spottodupli] = dataspot[48][spottodupli - 1];
strens[0] = strens[spottodupli] = dataspot[49][0] = dataspot[49][spottodupli] = dataspot[49][spottodupli - 1];
gammas[0] = gammas[spottodupli] = dataspot[50][0] = dataspot[50][spottodupli] = dataspot[50][spottodupli - 1];
estops[0] = estops[spottodupli] = dataspot[51][0] = dataspot[51][spottodupli] = dataspot[51][spottodupli - 1];
scaltms[0] = scaltms[spottodupli] = dataspot[52][0] = dataspot[52][spottodupli] = dataspot[52][spottodupli - 1];
reweis[0] = reweis[spottodupli] = dataspot[53][0] = dataspot[53][spottodupli] = dataspot[53][spottodupli - 1];
sensitms[0] = sensitms[spottodupli] = dataspot[54][0] = dataspot[54][spottodupli] = dataspot[54][spottodupli - 1];
retrabs[0] = retrabs[spottodupli] = dataspot[55][0] = dataspot[55][spottodupli] = dataspot[55][spottodupli - 1];
curvactivs[0] = curvactivs[spottodupli] = dataspot[56][0] = dataspot[56][spottodupli] = dataspot[56][spottodupli - 1];
qualitycurves[0] = qualitycurves[spottodupli] = dataspot[57][0] = dataspot[57][spottodupli] = dataspot[57][spottodupli - 1];
sensivs[0] = sensivs[spottodupli] = dataspot[58][0] = dataspot[58][spottodupli] = dataspot[58][spottodupli - 1];
pastels[0] = pastels[spottodupli] = dataspot[59][0] = dataspot[59][spottodupli] = dataspot[59][spottodupli - 1];
saturateds[0] = saturateds[spottodupli] = dataspot[60][0] = dataspot[60][spottodupli] = dataspot[60][spottodupli - 1];
protectskinss[0] = protectskinss[spottodupli] = dataspot[61][0] = dataspot[61][spottodupli] = dataspot[61][spottodupli - 1];
avoidcolorshifts[0] = avoidcolorshifts[spottodupli] = dataspot[62][0] = dataspot[62][spottodupli] = dataspot[62][spottodupli - 1];
pastsattogs[0] = pastsattogs[spottodupli] = dataspot[63][0] = dataspot[63][spottodupli] = dataspot[63][spottodupli - 1];
expcomps[0] = expcomps[spottodupli] = dataspot[64][0] = dataspot[64][spottodupli] = dataspot[64][spottodupli - 1];
blacks[0] = blacks[spottodupli] = dataspot[65][0] = dataspot[65][spottodupli] = dataspot[65][spottodupli - 1];
hlcomprs[0] = hlcomprs[spottodupli] = dataspot[66][0] = dataspot[66][spottodupli] = dataspot[66][spottodupli - 1];
hlcomprthreshs[0] = hlcomprthreshs[spottodupli] = dataspot[67][0] = dataspot[67][spottodupli] = dataspot[67][spottodupli - 1];
shcomprs[0] = shcomprs[spottodupli] = dataspot[68][0] = dataspot[68][spottodupli] = dataspot[68][spottodupli - 1];
sensiexs[0] = sensiexs[spottodupli] = dataspot[69][0] = dataspot[69][spottodupli] = dataspot[69][spottodupli - 1];
centerxbufs[0] = centerxbufs[spottodupli] = dataspot[70][0] = dataspot[70][spottodupli] = dataspot[70][spottodupli - 1];
centerybufs[0] = centerybufs[spottodupli] = dataspot[71][0] = dataspot[71][spottodupli] = dataspot[71][spottodupli - 1];
adjblurs[0] = adjblurs[spottodupli] = dataspot[72][0] = dataspot[72][spottodupli] = dataspot[72][spottodupli - 1];
cutpasts[0] = cutpasts[spottodupli] = dataspot[73][0] = dataspot[73][spottodupli] = dataspot[73][spottodupli - 1];
chromacbdls[0] = chromacbdls[spottodupli] = dataspot[74][0] = dataspot[74][spottodupli] = dataspot[74][spottodupli - 1];
lastdusts[0] = lastdusts[spottodupli] = dataspot[75][0] = dataspot[75][spottodupli] = dataspot[75][spottodupli - 1];
blurmets[0] = blurmets[spottodupli] = dataspot[76][0] = dataspot[76][spottodupli] = dataspot[76][spottodupli - 1];
dustmets[0] = dustmets[spottodupli] = dataspot[77][0] = dataspot[77][spottodupli] = dataspot[77][spottodupli - 1];
exclumets[0] = exclumets[spottodupli] = dataspot[78][0] = dataspot[78][spottodupli] = dataspot[78][spottodupli - 1];
sensiexclus[0] = sensiexclus[spottodupli] = dataspot[79][0] = dataspot[79][spottodupli] = dataspot[79][spottodupli - 1];
strucs[0] = strucs[spottodupli] = dataspot[80][0] = dataspot[80][spottodupli] = dataspot[80][spottodupli - 1];
warms[0] = warms[spottodupli] = dataspot[81][0] = dataspot[81][spottodupli] = dataspot[81][spottodupli - 1];
noiselumdetails[0] = noiselumdetails[spottodupli] = dataspot[82][0] = dataspot[82][spottodupli] = dataspot[82][spottodupli - 1];
noisechrodetails[0] = noisechrodetails[spottodupli] = dataspot[83][0] = dataspot[83][spottodupli] = dataspot[83][spottodupli - 1];
sensidens[0] = sensidens[spottodupli] = dataspot[84][0] = dataspot[84][spottodupli] = dataspot[84][spottodupli - 1];
expdenois[0] = expdenois[spottodupli] = dataspot[85][0] = dataspot[85][spottodupli] = dataspot[85][spottodupli - 1];
expcolors[0] = expcolors[spottodupli] = dataspot[86][0] = dataspot[86][spottodupli] = dataspot[86][spottodupli - 1];
expvibrances[0] = expvibrances[spottodupli] = dataspot[87][0] = dataspot[87][spottodupli] = dataspot[87][spottodupli - 1];
expblurs[0] = expblurs[spottodupli] = dataspot[88][0] = dataspot[88][spottodupli] = dataspot[88][spottodupli - 1];
exptonemaps[0] = exptonemaps[spottodupli] = dataspot[89][0] = dataspot[89][spottodupli] = dataspot[89][spottodupli - 1];
expretis[0] = expretis[spottodupli] = dataspot[90][0] = dataspot[90][spottodupli] = dataspot[90][spottodupli - 1];
expsharps[0] = expsharps[spottodupli] = dataspot[91][0] = dataspot[91][spottodupli] = dataspot[91][spottodupli - 1];
expcbdls[0] = expcbdls[spottodupli] = dataspot[92][0] = dataspot[92][spottodupli] = dataspot[92][spottodupli - 1];
expexposes[0] = expexposes[spottodupli] = dataspot[93][0] = dataspot[93][spottodupli] = dataspot[93][spottodupli - 1];
bilaterals[0] = bilaterals[spottodupli] = dataspot[94][0] = dataspot[94][spottodupli] = dataspot[94][spottodupli - 1];
noiselequals[0] = noiselequals[spottodupli] = dataspot[95][0] = dataspot[95][spottodupli] = dataspot[95][spottodupli - 1];
shapemets[0] = shapemets[spottodupli] = dataspot[96][0] = dataspot[96][spottodupli] = dataspot[96][spottodupli - 1];
//datas for end ... references hue, etc.
huerefblurs[0] = huerefblurs[spottodupli] = dataspot[maxdata - 5][0] = dataspot[maxdata - 5][spottodupli] = dataspot[maxdata - 5][spottodupli - 1];
huerefs[0] = huerefs[spottodupli] = dataspot[maxdata - 4][0] = dataspot[maxdata - 4][spottodupli] = dataspot[maxdata - 4][spottodupli - 1];
chromarefs[0] = chromarefs[spottodupli] = dataspot[maxdata - 3][0] = dataspot[maxdata - 3][spottodupli] = dataspot[maxdata - 3][spottodupli - 1];
lumarefs[0] = lumarefs[spottodupli] = dataspot[maxdata - 2][0] = dataspot[maxdata - 2][spottodupli] = dataspot[maxdata - 2][spottodupli - 1];
sobelrefs[0] = sobelrefs[spottodupli] = dataspot[maxdata - 1][0] = dataspot[maxdata - 1][spottodupli] = dataspot[maxdata - 1][spottodupli - 1];
//perhaps not good after ?? to verify and to complete ?? difficult but "only" curves
retistr[spottodupli] = retistr[spottodupli - 1];
llstr[spottodupli] = llstr[spottodupli - 1];
lhstr[spottodupli] = lhstr[spottodupli - 1];
ccstr[spottodupli] = ccstr[spottodupli - 1];
hhstr[spottodupli] = hhstr[spottodupli - 1];
skinstr[spottodupli] = skinstr[spottodupli - 1];
pthstr[spottodupli] = pthstr[spottodupli - 1];
exstr[spottodupli] = exstr[spottodupli - 1];
}
void ImProcCoordinator::changenumberofspot(int **dataspot, int maxdata, int maxspot, int ns, Glib::ustring datal, int versionmip)
{
ofstream fic(datal, ios::out | ios::app); // ouverture en écriture avec effacement du fichier ouvert
for (int sp = ns + 1 ; sp < maxspot; sp++) { // spots default
int t_sp = sp;
int t_mipversion = versionmip;
int t_circrad = 18;
int t_locX = 250;
int t_locY = 250;
int t_locYT = 250;
int t_locXL = 250;
int t_centerX = 0;
int t_centerY = 0;
int t_lightness = 0;
int t_contrast = 0;
int t_chroma = 0;
int t_sensi = 19;
int t_transit = 60;
int t_invers = 0;
int t_Smeth = 0;
int t_currentspot = 1;
int t_radius = 1;
int t_strength = 0;
int t_sensibn = 40;
int t_inversrad = 0;
int t_str = 0;
int t_chrrt = 0;
int t_neigh = 50;
int t_vart = 200;
int t_sensih = 19;
int t_inversret = 0;
int t_retinexMethod = 2;
int t_sharradius = 40;
int t_sharamount = 75;
int t_shardamping = 75;
int t_shariter = 30;
int t_sensisha = 19;
int t_inverssha = 0;
int t_qualityMethod = 1;
int t_thres = 18;
int t_proxi = 0;
int t_noiselumf = 0;
int t_noiselumc = 0;
int t_noisechrof = 0;
int t_noisechroc = 0;
int t_mult0 = 100;
int t_mult1 = 100;
int t_mult2 = 100;
int t_mult3 = 100;
int t_mult4 = 100;
int t_threshold = 20;
int t_sensicb = 19;
int t_activlum = 0;
//10001 TM
int t_stren = 0;
int t_gamma = 100;
int t_estop = 140;
int t_scaltm = 10;
int t_rewei = 0;
int t_sensitm = 19;
//10002 curve
int t_retrab = 500;
std::string t_curvret = "1000A0B120C350D350E700F500G350H350I1000J120K350L350M";//12 points
//10003
std::string t_curvll = "3000A0B0C1000D1000E"; //"3000A0B0C499D501E1000F1000G"; //"3000A0B0C1000D1000E";//0 points with marks
//10004
std::string t_curvlh = "1000A0B500C350D350E166F500G350H350I333J500K350L350M500N500O350P350Q666R500S350T350U833V500W350X350Y";
//10005
int t_curvactiv = 0;
//10006
std::string t_curvcc = "3000A0B0C1000D1000E";
//10007
int t_qualitycurveMethod = 0;
//10008
std::string t_curvhh = "1000A0B500C350D350E166F500G350H350I333J500K350L350M500N500O350P350Q666R500S350T350U833V500W350X350Y";
//10009
int t_sensiv = 19;
int t_pastel = 0;
int t_saturated = 0;
std::string t_psthres = "0A75B";
int t_proskin = 0;
int t_avoidcsh = 0;
int t_pastsat = 0;
std::string t_curvskin = "3000A0B0C1000D1000E"; //"3000A0B0C499D501E1000F1000G"; //"3000A0B0C1000D1000E";//0 points with marks
int t_expcomp = 0;
int t_black = 0;
int t_hlcompr = 20;
int t_hlcomprthresh = 33;
int t_shcompr = 50;
int t_sensiex = 19;
//10010
std::string t_curvex = "3000A0B0C1000D1000E";
//10012
int t_centerXbuf = 0;
int t_centerYbuf = 0;
int t_adjblur = 0;
int t_cutpast = 0;
//10013
int t_chromacbdl = 0;
//10014
int t_lastdust = 0;
int t_blurMethod = 0;
int t_dustMethod = 1;
//10016
int t_excludemeth = 0;
int t_sensiexclu = 19;
int t_struc = 0;
//10017
int t_warm = 0;
//10018
int t_noiselumdetail = 0;
//10019
int t_noisechrodetail = 0;
//10020
int t_sensiden = 30;
//10021
int t_expdenoi = 0;
int t_expcolor = 0;
int t_expvibrance = 0;
int t_expblur = 0;
int t_exptonemap = 0;
int t_expreti = 0;
int t_expsharp = 0;
int t_expcbdl = 0;
int t_expexpose = 0;
//10022
int t_bilateral = 0;
//10023
int t_noiselequal = 7;
//10024
int t_shapemeth = 0;
fic << "Mipversion=" << t_mipversion << '@' << endl;
fic << "Spot=" << t_sp << '@' << endl;
fic << "Circrad=" << t_circrad << '@' << endl;
fic << "LocX=" << t_locX << '@' << endl;
fic << "LocY=" << t_locY << '@' << endl;
fic << "LocYT=" << t_locYT << '@' << endl;
fic << "LocXL=" << t_locXL << '@' << endl ;
fic << "CenterX=" << t_centerX << '@' << endl;
fic << "CenterY=" << t_centerY << '@' << endl;
fic << "Lightness=" << t_lightness << '@' << endl;
fic << "Contrast=" << t_contrast << '@' << endl;
fic << "Chroma=" << t_chroma << '@' << endl;
fic << "Sensi=" << t_sensi << '@' << endl;
fic << "Transit=" << t_transit << '@' << endl;
fic << "Invers=" << t_invers << '@' << endl;
fic << "Smethod=" << t_Smeth << '@' << endl;
fic << "Currentspot=" << t_currentspot << '@' << endl;
fic << "Radius=" << t_radius << '@' << endl;
fic << "Strength=" << t_strength << '@' << endl;
fic << "Sensibn=" << t_sensibn << '@' << endl;
fic << "Inversrad=" << t_inversrad << '@' << endl;
fic << "Str=" << t_str << '@' << endl;
fic << "Chroma=" << t_chrrt << '@' << endl;
fic << "Neigh=" << t_neigh << '@' << endl;
fic << "Vart=" << t_vart << '@' << endl;
fic << "Sensih=" << t_sensih << '@' << endl;
fic << "Inversret=" << t_inversret << '@' << endl;
fic << "retinexMethod=" << t_retinexMethod << '@' << endl;
fic << "Sharradius=" << t_sharradius << '@' << endl;
fic << "Sharamount=" << t_sharamount << '@' << endl;
fic << "Shardamping=" << t_shardamping << '@' << endl;
fic << "Shariter=" << t_shariter << '@' << endl;
fic << "Sensisha=" << t_sensisha << '@' << endl;
fic << "Inverssha=" << t_inverssha << '@' << endl;
fic << "qualityMethod=" << t_qualityMethod << '@' << endl;
fic << "Thres=" << t_thres << '@' << endl;
fic << "Proxi=" << t_proxi << '@' << endl;
fic << "Noiselumf=" << t_noiselumf << '@' << endl;
fic << "Noiselumc=" << t_noiselumc << '@' << endl;
fic << "Noisechrof=" << t_noisechrof << '@' << endl;
fic << "Noisechroc=" << t_noisechroc << '@' << endl;
fic << "Mult0=" << t_mult0 << '@' << endl;
fic << "Mult1=" << t_mult1 << '@' << endl;
fic << "Mult2=" << t_mult2 << '@' << endl;
fic << "Mult3=" << t_mult3 << '@' << endl;
fic << "Mult4=" << t_mult4 << '@' << endl;
fic << "Threshold=" << t_threshold << '@' << endl;
fic << "Sensicb=" << t_sensicb << '@' << endl;
fic << "Activblurlum=" << t_activlum << '@' << endl;
fic << "Stren=" << t_stren << '@' << endl;
fic << "Gamma=" << t_gamma << '@' << endl;
fic << "Estop=" << t_estop << '@' << endl;
fic << "Scaltm=" << t_scaltm << '@' << endl;
fic << "Rewei=" << t_rewei << '@' << endl;
fic << "Sensitm=" << t_sensitm << '@' << endl;
fic << "Retrab=" << t_retrab << '@' << endl;
fic << "Curvactiv=" << t_curvactiv << '@' << endl;
fic << "qualitycurveMethod=" << t_qualitycurveMethod << '@' << endl;
fic << "Sensiv=" << t_sensiv << '@' << endl;
fic << "Pastel=" << t_pastel << '@' << endl;
fic << "Saturated=" << t_saturated << '@' << endl;
fic << "Proskin=" << t_proskin << '@' << endl;
fic << "Avoidcsh=" << t_avoidcsh << '@' << endl;
fic << "Pastsat=" << t_pastsat << '@' << endl;
fic << "Expcomp=" << t_expcomp << '@' << endl;
fic << "Black=" << t_black << '@' << endl;
fic << "Hlcompr=" << t_hlcompr << '@' << endl;
fic << "Hlcomprthresh=" << t_hlcomprthresh << '@' << endl;
fic << "Shcompr=" << t_shcompr << '@' << endl;
fic << "Sensiex=" << t_sensiex << '@' << endl;
fic << "CenterXbuf=" << t_centerXbuf << '@' << endl;
fic << "CenterYbuf=" << t_centerYbuf << '@' << endl;
fic << "Adjblur=" << t_adjblur << '@' << endl;
fic << "Cutpast=" << t_cutpast << '@' << endl;
fic << "Chromacbdl=" << t_chromacbdl << '@' << endl;
fic << "Lastdust=" << t_lastdust << '@' << endl;
fic << "BlurMethod=" << t_blurMethod << '@' << endl;
fic << "DustMethod=" << t_dustMethod << '@' << endl;
fic << "ExcludeMethod=" << t_excludemeth << '@' << endl;
fic << "Sensiexclu=" << t_sensiexclu << '@' << endl;
fic << "Struc=" << t_struc << '@' << endl;
fic << "Warm=" << t_warm << '@' << endl;
fic << "Noiselumdetail=" << t_noiselumdetail << '@' << endl;
fic << "Noisechrodetail=" << t_noisechrodetail << '@' << endl;
fic << "Sensiden=" << t_sensiden << '@' << endl;
fic << "Expdenoi=" << t_expdenoi << '@' << endl;
fic << "Expcolor=" << t_expcolor << '@' << endl;
fic << "Expvibrance=" << t_expvibrance << '@' << endl;
fic << "Expblur=" << t_expblur << '@' << endl;
fic << "Exptonemap=" << t_exptonemap << '@' << endl;
fic << "Expreti=" << t_expreti << '@' << endl;
fic << "Expsharp=" << t_expsharp << '@' << endl;
fic << "Expcbdl=" << t_expcbdl << '@' << endl;
fic << "Expexpose=" << t_expexpose << '@' << endl;
fic << "Bilateral=" << t_bilateral << '@' << endl;
fic << "Noiselequal=" << t_noiselequal << '@' << endl;
fic << "ShapeMethod=" << t_shapemeth << '@' << endl;
fic << "curveReti=" << t_curvret << '@' << endl;
fic << "curveLL=" << t_curvll << '@' << endl;
fic << "curveLH=" << t_curvlh << '@' << endl;
fic << "curveCC=" << t_curvcc << '@' << endl;
fic << "curveHH=" << t_curvhh << '@' << endl;
fic << "curveskin=" << t_curvskin << '@' << endl;
fic << "pthres=" << t_psthres << '@' << endl;
fic << "curveex=" << t_curvex << '@' << endl;
fic << endl;
}
fic.close();
ifstream fich2(datal, ios::in);
if (fich2) {
std::string line2;
std::string spotline2;
int cont2 = 0;
int ns2 = 0;
int maxin = maxdata - 5; //70 ;//64
while (getline(fich2, line2)) {
spotline2 = line2;
std::size_t pos2 = spotline2.find("=");
std::size_t posend2 = spotline2.find("@"); //in case of for futur use
if (spotline2.substr(0, pos2) == "Mipversion") {
std::string strversion = spotline2.substr(pos2 + 1, (posend2 - pos2));
versionmip = std::stoi(strversion.c_str());
}
if (spotline2.substr(0, pos2) == "Spot") {
cont2 = 0;
}
cont2++;
std::string str32 = spotline2.substr(pos2 + 1, (posend2 - pos2));
if (cont2 == 1) {
ns2 = std::stoi(str32.c_str());
}
if (cont2 >= 2 && cont2 < 16) {
dataspot[cont2][ns2] = std::stoi(str32.c_str());
}
if (spotline2.substr(0, pos2) == "Currentspot") {
dataspot[16][0] = std::stoi(str32.c_str());
}
if (cont2 > 16 && cont2 < maxin) {
dataspot[cont2][ns2] = std::stoi(str32.c_str());
}
if (spotline2.substr(0, pos2) == "curveReti") {
retistr[ns2] = str32;
}
if (spotline2.substr(0, pos2) == "curveLL") {
llstr[ns2] = str32;
}
if (spotline2.substr(0, pos2) == "curveLH") {
lhstr[ns2] = str32;
}
if (spotline2.substr(0, pos2) == "curveCC") {
ccstr[ns2] = str32;
}
if (spotline2.substr(0, pos2) == "curveHH") {
hhstr[ns2] = str32;
}
if (spotline2.substr(0, pos2) == "curveskin") {
skinstr[ns2] = str32;
}
if (spotline2.substr(0, pos2) == "pthres") {
pthstr[ns2] = str32;
}
if (spotline2.substr(0, pos2) == "curveex") {
exstr[ns2] = str32;
}
}
fich2.close() ;
}
}
bool ImProcCoordinator::getHighQualComputed()
{
// this function may only be called from detail windows

View File

@ -225,7 +225,6 @@ protected:
ProcParams nextParams2;
bool destroying;
bool utili;
bool locutili;
bool autili;
bool butili;
bool ccutili;
@ -239,139 +238,9 @@ protected:
bool localexutili;
bool LHutili;
bool HHutili;
bool curveutili;
int **dataspot;
int maxdata;
std::string *retistr;
std::string *llstr;
std::string *lhstr;
std::string *ccstr;
std::string *hhstr;
std::string *skinstr;
std::string *pthstr;
std::string *exstr;
LUTi circrads;
LUTi centerx;
LUTi centery;
LUTi centerxbufs;
LUTi centerybufs;
LUTi adjblurs;
LUTi cutpasts;
LUTi lastdusts;
LUTi blurmets;
LUTi dustmets;
LUTi locx;
LUTi locy;
LUTi locxl;
LUTi locyt;
LUTi lights;
LUTi contrs;
LUTi chroms;
LUTi sensis;
LUTi expcomps;
LUTi blacks;
LUTi hlcomprs;
LUTi hlcomprthreshs;
LUTi shcomprs;
LUTi sensiexs;
LUTi transits;
LUTi inverss;
LUTi curvactivs;
LUTi smeths;
LUTi curens;
LUTi radiuss;
LUTi strengths;
LUTi sensibns;
LUTi inversrads;
LUTi strs;
LUTi chrrts;
LUTi neighs;
LUTi varts;
LUTi sensihs;
LUTi inversrets;
LUTi retinexs;
LUTi sps;
LUTi sharradiuss;
LUTi sharamounts;
LUTi shardampings;
LUTi inversshas;
LUTi shariters;
LUTi sensishas;
LUTi qualitys;
LUTi thress;
LUTi proxis;
LUTi noiselumfs;
LUTi noiselumcs;
LUTi noiselumdetails;
LUTi noiselequals;
LUTi noisechrodetails;
LUTi bilaterals;
LUTi sensidens;
LUTi noisechrofs;
LUTi noisechrocs;
LUTi mult0s;
LUTi mult1s;
LUTi mult2s;
LUTi mult3s;
LUTi mult4s;
LUTi chromacbdls;
LUTi thresholds;
LUTi sensicbs;
LUTi activlums;
int versionmip;
int mipver;
LUTi strens;
LUTi gammas;
LUTi estops;
LUTi scaltms;
LUTi reweis;
LUTi sensitms;
LUTi qualitycurves;
LUTi sizeretics;
LUTi reticurvs;
LUTi retrabs;
LUTi llcurvs;
LUTi sizellcs;
LUTi lhcurvs;
LUTi hhcurvs;
LUTi sizelhcs;
LUTi sizehhcs;
LUTi cccurvs;
LUTi sizecccs;
LUTi sensivs;
LUTi saturateds;
LUTi pastels;
LUTi psthresholds;
LUTi protectskinss;
LUTi avoidcolorshifts;
LUTi pastsattogs;
LUTi skintonescurves;
LUTi sizeskintonecurves;
LUTi excurves;
LUTi sizeexcurves;
LUTi shapemets;
LUTi exclumets;
LUTi sensiexclus;
LUTi strucs;
LUTi warms;
LUTi expdenois;
LUTi expcolors;
LUTi expvibrances;
LUTi expblurs;
LUTi exptonemaps;
LUTi expretis;
LUTi expsharps;
LUTi expcbdls;
LUTi expexposes;
LUTf huerefs;
LUTf huerefblurs;
@ -404,8 +273,6 @@ public:
void endUpdateParams(int changeFlags);
void stopProcessing();
// void updatePreviewImage (int todo, Crop* cropCall = NULL);
void spotduplic(int **dataspot, int spottodupli, int maxdata);
void changenumberofspot(int **dataspot, int maxdata, int maxspot, int ns, Glib::ustring datal, int versionmip);
// Glib::ustring datal;

View File

@ -32,8 +32,6 @@
#include <iostream>
#include <fstream>
#include <string>
#include "../rtgui/md5helper.h"
#include "../rtgui/thresholdselector.h"
#undef THREAD_PRIORITY_NORMAL