From d1c9de33d1033253516958a17afd75f393d1feb0 Mon Sep 17 00:00:00 2001 From: "Hombrenatureh.510" Date: Sat, 15 Mar 2014 17:09:36 +0100 Subject: [PATCH] "1:1" icon added for the EPD tool + EPD fields' renaming --- rtdata/languages/Francais | 2 +- rtdata/languages/default | 2 +- rtengine/improcfun.cc | 50 ++++++------- rtengine/procparams.cc | 42 +++++------ rtengine/procparams.h | 10 +-- rtgui/epd.cc | 150 +++++++++++++++++++------------------- rtgui/epd.h | 8 +- rtgui/paramsedited.cc | 32 ++++---- rtgui/paramsedited.h | 10 +-- rtgui/partialpastedlg.cc | 2 +- rtgui/toolpanelcoord.cc | 5 +- rtgui/toolpanelcoord.h | 2 +- 12 files changed, 157 insertions(+), 158 deletions(-) diff --git a/rtdata/languages/Francais b/rtdata/languages/Francais index e70c95d9e..90b8a73cf 100644 --- a/rtdata/languages/Francais +++ b/rtdata/languages/Francais @@ -1113,7 +1113,7 @@ TP_GAMMA_CURV;Gamma TP_GAMMA_FREE;Manuel TP_GAMMA_OUTPUT;Gamma de sortie TP_GAMMA_SLOP;Pente (linéaire) -TP_GENERAL_11SCALE_TOOLTIP;L'effet de cet outil ou de l'un de ses sous-composant n'est visible qu'avec un aperçu à l'échelle 1:1. +TP_GENERAL_11SCALE_TOOLTIP;Les effets de cet outil ne sont visible ou fiable qu'avec un aperçu à l'échelle 1:1. TP_GRADIENT_CENTER;Centre TP_GRADIENT_CENTER_X;Centre X TP_GRADIENT_CENTER_X_TOOLTIP;Coord. X du point d'ancrage de la rotation: -100=bord gauche, 0=centre, +100=bord droit diff --git a/rtdata/languages/default b/rtdata/languages/default index 1ae3dafde..95c9980d2 100644 --- a/rtdata/languages/default +++ b/rtdata/languages/default @@ -1134,7 +1134,7 @@ TP_GAMMA_CURV;Gamma TP_GAMMA_FREE;Free gamma TP_GAMMA_OUTPUT;Output Gamma TP_GAMMA_SLOP;Slope (linear) -TP_GENERAL_11SCALE_TOOLTIP;The effect of this tool or some of its sub-components is only visible at 1:1 preview scale. +TP_GENERAL_11SCALE_TOOLTIP;The effects of this tool are only visible or only accurate at a preview scale of 1:1. TP_GRADIENT_CENTER;Center TP_GRADIENT_CENTER_X;Center X TP_GRADIENT_CENTER_X_TOOLTIP;Shift gradient to the left (negative values) or right (positive values). diff --git a/rtengine/improcfun.cc b/rtengine/improcfun.cc index 99fa8d3d2..8736c826b 100644 --- a/rtengine/improcfun.cc +++ b/rtengine/improcfun.cc @@ -833,10 +833,10 @@ if(params->colorappearance.enabled) { if(ncie->Q_p[i][j]Q_p[i][j];//minima if(ncie->Q_p[i][j]>maxQ) maxQ=ncie->Q_p[i][j];//maxima } - if(!params->colorappearance.tonecie || !settings->autocielab || !params->edgePreservingDecompositionUI.enabled ){ + if(!params->colorappearance.tonecie || !settings->autocielab || !params->epd.enabled ){ -// if(!params->edgePreservingDecompositionUI.enabled || !params->colorappearance.tonecie || !settings->autocielab){ - // if(!params->edgePreservingDecompositionUI.enabled || !params->colorappearance.tonecie || !params->colorappearance.sharpcie){ +// if(!params->epd.enabled || !params->colorappearance.tonecie || !settings->autocielab){ + // if(!params->epd.enabled || !params->colorappearance.tonecie || !params->colorappearance.sharpcie){ int posl, posc; double brli=327.; double chsacol=327.; @@ -908,8 +908,8 @@ if(params->colorappearance.enabled) { } } // End of parallelization -if(!params->edgePreservingDecompositionUI.enabled || !params->colorappearance.tonecie || !settings->autocielab){//normal -//if(!params->edgePreservingDecompositionUI.enabled || !params->colorappearance.tonecie || !params->colorappearance.sharpcie){//normal +if(!params->epd.enabled || !params->colorappearance.tonecie || !settings->autocielab){//normal +//if(!params->epd.enabled || !params->colorappearance.tonecie || !params->colorappearance.sharpcie){//normal if(ciedata) { //update histogram J @@ -1005,11 +1005,11 @@ if(params->dirpyrequalizer.enabled /*&& (execsharp)*/) { } } -if((params->colorappearance.tonecie || (params->colorappearance.tonecie && params->edgePreservingDecompositionUI.enabled)) || (params->sharpening.enabled && settings->autocielab) +if((params->colorappearance.tonecie || (params->colorappearance.tonecie && params->epd.enabled)) || (params->sharpening.enabled && settings->autocielab) || (params->dirpyrequalizer.enabled && settings->autocielab) ||(params->defringe.enabled && settings->autocielab) || (params->sharpenMicro.enabled && settings->autocielab) || (params->colorappearance.badpixsl > 0 && settings->autocielab)) { - if(params->edgePreservingDecompositionUI.enabled && params->colorappearance.tonecie && algepd) ImProcFunctions::EPDToneMapCIE(ncie, a_w, c_, w_h, width, height, begh, endh, minQ, maxQ, Iterates, scale ); + if(params->epd.enabled && params->colorappearance.tonecie && algepd) ImProcFunctions::EPDToneMapCIE(ncie, a_w, c_, w_h, width, height, begh, endh, minQ, maxQ, Iterates, scale ); //EPDToneMapCIE adapted to CIECAM @@ -1035,8 +1035,8 @@ if((params->colorappearance.tonecie || (params->colorappearance.tonecie && param float x,y,z; const float eps=0.0001; float co_e=(pow(f_l,0.25f))+eps; - // if(params->edgePreservingDecompositionUI.enabled) ncie->J_p[i][j]=(100.0* ncie->Q_p[i][j]*ncie->Q_p[i][j])/(w_h*w_h); - if(params->edgePreservingDecompositionUI.enabled) ncie->J_p[i][j]=(100.0* ncie->Q_p[i][j]*ncie->Q_p[i][j])/SQR((4./c)*(aw+4.)); + // if(params->epd.enabled) ncie->J_p[i][j]=(100.0* ncie->Q_p[i][j]*ncie->Q_p[i][j])/(w_h*w_h); + if(params->epd.enabled) ncie->J_p[i][j]=(100.0* ncie->Q_p[i][j]*ncie->Q_p[i][j])/SQR((4./c)*(aw+4.)); ncie->C_p[i][j] =(ncie->M_p[i][j])/co_e; //show histogram in CIECAM mode (Q,J, M,s,C) @@ -1705,7 +1705,7 @@ if(params->colorappearance.enabled) { if(ncie->Q_p[i][j]Q_p[i][j];//minima if(ncie->Q_p[i][j]>maxQ) maxQ=ncie->Q_p[i][j];//maxima } - if(!params->colorappearance.tonecie || !settings->autocielab || !params->edgePreservingDecompositionUI.enabled){ + if(!params->colorappearance.tonecie || !settings->autocielab || !params->epd.enabled){ int posl, posc; float brli=327.f; float chsacol=327.f; @@ -1896,11 +1896,11 @@ printf("BADPIX"); } } } -if((params->colorappearance.tonecie && (params->edgePreservingDecompositionUI.enabled)) || (params->sharpening.enabled && settings->autocielab) +if((params->colorappearance.tonecie && (params->epd.enabled)) || (params->sharpening.enabled && settings->autocielab) || (params->dirpyrequalizer.enabled && settings->autocielab) ||(params->defringe.enabled && settings->autocielab) || (params->sharpenMicro.enabled && settings->autocielab) || (params->impulseDenoise.enabled && settings->autocielab) || (params->colorappearance.badpixsl >0 && settings->autocielab)){ - if(params->edgePreservingDecompositionUI.enabled && params->colorappearance.tonecie && algepd) ImProcFunctions::EPDToneMapCIE(ncie, a_w, c_, w_h, width, height, begh, endh, minQ, maxQ, Iterates, scale ); + if(params->epd.enabled && params->colorappearance.tonecie && algepd) ImProcFunctions::EPDToneMapCIE(ncie, a_w, c_, w_h, width, height, begh, endh, minQ, maxQ, Iterates, scale ); //EPDToneMapCIE adated to CIECAM @@ -1925,8 +1925,8 @@ if((params->colorappearance.tonecie && (params->edgePreservingDecompositionUI.en float x,y,z; float eps=0.0001f; float co_e=(pow_F(f_l,0.25f))+eps; - // if(params->edgePreservingDecompositionUI.enabled) ncie->J_p[i][j]=(100.0f* ncie->Q_p[i][j]*ncie->Q_p[i][j])/(w_h*w_h); - if(params->edgePreservingDecompositionUI.enabled) ncie->J_p[i][j]=(100.0f* ncie->Q_p[i][j]*ncie->Q_p[i][j])/SQR((4.f/c)*(aw+4.f)); + // if(params->epd.enabled) ncie->J_p[i][j]=(100.0f* ncie->Q_p[i][j]*ncie->Q_p[i][j])/(w_h*w_h); + if(params->epd.enabled) ncie->J_p[i][j]=(100.0f* ncie->Q_p[i][j]*ncie->Q_p[i][j])/SQR((4.f/c)*(aw+4.f)); ncie->C_p[i][j] =(ncie->M_p[i][j])/co_e; //show histogram in CIECAM mode (Q,J, M,s,C) @@ -3672,11 +3672,11 @@ void ImProcFunctions::colorCurve (LabImage* lold, LabImage* lnew) { } void ImProcFunctions::EPDToneMapCIE(CieImage *ncie, float a_w, float c_, float w_h, int Wid, int Hei, int begh, int endh, float minQ, float maxQ, unsigned int Iterates, int skip){ -if(!params->edgePreservingDecompositionUI.enabled) return; - float stren=params->edgePreservingDecompositionUI.Strength; - float edgest=params->edgePreservingDecompositionUI.EdgeStopping; - float sca=params->edgePreservingDecompositionUI.Scale; - float rew=params->edgePreservingDecompositionUI.ReweightingIterates; +if(!params->epd.enabled) return; + float stren=params->epd.strength; + float edgest=params->epd.edgeStopping; + float sca=params->epd.scale; + float rew=params->epd.reweightingIterates; unsigned int i, N = Wid*Hei; float Qpro= ( 4.0 / c_) * ( a_w + 4.0 ) ;//estimate Q max if J=100.0 float *Qpr=ncie->Q_p[0]; @@ -3754,15 +3754,15 @@ if(!params->edgePreservingDecompositionUI.enabled) return; //#include "EdgePreservingDecomposition.cc" void ImProcFunctions::EPDToneMap(LabImage *lab, unsigned int Iterates, int skip){ //Hasten access to the parameters. -// EPDParams *p = (EPDParams *)(¶ms->edgePreservingDecompositionUI); +// EPDParams *p = (EPDParams *)(¶ms->epd); //Enabled? Leave now if not. // if(!p->enabled) return; -if(!params->edgePreservingDecompositionUI.enabled) return; -float stren=params->edgePreservingDecompositionUI.Strength; -float edgest=params->edgePreservingDecompositionUI.EdgeStopping; -float sca=params->edgePreservingDecompositionUI.Scale; -float rew=params->edgePreservingDecompositionUI.ReweightingIterates; +if(!params->epd.enabled) return; +float stren=params->epd.strength; +float edgest=params->epd.edgeStopping; +float sca=params->epd.scale; +float rew=params->epd.reweightingIterates; //Pointers to whole data and size of it. float *L = lab->L[0]; float *a = lab->a[0]; diff --git a/rtengine/procparams.cc b/rtengine/procparams.cc index fff9b3985..4fb7942e9 100644 --- a/rtengine/procparams.cc +++ b/rtengine/procparams.cc @@ -309,11 +309,11 @@ void ProcParams::setDefaults () { dirpyrDenoise.gamma = 1.7; dirpyrDenoise.dmethod = "RGB"; - edgePreservingDecompositionUI.enabled = false; - edgePreservingDecompositionUI.Strength = 0.25; - edgePreservingDecompositionUI.EdgeStopping = 1.4; - edgePreservingDecompositionUI.Scale = 1.0; - edgePreservingDecompositionUI.ReweightingIterates = 0; + epd.enabled = false; + epd.strength = 0.25; + epd.edgeStopping = 1.4; + epd.scale = 1.0; + epd.reweightingIterates = 0; sh.enabled = false; sh.hq = false; @@ -897,12 +897,12 @@ int ProcParams::save (Glib::ustring fname, Glib::ustring fname2, bool fnameAbsol if (!pedited || pedited->dirpyrDenoise.bluechro)keyFile.set_double ("Directional Pyramid Denoising", "Bluechro", dirpyrDenoise.bluechro); if (!pedited || pedited->dirpyrDenoise.gamma) keyFile.set_double ("Directional Pyramid Denoising", "Gamma", dirpyrDenoise.gamma); - //Save edgePreservingDecompositionUI. - if (!pedited || pedited->edgePreservingDecompositionUI.enabled) keyFile.set_boolean ("EPD", "Enabled", edgePreservingDecompositionUI.enabled); - if (!pedited || pedited->edgePreservingDecompositionUI.Strength) keyFile.set_double ("EPD", "Strength", edgePreservingDecompositionUI.Strength); - if (!pedited || pedited->edgePreservingDecompositionUI.EdgeStopping) keyFile.set_double ("EPD", "EdgeStopping", edgePreservingDecompositionUI.EdgeStopping); - if (!pedited || pedited->edgePreservingDecompositionUI.Scale) keyFile.set_double ("EPD", "Scale", edgePreservingDecompositionUI.Scale); - if (!pedited || pedited->edgePreservingDecompositionUI.ReweightingIterates) keyFile.set_integer ("EPD", "ReweightingIterates", edgePreservingDecompositionUI.ReweightingIterates); + //Save epd. + if (!pedited || pedited->epd.enabled) keyFile.set_boolean ("EPD", "Enabled", epd.enabled); + if (!pedited || pedited->epd.strength) keyFile.set_double ("EPD", "Strength", epd.strength); + if (!pedited || pedited->epd.edgeStopping) keyFile.set_double ("EPD", "EdgeStopping", epd.edgeStopping); + if (!pedited || pedited->epd.scale) keyFile.set_double ("EPD", "Scale", epd.scale); + if (!pedited || pedited->epd.reweightingIterates) keyFile.set_integer ("EPD", "ReweightingIterates", epd.reweightingIterates); /* // save lumaDenoise @@ -1495,11 +1495,11 @@ if (keyFile.has_group ("Directional Pyramid Denoising")) {//TODO: No longer an a //Load EPD. if (keyFile.has_group ("EPD")) { - if(keyFile.has_key("EPD", "Enabled")) { edgePreservingDecompositionUI.enabled = keyFile.get_boolean ("EPD", "Enabled"); if (pedited) pedited->edgePreservingDecompositionUI.enabled = true; } - if(keyFile.has_key("EPD", "Strength")) { edgePreservingDecompositionUI.Strength = keyFile.get_double ("EPD", "Strength"); if (pedited) pedited->edgePreservingDecompositionUI.Strength = true; } - if(keyFile.has_key("EPD", "EdgeStopping")) { edgePreservingDecompositionUI.EdgeStopping = keyFile.get_double ("EPD", "EdgeStopping"); if (pedited) pedited->edgePreservingDecompositionUI.EdgeStopping = true; } - if(keyFile.has_key("EPD", "Scale")) { edgePreservingDecompositionUI.Scale = keyFile.get_double ("EPD", "Scale"); if (pedited) pedited->edgePreservingDecompositionUI.Scale = true; } - if(keyFile.has_key("EPD", "ReweightingIterates")) { edgePreservingDecompositionUI.ReweightingIterates = keyFile.get_integer ("EPD", "ReweightingIterates"); if (pedited) pedited->edgePreservingDecompositionUI.ReweightingIterates = true; } + if(keyFile.has_key("EPD", "Enabled")) { epd.enabled = keyFile.get_boolean ("EPD", "Enabled"); if (pedited) pedited->epd.enabled = true; } + if(keyFile.has_key("EPD", "Strength")) { epd.strength = keyFile.get_double ("EPD", "Strength"); if (pedited) pedited->epd.strength = true; } + if(keyFile.has_key("EPD", "EdgeStopping")) { epd.edgeStopping = keyFile.get_double ("EPD", "EdgeStopping"); if (pedited) pedited->epd.edgeStopping = true; } + if(keyFile.has_key("EPD", "Scale")) { epd.scale = keyFile.get_double ("EPD", "Scale"); if (pedited) pedited->epd.scale = true; } + if(keyFile.has_key("EPD", "ReweightingIterates")) { epd.reweightingIterates = keyFile.get_integer ("EPD", "ReweightingIterates"); if (pedited) pedited->epd.reweightingIterates = true; } } // load lumaDenoise @@ -1918,11 +1918,11 @@ bool ProcParams::operator== (const ProcParams& other) { && dirpyrDenoise.redchro == other.dirpyrDenoise.redchro && dirpyrDenoise.bluechro == other.dirpyrDenoise.bluechro && dirpyrDenoise.gamma == other.dirpyrDenoise.gamma - && edgePreservingDecompositionUI.enabled == other.edgePreservingDecompositionUI.enabled - && edgePreservingDecompositionUI.Strength == other.edgePreservingDecompositionUI.Strength - && edgePreservingDecompositionUI.EdgeStopping == other.edgePreservingDecompositionUI.EdgeStopping - && edgePreservingDecompositionUI.Scale == other.edgePreservingDecompositionUI.Scale - && edgePreservingDecompositionUI.ReweightingIterates == other.edgePreservingDecompositionUI.ReweightingIterates + && epd.enabled == other.epd.enabled + && epd.strength == other.epd.strength + && epd.edgeStopping == other.epd.edgeStopping + && epd.scale == other.epd.scale + && epd.reweightingIterates == other.epd.reweightingIterates && defringe.enabled == other.defringe.enabled && defringe.radius == other.defringe.radius && defringe.threshold == other.defringe.threshold diff --git a/rtengine/procparams.h b/rtengine/procparams.h index 1fa0d60b5..6ec20cc63 100644 --- a/rtengine/procparams.h +++ b/rtengine/procparams.h @@ -488,10 +488,10 @@ class DirPyrDenoiseParams { class EPDParams{ public: bool enabled; - double Strength; - double EdgeStopping; - double Scale; - int ReweightingIterates; + double strength; + double edgeStopping; + double scale; + int reweightingIterates; }; /** @@ -842,7 +842,7 @@ class ProcParams { DefringeParams defringe; ///< Defringing parameters ImpulseDenoiseParams impulseDenoise; ///< Impulse denoising parameters DirPyrDenoiseParams dirpyrDenoise; ///< Directional Pyramid denoising parameters - EPDParams edgePreservingDecompositionUI; + EPDParams epd; ///< Edge Preserving Decomposition parameters SHParams sh; ///< Shadow/highlight enhancement parameters CropParams crop; ///< Crop parameters CoarseTransformParams coarse; ///< Coarse transformation (90, 180, 270 deg rotation, h/v flipping) parameters diff --git a/rtgui/epd.cc b/rtgui/epd.cc index 78c25952e..7b31502f1 100644 --- a/rtgui/epd.cc +++ b/rtgui/epd.cc @@ -39,129 +39,129 @@ EdgePreservingDecompositionUI::EdgePreservingDecompositionUI () : Gtk::VBox(), F enaConn = enabled->signal_toggled().connect( sigc::mem_fun(*this, &EdgePreservingDecompositionUI::enabledChanged) ); - Strength = Gtk::manage(new Adjuster (M("TP_EPD_STRENGTH"), -2.0, 2.0, 0.01, 0.25)); - EdgeStopping = Gtk::manage(new Adjuster (M("TP_EPD_EDGESTOPPING"), 0.1, 4.0, 0.01, 1.4)); - Scale = Gtk::manage(new Adjuster (M("TP_EPD_SCALE"), 0.1, 10.0, 0.01, 1.0)); - ReweightingIterates = Gtk::manage(new Adjuster (M("TP_EPD_REWEIGHTINGITERATES"), 0, 9, 1, 0)); + strength = Gtk::manage(new Adjuster (M("TP_EPD_STRENGTH"), -2.0, 2.0, 0.01, 0.25)); + edgeStopping = Gtk::manage(new Adjuster (M("TP_EPD_EDGESTOPPING"), 0.1, 4.0, 0.01, 1.4)); + scale = Gtk::manage(new Adjuster (M("TP_EPD_SCALE"), 0.1, 10.0, 0.01, 1.0)); + reweightingIterates = Gtk::manage(new Adjuster (M("TP_EPD_REWEIGHTINGITERATES"), 0, 9, 1, 0)); - Strength->setAdjusterListener(this); - EdgeStopping->setAdjusterListener(this); - Scale->setAdjusterListener(this); - ReweightingIterates->setAdjusterListener(this); + strength->setAdjusterListener(this); + edgeStopping->setAdjusterListener(this); + scale->setAdjusterListener(this); + reweightingIterates->setAdjusterListener(this); - Strength->show(); - EdgeStopping->show(); - Scale->show(); - ReweightingIterates->show(); + strength->show(); + edgeStopping->show(); + scale->show(); + reweightingIterates->show(); - pack_start(*Strength); - pack_start(*EdgeStopping); - pack_start(*Scale); - pack_start(*ReweightingIterates); + pack_start(*strength); + pack_start(*edgeStopping); + pack_start(*scale); + pack_start(*reweightingIterates); } void EdgePreservingDecompositionUI::read(const ProcParams *pp, const ParamsEdited *pedited){ disableListener(); if(pedited){ - Strength->setEditedState(pedited->edgePreservingDecompositionUI.Strength ? Edited : UnEdited); - EdgeStopping->setEditedState(pedited->edgePreservingDecompositionUI.EdgeStopping ? Edited : UnEdited); - Scale->setEditedState(pedited->edgePreservingDecompositionUI.Scale ? Edited : UnEdited); - ReweightingIterates->setEditedState(pedited->edgePreservingDecompositionUI.ReweightingIterates ? Edited : UnEdited); + strength->setEditedState(pedited->epd.strength ? Edited : UnEdited); + edgeStopping->setEditedState(pedited->epd.edgeStopping ? Edited : UnEdited); + scale->setEditedState(pedited->epd.scale ? Edited : UnEdited); + reweightingIterates->setEditedState(pedited->epd.reweightingIterates ? Edited : UnEdited); - enabled->set_inconsistent(!pedited->edgePreservingDecompositionUI.enabled); + enabled->set_inconsistent(!pedited->epd.enabled); } enaConn.block(true); - enabled->set_active(pp->edgePreservingDecompositionUI.enabled); + enabled->set_active(pp->epd.enabled); enaConn.block (false); - lastEnabled = pp->edgePreservingDecompositionUI.enabled; + lastEnabled = pp->epd.enabled; - Strength->setValue(pp->edgePreservingDecompositionUI.Strength); - EdgeStopping->setValue(pp->edgePreservingDecompositionUI.EdgeStopping); - Scale->setValue(pp->edgePreservingDecompositionUI.Scale); - ReweightingIterates->setValue(pp->edgePreservingDecompositionUI.ReweightingIterates); + strength->setValue(pp->epd.strength); + edgeStopping->setValue(pp->epd.edgeStopping); + scale->setValue(pp->epd.scale); + reweightingIterates->setValue(pp->epd.reweightingIterates); enableListener(); } void EdgePreservingDecompositionUI::write(ProcParams *pp, ParamsEdited *pedited){ - pp->edgePreservingDecompositionUI.Strength = Strength->getValue(); - pp->edgePreservingDecompositionUI.EdgeStopping = EdgeStopping->getValue(); - pp->edgePreservingDecompositionUI.Scale = Scale->getValue(); - pp->edgePreservingDecompositionUI.ReweightingIterates = ReweightingIterates->getValue(); - pp->edgePreservingDecompositionUI.enabled = enabled->get_active(); + pp->epd.strength = strength->getValue(); + pp->epd.edgeStopping = edgeStopping->getValue(); + pp->epd.scale = scale->getValue(); + pp->epd.reweightingIterates = reweightingIterates->getValue(); + pp->epd.enabled = enabled->get_active(); if(pedited){ - pedited->edgePreservingDecompositionUI.Strength = Strength->getEditedState(); - pedited->edgePreservingDecompositionUI.EdgeStopping = EdgeStopping->getEditedState(); - pedited->edgePreservingDecompositionUI.Scale = Scale->getEditedState(); - pedited->edgePreservingDecompositionUI.ReweightingIterates = ReweightingIterates->getEditedState(); - pedited->edgePreservingDecompositionUI.enabled = !enabled->get_inconsistent(); + pedited->epd.strength = strength->getEditedState(); + pedited->epd.edgeStopping = edgeStopping->getEditedState(); + pedited->epd.scale = scale->getEditedState(); + pedited->epd.reweightingIterates = reweightingIterates->getEditedState(); + pedited->epd.enabled = !enabled->get_inconsistent(); } } void EdgePreservingDecompositionUI::setDefaults(const ProcParams *defParams, const ParamsEdited *pedited){ - Strength->setDefault(defParams->edgePreservingDecompositionUI.Strength); - EdgeStopping->setDefault(defParams->edgePreservingDecompositionUI.EdgeStopping); - Scale->setDefault(defParams->edgePreservingDecompositionUI.Scale); - ReweightingIterates->setDefault(defParams->edgePreservingDecompositionUI.ReweightingIterates); + strength->setDefault(defParams->epd.strength); + edgeStopping->setDefault(defParams->epd.edgeStopping); + scale->setDefault(defParams->epd.scale); + reweightingIterates->setDefault(defParams->epd.reweightingIterates); if(pedited){ - Strength->setDefaultEditedState(pedited->edgePreservingDecompositionUI.Strength ? Edited : UnEdited); - EdgeStopping->setDefaultEditedState(pedited->edgePreservingDecompositionUI.EdgeStopping ? Edited : UnEdited); - Scale->setDefaultEditedState(pedited->edgePreservingDecompositionUI.Scale ? Edited : UnEdited); - ReweightingIterates->setDefaultEditedState(pedited->edgePreservingDecompositionUI.ReweightingIterates ? Edited : UnEdited); + strength->setDefaultEditedState(pedited->epd.strength ? Edited : UnEdited); + edgeStopping->setDefaultEditedState(pedited->epd.edgeStopping ? Edited : UnEdited); + scale->setDefaultEditedState(pedited->epd.scale ? Edited : UnEdited); + reweightingIterates->setDefaultEditedState(pedited->epd.reweightingIterates ? Edited : UnEdited); }else{ - Strength->setDefaultEditedState(Irrelevant); - EdgeStopping->setDefaultEditedState(Irrelevant); - Scale->setDefaultEditedState(Irrelevant); - ReweightingIterates->setDefaultEditedState(Irrelevant); + strength->setDefaultEditedState(Irrelevant); + edgeStopping->setDefaultEditedState(Irrelevant); + scale->setDefaultEditedState(Irrelevant); + reweightingIterates->setDefaultEditedState(Irrelevant); } } void EdgePreservingDecompositionUI::adjusterChanged(Adjuster* a, double newval){ if(listener && enabled->get_active()){ - if(a == Strength) + if(a == strength) listener->panelChanged(EvEPDStrength, Glib::ustring::format(std::setw(2), std::fixed, std::setprecision(2), a->getValue())); - else if(a == EdgeStopping) + else if(a == edgeStopping) listener->panelChanged(EvEPDEdgeStopping, Glib::ustring::format(std::setw(2), std::fixed, std::setprecision(2), a->getValue())); - else if(a == Scale) + else if(a == scale) listener->panelChanged(EvEPDScale, Glib::ustring::format(std::setw(2), std::fixed, std::setprecision(2), a->getValue())); - else if(a == ReweightingIterates) + else if(a == reweightingIterates) listener->panelChanged(EvEPDReweightingIterates, Glib::ustring::format((int)a->getValue())); } } void EdgePreservingDecompositionUI::enabledChanged(){ - if(batchMode){ - if(enabled->get_inconsistent()){ - enabled->set_inconsistent (false); - enaConn.block (true); - enabled->set_active (false); - enaConn.block (false); - } - else if(lastEnabled) - enabled->set_inconsistent (true); - - lastEnabled = enabled->get_active (); - } + if(batchMode){ + if(enabled->get_inconsistent()){ + enabled->set_inconsistent (false); + enaConn.block (true); + enabled->set_active (false); + enaConn.block (false); + } + else if(lastEnabled) + enabled->set_inconsistent (true); + + lastEnabled = enabled->get_active (); + } - if(listener){ - if(enabled->get_active ()) - listener->panelChanged (EvEPDEnabled, M("GENERAL_ENABLED")); - else - listener->panelChanged (EvEPDEnabled, M("GENERAL_DISABLED")); - } + if(listener){ + if(enabled->get_active ()) + listener->panelChanged (EvEPDEnabled, M("GENERAL_ENABLED")); + else + listener->panelChanged (EvEPDEnabled, M("GENERAL_DISABLED")); + } } void EdgePreservingDecompositionUI::setBatchMode(bool batchMode){ ToolPanel::setBatchMode(batchMode); - Strength->showEditedCB(); - EdgeStopping->showEditedCB(); - Scale->showEditedCB(); - ReweightingIterates->showEditedCB(); + strength->showEditedCB(); + edgeStopping->showEditedCB(); + scale->showEditedCB(); + reweightingIterates->showEditedCB(); } diff --git a/rtgui/epd.h b/rtgui/epd.h index 6ae32f4bf..0a7273ef4 100644 --- a/rtgui/epd.h +++ b/rtgui/epd.h @@ -25,10 +25,10 @@ class EdgePreservingDecompositionUI : public Gtk::VBox, public AdjusterListener, public FoldableToolPanel { protected: - Adjuster *Strength; - Adjuster *EdgeStopping; - Adjuster *Scale; - Adjuster *ReweightingIterates; + Adjuster *strength; + Adjuster *edgeStopping; + Adjuster *scale; + Adjuster *reweightingIterates; Gtk::CheckButton* enabled; bool lastEnabled; diff --git a/rtgui/paramsedited.cc b/rtgui/paramsedited.cc index 72e26921a..ed068e1f6 100644 --- a/rtgui/paramsedited.cc +++ b/rtgui/paramsedited.cc @@ -158,14 +158,14 @@ void ParamsEdited::set (bool v) { dirpyrDenoise.Ldetail = v; dirpyrDenoise.chroma = v; dirpyrDenoise.redchro = v; - dirpyrDenoise.bluechro = v; + dirpyrDenoise.bluechro = v; dirpyrDenoise.gamma = v; dirpyrDenoise.dmethod = v; - edgePreservingDecompositionUI.enabled = v; - edgePreservingDecompositionUI.Strength = v; - edgePreservingDecompositionUI.EdgeStopping = v; - edgePreservingDecompositionUI.Scale = v; - edgePreservingDecompositionUI.ReweightingIterates = v; + epd.enabled = v; + epd.strength = v; + epd.edgeStopping = v; + epd.scale = v; + epd.reweightingIterates = v; sh.enabled = v; sh.hq = v; sh.highlights = v; @@ -450,11 +450,11 @@ void ParamsEdited::initFrom (const std::vector dirpyrDenoise.gamma = dirpyrDenoise.gamma && p.dirpyrDenoise.gamma == other.dirpyrDenoise.gamma; dirpyrDenoise.dmethod = dirpyrDenoise.dmethod && p.dirpyrDenoise.dmethod == other.dirpyrDenoise.dmethod; - edgePreservingDecompositionUI.enabled = edgePreservingDecompositionUI.enabled && p.edgePreservingDecompositionUI.enabled == other.edgePreservingDecompositionUI.enabled; - edgePreservingDecompositionUI.Strength = edgePreservingDecompositionUI.Strength && p.edgePreservingDecompositionUI.Strength == other.edgePreservingDecompositionUI.Strength; - edgePreservingDecompositionUI.EdgeStopping = edgePreservingDecompositionUI.EdgeStopping && p.edgePreservingDecompositionUI.EdgeStopping == other.edgePreservingDecompositionUI.EdgeStopping; - edgePreservingDecompositionUI.Scale = edgePreservingDecompositionUI.Scale && p.edgePreservingDecompositionUI.Scale == other.edgePreservingDecompositionUI.Scale; - edgePreservingDecompositionUI.ReweightingIterates = edgePreservingDecompositionUI.ReweightingIterates && p.edgePreservingDecompositionUI.ReweightingIterates == other.edgePreservingDecompositionUI.ReweightingIterates; + epd.enabled = epd.enabled && p.epd.enabled == other.epd.enabled; + epd.strength = epd.strength && p.epd.strength == other.epd.strength; + epd.edgeStopping = epd.edgeStopping && p.epd.edgeStopping == other.epd.edgeStopping; + epd.scale = epd.scale && p.epd.scale == other.epd.scale; + epd.reweightingIterates = epd.reweightingIterates && p.epd.reweightingIterates == other.epd.reweightingIterates; sh.enabled = sh.enabled && p.sh.enabled == other.sh.enabled; sh.hq = sh.hq && p.sh.hq == other.sh.hq; @@ -737,11 +737,11 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten // if (dirpyrDenoise.perform) toEdit.dirpyrDenoise.perform = mods.dirpyrDenoise.perform; if (dirpyrDenoise.dmethod) toEdit.dirpyrDenoise.dmethod = mods.dirpyrDenoise.dmethod; - if (edgePreservingDecompositionUI.enabled) toEdit.edgePreservingDecompositionUI.enabled = mods.edgePreservingDecompositionUI.enabled; - if (edgePreservingDecompositionUI.Strength) toEdit.edgePreservingDecompositionUI.Strength = mods.edgePreservingDecompositionUI.Strength; - if (edgePreservingDecompositionUI.EdgeStopping) toEdit.edgePreservingDecompositionUI.EdgeStopping = mods.edgePreservingDecompositionUI.EdgeStopping; - if (edgePreservingDecompositionUI.Scale) toEdit.edgePreservingDecompositionUI.Scale = mods.edgePreservingDecompositionUI.Scale; - if (edgePreservingDecompositionUI.ReweightingIterates) toEdit.edgePreservingDecompositionUI.ReweightingIterates = mods.edgePreservingDecompositionUI.ReweightingIterates; + if (epd.enabled) toEdit.epd.enabled = mods.epd.enabled; + if (epd.strength) toEdit.epd.strength = mods.epd.strength; + if (epd.edgeStopping) toEdit.epd.edgeStopping = mods.epd.edgeStopping; + if (epd.scale) toEdit.epd.scale = mods.epd.scale; + if (epd.reweightingIterates) toEdit.epd.reweightingIterates = mods.epd.reweightingIterates; if (sh.enabled) toEdit.sh.enabled = mods.sh.enabled; if (sh.hq) toEdit.sh.hq = mods.sh.hq; diff --git a/rtgui/paramsedited.h b/rtgui/paramsedited.h index 5836846fa..7b436fce4 100644 --- a/rtgui/paramsedited.h +++ b/rtgui/paramsedited.h @@ -247,10 +247,10 @@ public: class EPDParamsEdited{ public: bool enabled; - bool Strength; - bool EdgeStopping; - bool Scale; - bool ReweightingIterates; + bool strength; + bool edgeStopping; + bool scale; + bool reweightingIterates; }; @@ -502,7 +502,7 @@ class ParamsEdited { //ColorDenoiseParamsEdited colorDenoise; DefringeParamsEdited defringe; DirPyrDenoiseParamsEdited dirpyrDenoise; - EPDParamsEdited edgePreservingDecompositionUI; + EPDParamsEdited epd; ImpulseDenoiseParamsEdited impulseDenoise; SHParamsEdited sh; CropParamsEdited crop; diff --git a/rtgui/partialpastedlg.cc b/rtgui/partialpastedlg.cc index 16531a029..25e0bcf76 100644 --- a/rtgui/partialpastedlg.cc +++ b/rtgui/partialpastedlg.cc @@ -608,7 +608,7 @@ void PartialPasteDlg::applyPaste (rtengine::procparams::ProcParams* dstPP, Param if (!wb->get_active ()) filterPE.wb = falsePE.wb; if (!exposure->get_active ()) filterPE.toneCurve = falsePE.toneCurve; if (!sh->get_active ()) filterPE.sh = falsePE.sh; - if (!epd->get_active ()) filterPE.edgePreservingDecompositionUI = falsePE.edgePreservingDecompositionUI; + if (!epd->get_active ()) filterPE.epd = falsePE.epd; if (!pcvignette->get_active ()) filterPE.pcvignette = falsePE.pcvignette; if (!gradient->get_active ()) filterPE.gradient = falsePE.gradient; if (!labcurve->get_active ()) filterPE.labCurve = falsePE.labCurve; diff --git a/rtgui/toolpanelcoord.cc b/rtgui/toolpanelcoord.cc index 41c61ad0a..c5e42fade 100644 --- a/rtgui/toolpanelcoord.cc +++ b/rtgui/toolpanelcoord.cc @@ -45,7 +45,7 @@ ToolPanelCoordinator::ToolPanelCoordinator () : ipc(NULL) { impulsedenoise = Gtk::manage (new ImpulseDenoise ()); defringe = Gtk::manage (new Defringe ()); dirpyrdenoise = Gtk::manage (new DirPyrDenoise ()); - edgePreservingDecompositionUI = Gtk::manage (new EdgePreservingDecompositionUI ()); + epd = Gtk::manage (new EdgePreservingDecompositionUI ()); sharpening = Gtk::manage (new Sharpening ()); sharpenEdge = Gtk::manage (new SharpenEdge ()); sharpenMicro = Gtk::manage (new SharpenMicro ()); @@ -90,11 +90,10 @@ ToolPanelCoordinator::ToolPanelCoordinator () : ipc(NULL) { addPanel (detailsPanel, sharpenMicro, M("TP_SHARPENMICRO_LABEL"), true); toolPanels.push_back (sharpenMicro); addPanel (colorPanel, hsvequalizer, M("TP_HSVEQUALIZER_LABEL")); toolPanels.push_back (hsvequalizer); addPanel (colorPanel, rgbcurves, M("TP_RGBCURVES_LABEL")); toolPanels.push_back (rgbcurves); - addPanel (exposurePanel, edgePreservingDecompositionUI, M("TP_EPD_LABEL")); toolPanels.push_back (edgePreservingDecompositionUI); + addPanel (exposurePanel, epd, M("TP_EPD_LABEL"), true); toolPanels.push_back (epd); addPanel (exposurePanel, pcvignette, M("TP_PCVIGNETTE_LABEL")); toolPanels.push_back (pcvignette); addPanel (exposurePanel, gradient, M("TP_GRADIENT_LABEL")); toolPanels.push_back (gradient); addPanel (exposurePanel, lcurve, M("TP_LABCURVE_LABEL")); toolPanels.push_back (lcurve); -// addPanel (exposurePanel, edgePreservingDecompositionUI, M("TP_EPD_LABEL")); toolPanels.push_back (edgePreservingDecompositionUI); addPanel (exposurePanel, colorappearance, M("TP_COLORAPP_LABEL")); toolPanels.push_back (colorappearance); addPanel (detailsPanel, impulsedenoise, M("TP_IMPULSEDENOISE_LABEL"), true); toolPanels.push_back (impulsedenoise); addPanel (detailsPanel, dirpyrdenoise, M("TP_DIRPYRDENOISE_LABEL"), true); toolPanels.push_back (dirpyrdenoise); diff --git a/rtgui/toolpanelcoord.h b/rtgui/toolpanelcoord.h index 47415a33a..968bb1e5b 100644 --- a/rtgui/toolpanelcoord.h +++ b/rtgui/toolpanelcoord.h @@ -108,7 +108,7 @@ class ToolPanelCoordinator : public ToolPanelListener, Defringe* defringe; ImpulseDenoise* impulsedenoise; DirPyrDenoise* dirpyrdenoise; - EdgePreservingDecompositionUI *edgePreservingDecompositionUI; + EdgePreservingDecompositionUI *epd; Sharpening* sharpening; SharpenEdge* sharpenEdge; SharpenMicro* sharpenMicro;