Wavelet Denoise & Refine levels not saved to PP3 correctly, Issue 2784

This commit is contained in:
Ingo
2015-05-18 20:39:07 +02:00
parent c8508a95bd
commit badeb48a78
3 changed files with 22 additions and 22 deletions

View File

@@ -1577,16 +1577,16 @@ int ProcParams::save (Glib::ustring fname, Glib::ustring fname2, bool fnameAbsol
keyFile.set_integer_list("Wavelet", "Edgcont", thresh);
}
if (!pedited || pedited->wavelet.level0noise) {
Glib::ArrayHandle<int> thresh (wavelet.level0noise.value, 2, Glib::OWNERSHIP_NONE);
keyFile.set_integer_list("Wavelet", "Level0noise", thresh);
Glib::ArrayHandle<double> thresh (wavelet.level0noise.value, 2, Glib::OWNERSHIP_NONE);
keyFile.set_double_list("Wavelet", "Level0noise", thresh);
}
if (!pedited || pedited->wavelet.level0noise) {
Glib::ArrayHandle<int> thresh (wavelet.level1noise.value, 2, Glib::OWNERSHIP_NONE);
keyFile.set_integer_list("Wavelet", "Level1noise", thresh);
if (!pedited || pedited->wavelet.level1noise) {
Glib::ArrayHandle<double> thresh (wavelet.level1noise.value, 2, Glib::OWNERSHIP_NONE);
keyFile.set_double_list("Wavelet", "Level1noise", thresh);
}
if (!pedited || pedited->wavelet.level2noise) {
Glib::ArrayHandle<int> thresh (wavelet.level0noise.value, 2, Glib::OWNERSHIP_NONE);
keyFile.set_integer_list("Wavelet", "Level2noise", thresh);
Glib::ArrayHandle<double> thresh (wavelet.level2noise.value, 2, Glib::OWNERSHIP_NONE);
keyFile.set_double_list("Wavelet", "Level2noise", thresh);
}
if (!pedited || pedited->wavelet.threshold) keyFile.set_integer ("Wavelet", "ThresholdHighlight", wavelet.threshold);
@@ -2447,17 +2447,17 @@ if (keyFile.has_group ("Wavelet")) {
if (pedited) pedited->wavelet.edgcont = true;
}
if (keyFile.has_key ("Wavelet", "Level0noise")) {
Glib::ArrayHandle<int> thresh = keyFile.get_integer_list ("Wavelet", "Level0noise");
Glib::ArrayHandle<double> thresh = keyFile.get_double_list ("Wavelet", "Level0noise");
wavelet.level0noise.setValues(thresh.data()[0], thresh.data()[1]);
if (pedited) pedited->wavelet.level0noise = true;
}
if (keyFile.has_key ("Wavelet", "Level1noise")) {
Glib::ArrayHandle<int> thresh = keyFile.get_integer_list ("Wavelet", "Level1noise");
Glib::ArrayHandle<double> thresh = keyFile.get_double_list ("Wavelet", "Level1noise");
wavelet.level1noise.setValues(thresh.data()[0], thresh.data()[1]);
if (pedited) pedited->wavelet.level1noise = true;
}
if (keyFile.has_key ("Wavelet", "Level2noise")) {
Glib::ArrayHandle<int> thresh = keyFile.get_integer_list ("Wavelet", "Level2noise");
Glib::ArrayHandle<double> thresh = keyFile.get_double_list ("Wavelet", "Level2noise");
wavelet.level2noise.setValues(thresh.data()[0], thresh.data()[1]);
if (pedited) pedited->wavelet.level2noise = true;
}

View File

@@ -911,9 +911,9 @@ class WaveletParams {
Threshold<int> pastlev;
Threshold<int> satlev;
Threshold<int> edgcont;
Threshold<int> level0noise;
Threshold<int> level1noise;
Threshold<int> level2noise;
Threshold<double> level0noise;
Threshold<double> level1noise;
Threshold<double> level2noise;
WaveletParams ();

View File

@@ -1035,9 +1035,9 @@ void Wavelet::read (const ProcParams* pp, const ParamsEdited* pedited) {
pastlev->setValue<int>(pp->wavelet.pastlev);
satlev->setValue<int>(pp->wavelet.satlev);
edgcont->setValue<int>(pp->wavelet.edgcont);
level0noise->setValue<int>(pp->wavelet.level0noise);
level1noise->setValue<int>(pp->wavelet.level1noise);
level2noise->setValue<int>(pp->wavelet.level2noise);
level0noise->setValue<double>(pp->wavelet.level0noise);
level1noise->setValue<double>(pp->wavelet.level1noise);
level2noise->setValue<double>(pp->wavelet.level2noise);
strength->setValue(pp->wavelet.strength);
for (int i = 0; i < 9; i++) {
correction[i]->setValue(pp->wavelet.c[i]);
@@ -1126,9 +1126,9 @@ void Wavelet::write (ProcParams* pp, ParamsEdited* pedited) {
pp->wavelet.hllev = hllev->getValue<int> ();
pp->wavelet.bllev = bllev->getValue<int> ();
pp->wavelet.edgcont = edgcont->getValue<int> ();
pp->wavelet.level0noise = level0noise->getValue<int> ();
pp->wavelet.level1noise = level1noise->getValue<int> ();
pp->wavelet.level2noise = level2noise->getValue<int> ();
pp->wavelet.level0noise = level0noise->getValue<double> ();
pp->wavelet.level1noise = level1noise->getValue<double> ();
pp->wavelet.level2noise = level2noise->getValue<double> ();
pp->wavelet.ccwcurve = ccshape->getCurve ();
pp->wavelet.opacityCurveRG = opacityShapeRG->getCurve ();
pp->wavelet.opacityCurveBY = opacityShapeBY->getCurve ();
@@ -1338,9 +1338,9 @@ void Wavelet::setDefaults (const ProcParams* defParams, const ParamsEdited* pedi
pastlev->setDefault<int> (defParams->wavelet.pastlev);
satlev->setDefault<int> (defParams->wavelet.satlev);
edgcont->setDefault<int> (defParams->wavelet.edgcont);
level0noise->setDefault<int> (defParams->wavelet.level0noise);
level1noise->setDefault<int> (defParams->wavelet.level1noise);
level2noise->setDefault<int> (defParams->wavelet.level2noise);
level0noise->setDefault<double> (defParams->wavelet.level0noise);
level1noise->setDefault<double> (defParams->wavelet.level1noise);
level2noise->setDefault<double> (defParams->wavelet.level2noise);
if (pedited) {
rescon->setDefault (defParams->wavelet.rescon);