enhancements to Tone Mapping issue1714
This commit is contained in:
16
rtgui/epd.cc
16
rtgui/epd.cc
@@ -27,22 +27,26 @@ EdgePreservingDecompositionUI::EdgePreservingDecompositionUI () : FoldableToolPa
|
||||
|
||||
setEnabledTooltipMarkup(M("TP_EPD_TOOLTIP"));
|
||||
|
||||
strength = Gtk::manage(new Adjuster (M("TP_EPD_STRENGTH"), -2.0, 2.0, 0.01, 0.25));
|
||||
strength = Gtk::manage(new Adjuster (M("TP_EPD_STRENGTH"), -1.0, 2.0, 0.01, 0.8));
|
||||
gamma = Gtk::manage(new Adjuster (M("TP_EPD_GAMMA"), 0.8, 1.5, 0.01, 1.));
|
||||
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);
|
||||
gamma->setAdjusterListener(this);
|
||||
edgeStopping->setAdjusterListener(this);
|
||||
scale->setAdjusterListener(this);
|
||||
reweightingIterates->setAdjusterListener(this);
|
||||
|
||||
strength->show();
|
||||
gamma->show();
|
||||
edgeStopping->show();
|
||||
scale->show();
|
||||
reweightingIterates->show();
|
||||
|
||||
pack_start(*strength);
|
||||
pack_start(*gamma);
|
||||
pack_start(*edgeStopping);
|
||||
pack_start(*scale);
|
||||
pack_start(*reweightingIterates);
|
||||
@@ -53,6 +57,7 @@ void EdgePreservingDecompositionUI::read(const ProcParams *pp, const ParamsEdite
|
||||
|
||||
if(pedited){
|
||||
strength->setEditedState(pedited->epd.strength ? Edited : UnEdited);
|
||||
gamma->setEditedState(pedited->epd.gamma ? Edited : UnEdited);
|
||||
edgeStopping->setEditedState(pedited->epd.edgeStopping ? Edited : UnEdited);
|
||||
scale->setEditedState(pedited->epd.scale ? Edited : UnEdited);
|
||||
reweightingIterates->setEditedState(pedited->epd.reweightingIterates ? Edited : UnEdited);
|
||||
@@ -62,6 +67,7 @@ void EdgePreservingDecompositionUI::read(const ProcParams *pp, const ParamsEdite
|
||||
setEnabled(pp->epd.enabled);
|
||||
|
||||
strength->setValue(pp->epd.strength);
|
||||
gamma->setValue(pp->epd.gamma);
|
||||
edgeStopping->setValue(pp->epd.edgeStopping);
|
||||
scale->setValue(pp->epd.scale);
|
||||
reweightingIterates->setValue(pp->epd.reweightingIterates);
|
||||
@@ -71,6 +77,7 @@ void EdgePreservingDecompositionUI::read(const ProcParams *pp, const ParamsEdite
|
||||
|
||||
void EdgePreservingDecompositionUI::write(ProcParams *pp, ParamsEdited *pedited){
|
||||
pp->epd.strength = strength->getValue();
|
||||
pp->epd.gamma = gamma->getValue();
|
||||
pp->epd.edgeStopping = edgeStopping->getValue();
|
||||
pp->epd.scale = scale->getValue();
|
||||
pp->epd.reweightingIterates = reweightingIterates->getValue();
|
||||
@@ -78,6 +85,7 @@ void EdgePreservingDecompositionUI::write(ProcParams *pp, ParamsEdited *pedited)
|
||||
|
||||
if(pedited){
|
||||
pedited->epd.strength = strength->getEditedState();
|
||||
pedited->epd.gamma = gamma->getEditedState();
|
||||
pedited->epd.edgeStopping = edgeStopping->getEditedState();
|
||||
pedited->epd.scale = scale->getEditedState();
|
||||
pedited->epd.reweightingIterates = reweightingIterates->getEditedState();
|
||||
@@ -87,17 +95,20 @@ void EdgePreservingDecompositionUI::write(ProcParams *pp, ParamsEdited *pedited)
|
||||
|
||||
void EdgePreservingDecompositionUI::setDefaults(const ProcParams *defParams, const ParamsEdited *pedited){
|
||||
strength->setDefault(defParams->epd.strength);
|
||||
gamma->setDefault(defParams->epd.gamma);
|
||||
edgeStopping->setDefault(defParams->epd.edgeStopping);
|
||||
scale->setDefault(defParams->epd.scale);
|
||||
reweightingIterates->setDefault(defParams->epd.reweightingIterates);
|
||||
|
||||
if(pedited){
|
||||
strength->setDefaultEditedState(pedited->epd.strength ? Edited : UnEdited);
|
||||
gamma->setDefaultEditedState(pedited->epd.gamma ? 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);
|
||||
gamma->setDefaultEditedState(Irrelevant);
|
||||
edgeStopping->setDefaultEditedState(Irrelevant);
|
||||
scale->setDefaultEditedState(Irrelevant);
|
||||
reweightingIterates->setDefaultEditedState(Irrelevant);
|
||||
@@ -108,6 +119,8 @@ void EdgePreservingDecompositionUI::adjusterChanged(Adjuster* a, double newval){
|
||||
if(listener && getEnabled()){
|
||||
if(a == strength)
|
||||
listener->panelChanged(EvEPDStrength, Glib::ustring::format(std::setw(2), std::fixed, std::setprecision(2), a->getValue()));
|
||||
else if(a == gamma)
|
||||
listener->panelChanged(EvEPDgamma, Glib::ustring::format(std::setw(2), std::fixed, std::setprecision(2), a->getValue()));
|
||||
else if(a == edgeStopping)
|
||||
listener->panelChanged(EvEPDEdgeStopping, Glib::ustring::format(std::setw(2), std::fixed, std::setprecision(2), a->getValue()));
|
||||
else if(a == scale)
|
||||
@@ -132,6 +145,7 @@ void EdgePreservingDecompositionUI::setBatchMode(bool batchMode){
|
||||
ToolPanel::setBatchMode(batchMode);
|
||||
|
||||
strength->showEditedCB();
|
||||
gamma->showEditedCB();
|
||||
edgeStopping->showEditedCB();
|
||||
scale->showEditedCB();
|
||||
reweightingIterates->showEditedCB();
|
||||
|
Reference in New Issue
Block a user