Improvement of Exposure locallab tool according to complexity mode
This commit is contained in:
@@ -2562,8 +2562,7 @@ TP_LOCALLAB_OFFSETWAV;Offset
|
|||||||
TP_LOCALLAB_OPACOL;Opacity
|
TP_LOCALLAB_OPACOL;Opacity
|
||||||
TP_LOCALLAB_ORIGLC;Merge only with original image
|
TP_LOCALLAB_ORIGLC;Merge only with original image
|
||||||
TP_LOCALLAB_PASTELS2;Vibrance
|
TP_LOCALLAB_PASTELS2;Vibrance
|
||||||
TP_LOCALLAB_PDE;Dynamic Range compression + Standard ƒ
|
TP_LOCALLAB_PDE;ΔØ Laplacian PDE - Dynamic Range compression + Standard
|
||||||
TP_LOCALLAB_PDE2;ΔØ Laplacian PDE - Dynamic Range compression + Standard
|
|
||||||
TP_LOCALLAB_PDEFRA;PDE IPOL - Contrast attenuator ƒ
|
TP_LOCALLAB_PDEFRA;PDE IPOL - Contrast attenuator ƒ
|
||||||
TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL - personal algorithm adapted from IPOL to Rawtherapee: lead to very different results and needs differents settings that Standard (negative black, gamma < 1,...)\nMay be usefull for low exposure.\n
|
TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL - personal algorithm adapted from IPOL to Rawtherapee: lead to very different results and needs differents settings that Standard (negative black, gamma < 1,...)\nMay be usefull for low exposure.\n
|
||||||
TP_LOCALLAB_PREVIEWSEL;Preview selection ΔE
|
TP_LOCALLAB_PREVIEWSEL;Preview selection ΔE
|
||||||
|
@@ -2143,15 +2143,7 @@ LocallabExposure::LocallabExposure():
|
|||||||
}
|
}
|
||||||
|
|
||||||
expMethod->append(M("TP_LOCALLAB_STD"));
|
expMethod->append(M("TP_LOCALLAB_STD"));
|
||||||
|
|
||||||
if (complexsoft == 1) {
|
|
||||||
expMethod->append(M("TP_LOCALLAB_PDE"));
|
expMethod->append(M("TP_LOCALLAB_PDE"));
|
||||||
}
|
|
||||||
|
|
||||||
if (complexsoft == 0) {
|
|
||||||
expMethod->append(M("TP_LOCALLAB_PDE2"));
|
|
||||||
}
|
|
||||||
|
|
||||||
expMethod->set_active(0);
|
expMethod->set_active(0);
|
||||||
expMethodConn = expMethod->signal_changed().connect(sigc::mem_fun(*this, &LocallabExposure::expMethodChanged));
|
expMethodConn = expMethod->signal_changed().connect(sigc::mem_fun(*this, &LocallabExposure::expMethodChanged));
|
||||||
|
|
||||||
@@ -2370,10 +2362,7 @@ LocallabExposure::LocallabExposure():
|
|||||||
mask2expCurveEditorG->curveListComplete();
|
mask2expCurveEditorG->curveListComplete();
|
||||||
|
|
||||||
// Add Color & Light specific widgets to GUI
|
// Add Color & Light specific widgets to GUI
|
||||||
if (complexsoft < 2) {
|
|
||||||
pack_start(*expMethod);
|
pack_start(*expMethod);
|
||||||
}
|
|
||||||
|
|
||||||
ToolParamBlock* const pdeBox = Gtk::manage(new ToolParamBlock());
|
ToolParamBlock* const pdeBox = Gtk::manage(new ToolParamBlock());
|
||||||
pdeBox->pack_start(*laplacexp);
|
pdeBox->pack_start(*laplacexp);
|
||||||
pdeBox->pack_start(*linear);
|
pdeBox->pack_start(*linear);
|
||||||
@@ -2384,45 +2373,25 @@ LocallabExposure::LocallabExposure():
|
|||||||
ctboxexpmethod->pack_start(*exnoiseMethod);
|
ctboxexpmethod->pack_start(*exnoiseMethod);
|
||||||
pdeBox->pack_start(*ctboxexpmethod);
|
pdeBox->pack_start(*ctboxexpmethod);
|
||||||
pdeFrame->add(*pdeBox);
|
pdeFrame->add(*pdeBox);
|
||||||
|
|
||||||
if (complexsoft < 2) {
|
|
||||||
pack_start(*pdeFrame);
|
pack_start(*pdeFrame);
|
||||||
}
|
|
||||||
|
|
||||||
ToolParamBlock* const fatBox = Gtk::manage(new ToolParamBlock());
|
ToolParamBlock* const fatBox = Gtk::manage(new ToolParamBlock());
|
||||||
fatBox->pack_start(*fatamount);
|
fatBox->pack_start(*fatamount);
|
||||||
fatBox->pack_start(*fatdetail);
|
fatBox->pack_start(*fatdetail);
|
||||||
|
|
||||||
if (complexsoft < 1) {
|
|
||||||
fatBox->pack_start(*fatlevel);
|
fatBox->pack_start(*fatlevel);
|
||||||
}
|
|
||||||
|
|
||||||
fatBox->pack_start(*fatanchor);
|
fatBox->pack_start(*fatanchor);
|
||||||
fatFrame->add(*fatBox);
|
fatFrame->add(*fatBox);
|
||||||
|
|
||||||
if (complexsoft < 2) {
|
|
||||||
pack_start(*fatFrame);
|
pack_start(*fatFrame);
|
||||||
}
|
|
||||||
|
|
||||||
pack_start(*sensiex);
|
pack_start(*sensiex);
|
||||||
pack_start(*structexp);
|
pack_start(*structexp);
|
||||||
|
|
||||||
if (complexsoft < 2) {
|
|
||||||
pack_start(*blurexpde);
|
pack_start(*blurexpde);
|
||||||
}
|
|
||||||
|
|
||||||
ToolParamBlock* const toolBox = Gtk::manage(new ToolParamBlock());
|
ToolParamBlock* const toolBox = Gtk::manage(new ToolParamBlock());
|
||||||
toolBox->pack_start(*expcomp);
|
toolBox->pack_start(*expcomp);
|
||||||
toolBox->pack_start(*black);
|
toolBox->pack_start(*black);
|
||||||
|
|
||||||
if (complexsoft < 2) {
|
|
||||||
toolBox->pack_start(*hlcompr);
|
toolBox->pack_start(*hlcompr);
|
||||||
toolBox->pack_start(*hlcomprthresh);
|
toolBox->pack_start(*hlcomprthresh);
|
||||||
toolBox->pack_start(*shadex);
|
toolBox->pack_start(*shadex);
|
||||||
toolBox->pack_start(*shcompr);
|
toolBox->pack_start(*shcompr);
|
||||||
toolBox->pack_start(*expchroma);
|
toolBox->pack_start(*expchroma);
|
||||||
}
|
|
||||||
|
|
||||||
toolBox->pack_start(*curveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor
|
toolBox->pack_start(*curveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor
|
||||||
exptoolexp->add(*toolBox, false);
|
exptoolexp->add(*toolBox, false);
|
||||||
pack_start(*exptoolexp);
|
pack_start(*exptoolexp);
|
||||||
@@ -2431,12 +2400,8 @@ LocallabExposure::LocallabExposure():
|
|||||||
gradBox->pack_start(*angexp);
|
gradBox->pack_start(*angexp);
|
||||||
expgradexp->add(*gradBox, false);
|
expgradexp->add(*gradBox, false);
|
||||||
pack_start(*expgradexp);
|
pack_start(*expgradexp);
|
||||||
|
|
||||||
if (complexsoft < 2) {
|
|
||||||
pack_start(*softradiusexp);
|
pack_start(*softradiusexp);
|
||||||
pack_start(*inversex);
|
pack_start(*inversex);
|
||||||
}
|
|
||||||
|
|
||||||
ToolParamBlock* const maskexpBox = Gtk::manage(new ToolParamBlock());
|
ToolParamBlock* const maskexpBox = Gtk::manage(new ToolParamBlock());
|
||||||
maskexpBox->pack_start(*showmaskexpMethod, Gtk::PACK_SHRINK, 4);
|
maskexpBox->pack_start(*showmaskexpMethod, Gtk::PACK_SHRINK, 4);
|
||||||
maskexpBox->pack_start(*showmaskexpMethodinv, Gtk::PACK_SHRINK, 4);
|
maskexpBox->pack_start(*showmaskexpMethodinv, Gtk::PACK_SHRINK, 4);
|
||||||
@@ -2545,22 +2510,13 @@ void LocallabExposure::read(const rtengine::procparams::ProcParams* pp, const Pa
|
|||||||
exp->set_visible(pp->locallab.spots.at(index).visiexpose);
|
exp->set_visible(pp->locallab.spots.at(index).visiexpose);
|
||||||
exp->setEnabled(pp->locallab.spots.at(index).expexpose);
|
exp->setEnabled(pp->locallab.spots.at(index).expexpose);
|
||||||
|
|
||||||
if (complexsoft < 2) {
|
|
||||||
if (pp->locallab.spots.at(index).expMethod == "std") {
|
if (pp->locallab.spots.at(index).expMethod == "std") {
|
||||||
expMethod->set_active(0);
|
expMethod->set_active(0);
|
||||||
} else if (pp->locallab.spots.at(index).expMethod == "pde") {
|
} else if (pp->locallab.spots.at(index).expMethod == "pde") {
|
||||||
expMethod->set_active(1);
|
expMethod->set_active(1);
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
expMethod->set_active(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (complexsoft == 0) {
|
|
||||||
laplacexp->setValue(pp->locallab.spots.at(index).laplacexp);
|
laplacexp->setValue(pp->locallab.spots.at(index).laplacexp);
|
||||||
} else {
|
|
||||||
laplacexp->setValue(0.);
|
|
||||||
}
|
|
||||||
|
|
||||||
linear->setValue(pp->locallab.spots.at(index).linear);
|
linear->setValue(pp->locallab.spots.at(index).linear);
|
||||||
balanexp->setValue(pp->locallab.spots.at(index).balanexp);
|
balanexp->setValue(pp->locallab.spots.at(index).balanexp);
|
||||||
gamm->setValue(pp->locallab.spots.at(index).gamm);
|
gamm->setValue(pp->locallab.spots.at(index).gamm);
|
||||||
@@ -2575,53 +2531,23 @@ void LocallabExposure::read(const rtengine::procparams::ProcParams* pp, const Pa
|
|||||||
|
|
||||||
fatamount->setValue(pp->locallab.spots.at(index).fatamount);
|
fatamount->setValue(pp->locallab.spots.at(index).fatamount);
|
||||||
fatdetail->setValue(pp->locallab.spots.at(index).fatdetail);
|
fatdetail->setValue(pp->locallab.spots.at(index).fatdetail);
|
||||||
|
|
||||||
if (complexsoft == 0) {
|
|
||||||
fatlevel->setValue(pp->locallab.spots.at(index).fatlevel);
|
fatlevel->setValue(pp->locallab.spots.at(index).fatlevel);
|
||||||
} else {
|
|
||||||
fatlevel->setValue(1.);
|
|
||||||
}
|
|
||||||
|
|
||||||
fatanchor->setValue(pp->locallab.spots.at(index).fatanchor);
|
fatanchor->setValue(pp->locallab.spots.at(index).fatanchor);
|
||||||
sensiex->setValue(pp->locallab.spots.at(index).sensiex);
|
sensiex->setValue(pp->locallab.spots.at(index).sensiex);
|
||||||
|
|
||||||
if (complexsoft < 2) {
|
|
||||||
structexp->setValue(pp->locallab.spots.at(index).structexp);
|
structexp->setValue(pp->locallab.spots.at(index).structexp);
|
||||||
blurexpde->setValue(pp->locallab.spots.at(index).blurexpde);
|
blurexpde->setValue(pp->locallab.spots.at(index).blurexpde);
|
||||||
} else {
|
|
||||||
structexp->setValue(0.);
|
|
||||||
blurexpde->setValue(5.);
|
|
||||||
}
|
|
||||||
|
|
||||||
expcomp->setValue(pp->locallab.spots.at(index).expcomp);
|
expcomp->setValue(pp->locallab.spots.at(index).expcomp);
|
||||||
black->setValue(pp->locallab.spots.at(index).black);
|
black->setValue(pp->locallab.spots.at(index).black);
|
||||||
|
|
||||||
if (complexsoft < 2) {
|
|
||||||
hlcompr->setValue(pp->locallab.spots.at(index).hlcompr);
|
hlcompr->setValue(pp->locallab.spots.at(index).hlcompr);
|
||||||
hlcomprthresh->setValue(pp->locallab.spots.at(index).hlcomprthresh);
|
hlcomprthresh->setValue(pp->locallab.spots.at(index).hlcomprthresh);
|
||||||
shadex->setValue(pp->locallab.spots.at(index).shadex);
|
shadex->setValue(pp->locallab.spots.at(index).shadex);
|
||||||
shcompr->setValue(pp->locallab.spots.at(index).shcompr);
|
shcompr->setValue(pp->locallab.spots.at(index).shcompr);
|
||||||
expchroma->setValue(pp->locallab.spots.at(index).expchroma);
|
expchroma->setValue(pp->locallab.spots.at(index).expchroma);
|
||||||
} else {
|
|
||||||
hlcompr->setValue(0.);
|
|
||||||
hlcomprthresh->setValue(0.);
|
|
||||||
shadex->setValue(0.);
|
|
||||||
shcompr->setValue(0.);
|
|
||||||
expchroma->setValue(0.);
|
|
||||||
}
|
|
||||||
|
|
||||||
shapeexpos->setCurve(pp->locallab.spots.at(index).excurve);
|
shapeexpos->setCurve(pp->locallab.spots.at(index).excurve);
|
||||||
strexp->setValue(pp->locallab.spots.at(index).strexp);
|
strexp->setValue(pp->locallab.spots.at(index).strexp);
|
||||||
angexp->setValue(pp->locallab.spots.at(index).angexp);
|
angexp->setValue(pp->locallab.spots.at(index).angexp);
|
||||||
|
|
||||||
if (complexsoft < 2) {
|
|
||||||
softradiusexp->setValue(pp->locallab.spots.at(index).softradiusexp);
|
softradiusexp->setValue(pp->locallab.spots.at(index).softradiusexp);
|
||||||
inversex->set_active(pp->locallab.spots.at(index).inversex);
|
inversex->set_active(pp->locallab.spots.at(index).inversex);
|
||||||
} else {
|
|
||||||
softradiusexp->setValue(0.);
|
|
||||||
inversex->set_active(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
enaExpMask->set_active(pp->locallab.spots.at(index).enaExpMask);
|
enaExpMask->set_active(pp->locallab.spots.at(index).enaExpMask);
|
||||||
enaExpMaskaft->set_active(pp->locallab.spots.at(index).enaExpMaskaft);
|
enaExpMaskaft->set_active(pp->locallab.spots.at(index).enaExpMaskaft);
|
||||||
CCmaskexpshape->setCurve(pp->locallab.spots.at(index).CCmaskexpcurve);
|
CCmaskexpshape->setCurve(pp->locallab.spots.at(index).CCmaskexpcurve);
|
||||||
@@ -3184,28 +3110,12 @@ void LocallabExposure::updateExposureGUI2()
|
|||||||
{
|
{
|
||||||
// Update exposure GUI according to expMethod value
|
// Update exposure GUI according to expMethod value
|
||||||
if (expMethod->get_active_row_number() == 0) {
|
if (expMethod->get_active_row_number() == 0) {
|
||||||
pdeFrame->set_sensitive(false);
|
pdeFrame->hide();
|
||||||
laplacexp->set_sensitive(false);
|
fatFrame->hide();
|
||||||
linear->set_sensitive(false);
|
|
||||||
balanexp->set_sensitive(false);
|
|
||||||
gamm->set_sensitive(false);
|
|
||||||
fatFrame->set_sensitive(false);
|
|
||||||
fatamount->set_sensitive(false);
|
|
||||||
fatdetail->set_sensitive(false);
|
|
||||||
fatlevel->set_sensitive(false);
|
|
||||||
fatanchor->set_sensitive(false);
|
|
||||||
softradiusexp->set_sensitive(true);
|
softradiusexp->set_sensitive(true);
|
||||||
} else if (expMethod->get_active_row_number() == 1) {
|
} else if (expMethod->get_active_row_number() == 1) {
|
||||||
pdeFrame->set_sensitive(true);
|
pdeFrame->show();
|
||||||
laplacexp->set_sensitive(true);
|
fatFrame->show();
|
||||||
linear->set_sensitive(true);
|
|
||||||
balanexp->set_sensitive(true);
|
|
||||||
gamm->set_sensitive(true);
|
|
||||||
fatFrame->set_sensitive(true);
|
|
||||||
fatamount->set_sensitive(true);
|
|
||||||
fatdetail->set_sensitive(true);
|
|
||||||
fatlevel->set_sensitive(true);
|
|
||||||
fatanchor->set_sensitive(true);
|
|
||||||
softradiusexp->set_sensitive(false);
|
softradiusexp->set_sensitive(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3226,8 +3136,6 @@ void LocallabExposure::updateExposureGUI3()
|
|||||||
updateExposureGUI2();
|
updateExposureGUI2();
|
||||||
}
|
}
|
||||||
|
|
||||||
pdeFrame->hide();
|
|
||||||
fatFrame->hide();
|
|
||||||
structexp->hide();
|
structexp->hide();
|
||||||
shadex->hide();
|
shadex->hide();
|
||||||
softradiusexp->hide();
|
softradiusexp->hide();
|
||||||
@@ -3240,8 +3148,6 @@ void LocallabExposure::updateExposureGUI3()
|
|||||||
showmaskexpMethodinv->show();
|
showmaskexpMethodinv->show();
|
||||||
} else {
|
} else {
|
||||||
expMethod->show();
|
expMethod->show();
|
||||||
pdeFrame->show();
|
|
||||||
fatFrame->show();
|
|
||||||
structexp->show();
|
structexp->show();
|
||||||
shadex->show();
|
shadex->show();
|
||||||
softradiusexp->show();
|
softradiusexp->show();
|
||||||
|
Reference in New Issue
Block a user