Merge branch 'dev' into preprocess_wb

This commit is contained in:
rom9
2020-05-13 19:47:09 +02:00
81 changed files with 4427 additions and 1344 deletions

View File

@@ -219,6 +219,7 @@ void ParamsEdited::set(bool v)
colorappearance.adaplum = v;
colorappearance.badpixsl = v;
colorappearance.wbmodel = v;
colorappearance.illum = v;
colorappearance.algo = v;
colorappearance.jlight = v;
@@ -474,6 +475,12 @@ void ParamsEdited::set(bool v)
wavelet.strength = v;
wavelet.balance = v;
wavelet.iter = v;
wavelet.sigmafin = v;
wavelet.sigmaton = v;
wavelet.sigmacol = v;
wavelet.sigmadir = v;
wavelet.rangeab = v;
wavelet.protab = v;
wavelet.median = v;
wavelet.medianlev = v;
wavelet.linkedg = v;
@@ -485,6 +492,10 @@ void ParamsEdited::set(bool v)
wavelet.bluemed = v;
wavelet.bluelow = v;
wavelet.lipst = v;
wavelet.ballum = v;
wavelet.balchrom = v;
wavelet.chromfi = v;
wavelet.chromco = v;
wavelet.mergeL = v;
wavelet.mergeC = v;
wavelet.softrad = v;
@@ -493,6 +504,7 @@ void ParamsEdited::set(bool v)
wavelet.ushamethod = v;
wavelet.avoid = v;
wavelet.showmask = v;
wavelet.oldsh = v;
wavelet.tmr = v;
wavelet.Lmethod = v;
wavelet.CLmethod = v;
@@ -508,9 +520,13 @@ void ParamsEdited::set(bool v)
wavelet.HSmethod = v;
wavelet.Dirmethod = v;
wavelet.sigma = v;
wavelet.rescon = v;
wavelet.sigma = v;
wavelet.offset = v;
wavelet.lowthr = v;
wavelet.resconH = v;
wavelet.reschro = v;
wavelet.resblur = v;
wavelet.resblurc = v;
wavelet.tmrs = v;
wavelet.edgs = v;
wavelet.scale = v;
@@ -529,6 +545,7 @@ void ParamsEdited::set(bool v)
wavelet.chro = v;
wavelet.contrast = v;
wavelet.edgrad = v;
wavelet.edgeffect = v;
wavelet.edgval = v;
wavelet.edgthresh = v;
wavelet.thr = v;
@@ -540,11 +557,15 @@ void ParamsEdited::set(bool v)
wavelet.hllev = v;
wavelet.bllev = v;
wavelet.edgcont = v;
wavelet.chrwav = v;
wavelet.bluwav = v;
wavelet.level0noise = v;
wavelet.level1noise = v;
wavelet.level2noise = v;
wavelet.level3noise = v;
wavelet.ccwcurve = v;
wavelet.blcurve = v;
wavelet.opacityCurveSH = v;
wavelet.opacityCurveRG = v;
wavelet.opacityCurveBY = v;
wavelet.opacityCurveW = v;
@@ -564,9 +585,14 @@ void ParamsEdited::set(bool v)
wavelet.expcontrast = v;
wavelet.expchroma = v;
wavelet.expedge = v;
wavelet.expbl = v;
wavelet.expresid = v;
wavelet.exptoning = v;
wavelet.expnoise = v;
wavelet.labgridALow = v;
wavelet.labgridBLow = v;
wavelet.labgridAHigh = v;
wavelet.labgridBHigh = v;
for (int i = 0; i < 9; i++) {
wavelet.c[i] = v;
@@ -608,6 +634,7 @@ void ParamsEdited::set(bool v)
filmNegative.redRatio = v;
filmNegative.greenExp = v;
filmNegative.blueRatio = v;
filmNegative.baseValues = v;
raw.preprocessWB.mode = v;
exif = v;
@@ -813,6 +840,7 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
colorappearance.adaplum = colorappearance.adaplum && p.colorappearance.adaplum == other.colorappearance.adaplum;
colorappearance.badpixsl = colorappearance.badpixsl && p.colorappearance.badpixsl == other.colorappearance.badpixsl;
colorappearance.wbmodel = colorappearance.wbmodel && p.colorappearance.wbmodel == other.colorappearance.wbmodel;
colorappearance.illum = colorappearance.illum && p.colorappearance.illum == other.colorappearance.illum;
colorappearance.algo = colorappearance.algo && p.colorappearance.algo == other.colorappearance.algo;
colorappearance.jlight = colorappearance.jlight && p.colorappearance.jlight == other.colorappearance.jlight;
colorappearance.qbright = colorappearance.qbright && p.colorappearance.qbright == other.colorappearance.qbright;
@@ -1070,6 +1098,12 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
wavelet.strength = wavelet.strength && p.wavelet.strength == other.wavelet.strength;
wavelet.balance = wavelet.balance && p.wavelet.balance == other.wavelet.balance;
wavelet.iter = wavelet.iter && p.wavelet.iter == other.wavelet.iter;
wavelet.sigmafin = wavelet.sigmafin && p.wavelet.sigmafin == other.wavelet.sigmafin;
wavelet.sigmaton = wavelet.sigmaton && p.wavelet.sigmaton == other.wavelet.sigmaton;
wavelet.sigmacol = wavelet.sigmacol && p.wavelet.sigmacol == other.wavelet.sigmacol;
wavelet.sigmadir = wavelet.sigmadir && p.wavelet.sigmadir == other.wavelet.sigmadir;
wavelet.rangeab = wavelet.rangeab && p.wavelet.rangeab == other.wavelet.rangeab;
wavelet.protab = wavelet.protab && p.wavelet.protab == other.wavelet.protab;
wavelet.median = wavelet.median && p.wavelet.median == other.wavelet.median;
wavelet.medianlev = wavelet.medianlev && p.wavelet.medianlev == other.wavelet.medianlev;
wavelet.linkedg = wavelet.linkedg && p.wavelet.linkedg == other.wavelet.linkedg;
@@ -1082,6 +1116,10 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
wavelet.bluelow = wavelet.bluelow && p.wavelet.bluelow == other.wavelet.bluelow;
wavelet.lipst = wavelet.lipst && p.wavelet.lipst == other.wavelet.lipst;
wavelet.bluehigh = wavelet.bluehigh && p.wavelet.bluehigh == other.wavelet.bluehigh;
wavelet.ballum = wavelet.ballum && p.wavelet.ballum == other.wavelet.ballum;
wavelet.balchrom = wavelet.balchrom && p.wavelet.balchrom == other.wavelet.balchrom;
wavelet.chromfi = wavelet.chromfi && p.wavelet.chromfi == other.wavelet.chromfi;
wavelet.chromco = wavelet.chromco && p.wavelet.chromco == other.wavelet.chromco;
wavelet.mergeL = wavelet.mergeL && p.wavelet.mergeL == other.wavelet.mergeL;
wavelet.mergeC = wavelet.mergeC && p.wavelet.mergeC == other.wavelet.mergeC;
wavelet.softrad = wavelet.softrad && p.wavelet.softrad == other.wavelet.softrad;
@@ -1089,6 +1127,7 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
wavelet.ushamethod = wavelet.ushamethod && p.wavelet.ushamethod == other.wavelet.ushamethod;
wavelet.avoid = wavelet.avoid && p.wavelet.avoid == other.wavelet.avoid;
wavelet.showmask = wavelet.showmask && p.wavelet.showmask == other.wavelet.showmask;
wavelet.oldsh = wavelet.oldsh && p.wavelet.oldsh == other.wavelet.oldsh;
wavelet.tmr = wavelet.tmr && p.wavelet.tmr == other.wavelet.tmr;
wavelet.Lmethod = wavelet.Lmethod && p.wavelet.Lmethod == other.wavelet.Lmethod;
wavelet.CLmethod = wavelet.CLmethod && p.wavelet.CLmethod == other.wavelet.CLmethod;
@@ -1104,9 +1143,13 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
wavelet.HSmethod = wavelet.HSmethod && p.wavelet.HSmethod == other.wavelet.HSmethod;
wavelet.Dirmethod = wavelet.Dirmethod && p.wavelet.Dirmethod == other.wavelet.Dirmethod;
wavelet.sigma = wavelet.sigma && p.wavelet.sigma == other.wavelet.sigma;
wavelet.offset = wavelet.offset && p.wavelet.offset == other.wavelet.offset;
wavelet.lowthr = wavelet.lowthr && p.wavelet.lowthr == other.wavelet.lowthr;
wavelet.rescon = wavelet.rescon && p.wavelet.rescon == other.wavelet.rescon;
wavelet.resconH = wavelet.resconH && p.wavelet.resconH == other.wavelet.resconH;
wavelet.reschro = wavelet.reschro && p.wavelet.reschro == other.wavelet.reschro;
wavelet.resblur = wavelet.resblur && p.wavelet.resblur == other.wavelet.resblur;
wavelet.resblurc = wavelet.resblurc && p.wavelet.resblurc == other.wavelet.resblurc;
wavelet.tmrs = wavelet.tmrs && p.wavelet.tmrs == other.wavelet.tmrs;
wavelet.edgs = wavelet.edgs && p.wavelet.edgs == other.wavelet.edgs;
wavelet.scale = wavelet.scale && p.wavelet.scale == other.wavelet.scale;
@@ -1125,6 +1168,7 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
wavelet.chro = wavelet.chro && p.wavelet.chro == other.wavelet.chro;
wavelet.contrast = wavelet.contrast && p.wavelet.contrast == other.wavelet.contrast;
wavelet.edgrad = wavelet.edgrad && p.wavelet.edgrad == other.wavelet.edgrad;
wavelet.edgeffect = wavelet.edgeffect && p.wavelet.edgeffect == other.wavelet.edgeffect;
wavelet.edgval = wavelet.edgval && p.wavelet.edgval == other.wavelet.edgval;
wavelet.edgthresh = wavelet.edgthresh && p.wavelet.edgthresh == other.wavelet.edgthresh;
wavelet.thr = wavelet.thr && p.wavelet.thr == other.wavelet.thr;
@@ -1135,6 +1179,8 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
wavelet.hllev = wavelet.hllev && p.wavelet.hllev == other.wavelet.hllev;
wavelet.bllev = wavelet.bllev && p.wavelet.bllev == other.wavelet.bllev;
wavelet.edgcont = wavelet.edgcont && p.wavelet.edgcont == other.wavelet.edgcont;
wavelet.chrwav = wavelet.chrwav && p.wavelet.chrwav == other.wavelet.chrwav;
wavelet.bluwav = wavelet.bluwav && p.wavelet.bluwav == other.wavelet.bluwav;
wavelet.level0noise = wavelet.level0noise && p.wavelet.level0noise == other.wavelet.level0noise;
wavelet.level1noise = wavelet.level1noise && p.wavelet.level1noise == other.wavelet.level1noise;
wavelet.level2noise = wavelet.level2noise && p.wavelet.level2noise == other.wavelet.level2noise;
@@ -1142,6 +1188,8 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
wavelet.pastlev = wavelet.pastlev && p.wavelet.pastlev == other.wavelet.pastlev;
wavelet.satlev = wavelet.satlev && p.wavelet.satlev == other.wavelet.satlev;
wavelet.ccwcurve = wavelet.ccwcurve && p.wavelet.ccwcurve == other.wavelet.ccwcurve;
wavelet.blcurve = wavelet.blcurve && p.wavelet.blcurve == other.wavelet.blcurve;
wavelet.opacityCurveSH = wavelet.opacityCurveSH && p.wavelet.opacityCurveSH == other.wavelet.opacityCurveSH;
wavelet.opacityCurveRG = wavelet.opacityCurveRG && p.wavelet.opacityCurveRG == other.wavelet.opacityCurveRG;
wavelet.opacityCurveBY = wavelet.opacityCurveBY && p.wavelet.opacityCurveBY == other.wavelet.opacityCurveBY;
wavelet.opacityCurveW = wavelet.opacityCurveW && p.wavelet.opacityCurveW == other.wavelet.opacityCurveW;
@@ -1154,11 +1202,16 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
wavelet.expcontrast = wavelet.expcontrast && p.wavelet.expcontrast == other.wavelet.expcontrast;
wavelet.expchroma = wavelet.expchroma && p.wavelet.expchroma == other.wavelet.expchroma;
wavelet.expedge = wavelet.expedge && p.wavelet.expedge == other.wavelet.expedge;
wavelet.expbl = wavelet.expbl && p.wavelet.expbl == other.wavelet.expbl;
wavelet.expresid = wavelet.expresid && p.wavelet.expresid == other.wavelet.expresid;
wavelet.expfinal = wavelet.expfinal && p.wavelet.expfinal == other.wavelet.expfinal;
wavelet.exptoning = wavelet.exptoning && p.wavelet.exptoning == other.wavelet.exptoning;
wavelet.expnoise = wavelet.expnoise && p.wavelet.expnoise == other.wavelet.expnoise;
wavelet.expclari = wavelet.expclari && p.wavelet.expclari == other.wavelet.expclari;
wavelet.labgridALow = wavelet.labgridALow && p.wavelet.labgridALow == other.wavelet.labgridALow;
wavelet.labgridBLow = wavelet.labgridBLow && p.wavelet.labgridBLow == other.wavelet.labgridBLow;
wavelet.labgridAHigh = wavelet.labgridAHigh && p.wavelet.labgridAHigh == other.wavelet.labgridAHigh;
wavelet.labgridBHigh = wavelet.labgridBHigh && p.wavelet.labgridBHigh == other.wavelet.labgridBHigh;
for (int level = 0; level < 9; ++level) {
wavelet.c[level] = wavelet.c[level] && p.wavelet.c[level] == other.wavelet.c[level];
@@ -1196,6 +1249,9 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
filmNegative.redRatio = filmNegative.redRatio && p.filmNegative.redRatio == other.filmNegative.redRatio;
filmNegative.greenExp = filmNegative.greenExp && p.filmNegative.greenExp == other.filmNegative.greenExp;
filmNegative.blueRatio = filmNegative.blueRatio && p.filmNegative.blueRatio == other.filmNegative.blueRatio;
filmNegative.baseValues = filmNegative.baseValues && p.filmNegative.redBase == other.filmNegative.redBase
&& p.filmNegative.greenBase == other.filmNegative.greenBase
&& p.filmNegative.blueBase == other.filmNegative.blueBase;
raw.preprocessWB.mode = raw.preprocessWB.mode && p.raw.preprocessWB.mode == other.raw.preprocessWB.mode;
// How the hell can we handle that???
@@ -2012,6 +2068,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
toEdit.colorappearance.wbmodel = mods.colorappearance.wbmodel;
}
if (colorappearance.illum) {
toEdit.colorappearance.illum = mods.colorappearance.illum;
}
if (colorappearance.algo) {
toEdit.colorappearance.algo = mods.colorappearance.algo;
}
@@ -2853,6 +2913,22 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
toEdit.wavelet.enabled = mods.wavelet.enabled;
}
if (wavelet.labgridALow) {
toEdit.wavelet.labgridALow = mods.wavelet.labgridALow;
}
if (wavelet.labgridBLow) {
toEdit.wavelet.labgridBLow = mods.wavelet.labgridBLow;
}
if (wavelet.labgridAHigh) {
toEdit.wavelet.labgridAHigh = mods.wavelet.labgridAHigh;
}
if (wavelet.labgridBHigh) {
toEdit.wavelet.labgridBHigh = mods.wavelet.labgridBHigh;
}
if (wavelet.strength) {
toEdit.wavelet.strength = mods.wavelet.strength;
}
@@ -2861,6 +2937,30 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
toEdit.wavelet.balance = mods.wavelet.balance;
}
if (wavelet.sigmafin) {
toEdit.wavelet.sigmafin = mods.wavelet.sigmafin;
}
if (wavelet.sigmaton) {
toEdit.wavelet.sigmaton = mods.wavelet.sigmaton;
}
if (wavelet.sigmacol) {
toEdit.wavelet.sigmacol = mods.wavelet.sigmacol;
}
if (wavelet.sigmadir) {
toEdit.wavelet.sigmadir = mods.wavelet.sigmadir;
}
if (wavelet.rangeab) {
toEdit.wavelet.rangeab = mods.wavelet.rangeab;
}
if (wavelet.protab) {
toEdit.wavelet.protab = mods.wavelet.protab;
}
if (wavelet.iter) {
toEdit.wavelet.iter = mods.wavelet.iter;
}
@@ -2905,6 +3005,22 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
toEdit.wavelet.bluelow = mods.wavelet.bluelow;
}
if (wavelet.ballum) {
toEdit.wavelet.ballum = mods.wavelet.ballum;
}
if (wavelet.balchrom) {
toEdit.wavelet.balchrom = mods.wavelet.balchrom;
}
if (wavelet.chromfi) {
toEdit.wavelet.chromfi = mods.wavelet.chromfi;
}
if (wavelet.chromco) {
toEdit.wavelet.chromco = mods.wavelet.chromco;
}
if (wavelet.mergeL) {
toEdit.wavelet.mergeL = mods.wavelet.mergeL;
}
@@ -2941,6 +3057,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
toEdit.wavelet.showmask = mods.wavelet.showmask;
}
if (wavelet.oldsh) {
toEdit.wavelet.oldsh = mods.wavelet.oldsh;
}
if (wavelet.tmr) {
toEdit.wavelet.tmr = mods.wavelet.tmr;
}
@@ -3033,6 +3153,14 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
toEdit.wavelet.edgcont = mods.wavelet.edgcont;
}
if (wavelet.chrwav) {
toEdit.wavelet.chrwav = mods.wavelet.chrwav;
}
if (wavelet.bluwav) {
toEdit.wavelet.bluwav = mods.wavelet.bluwav;
}
if (wavelet.level0noise) {
toEdit.wavelet.level0noise = mods.wavelet.level0noise;
}
@@ -3061,6 +3189,14 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
toEdit.wavelet.ccwcurve = mods.wavelet.ccwcurve;
}
if (wavelet.blcurve) {
toEdit.wavelet.blcurve = mods.wavelet.blcurve;
}
if (wavelet.opacityCurveSH) {
toEdit.wavelet.opacityCurveSH = mods.wavelet.opacityCurveSH;
}
if (wavelet.opacityCurveRG) {
toEdit.wavelet.opacityCurveRG = mods.wavelet.opacityCurveRG;
}
@@ -3102,6 +3238,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
toEdit.wavelet.expedge = mods.wavelet.expedge;
}
if (wavelet.expbl) {
toEdit.wavelet.expbl = mods.wavelet.expbl;
}
if (wavelet.expresid) {
toEdit.wavelet.expresid = mods.wavelet.expresid;
}
@@ -3158,6 +3298,26 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
toEdit.wavelet.sigma = mods.wavelet.sigma;
}
if (wavelet.offset) {
toEdit.wavelet.offset = mods.wavelet.offset;
}
if (wavelet.lowthr) {
toEdit.wavelet.lowthr = mods.wavelet.lowthr;
}
if (wavelet.resblur) {
toEdit.wavelet.resblur = mods.wavelet.resblur;
}
if (wavelet.edgeffect) {
toEdit.wavelet.edgeffect = mods.wavelet.edgeffect;
}
if (wavelet.resblurc) {
toEdit.wavelet.resblurc = mods.wavelet.resblurc;
}
if (wavelet.resconH) {
toEdit.wavelet.resconH = dontforceSet && options.baBehav[ADDSET_WA_RESCONH] ? toEdit.wavelet.resconH + mods.wavelet.resconH : mods.wavelet.resconH;
}
@@ -3342,6 +3502,12 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
toEdit.filmNegative.blueRatio = mods.filmNegative.blueRatio;
}
if (filmNegative.baseValues) {
toEdit.filmNegative.redBase = mods.filmNegative.redBase;
toEdit.filmNegative.greenBase = mods.filmNegative.greenBase;
toEdit.filmNegative.blueBase = mods.filmNegative.blueBase;
}
if (raw.preprocessWB.mode) {
toEdit.raw.preprocessWB.mode = mods.raw.preprocessWB.mode;
}
@@ -3392,7 +3558,7 @@ bool RetinexParamsEdited::isUnchanged() const
bool FilmNegativeParamsEdited::isUnchanged() const
{
return enabled && redRatio && greenExp && blueRatio;
return enabled && redRatio && greenExp && blueRatio && baseValues;
}
bool CaptureSharpeningParamsEdited::isUnchanged() const