Improve and simplify GUI Retinex
This commit is contained in:
parent
0a024f432e
commit
534cfc15fc
@ -2270,6 +2270,7 @@ TP_LOCALLAB_EXPGRAD;Graduated Filter
|
|||||||
TP_LOCALLAB_EXPMETHOD_TOOLTIP;Standard : use an algorithm similar as main Exposure but in L*a*b* and taking account of deltaE.\n\nLaplacian & PDE : use another algorithm also with deltaE and with Poisson equation to solve Laplacian in Fourier space.\nPDE IPOL, PDE Fattal and Standard can be combined.\nFFTW Fourier Transform is optimized in size to reduce processing time.\nPDE reduce artifacts and noise.
|
TP_LOCALLAB_EXPMETHOD_TOOLTIP;Standard : use an algorithm similar as main Exposure but in L*a*b* and taking account of deltaE.\n\nLaplacian & PDE : use another algorithm also with deltaE and with Poisson equation to solve Laplacian in Fourier space.\nPDE IPOL, PDE Fattal and Standard can be combined.\nFFTW Fourier Transform is optimized in size to reduce processing time.\nPDE reduce artifacts and noise.
|
||||||
TP_LOCALLAB_EXPOSE;Exposure
|
TP_LOCALLAB_EXPOSE;Exposure
|
||||||
TP_LOCALLAB_EXPOSURE_TOOLTIP;In some cases (strong shadows ..) you can use the module "Shadows Highlights"
|
TP_LOCALLAB_EXPOSURE_TOOLTIP;In some cases (strong shadows ..) you can use the module "Shadows Highlights"
|
||||||
|
TP_LOCALLAB_EXPRETITOOLS;Advanced Retinex Tools
|
||||||
TP_LOCALLAB_EXPTOOL;Tools exposure
|
TP_LOCALLAB_EXPTOOL;Tools exposure
|
||||||
TP_LOCALLAB_EXPTRC;Tone Response Curve - TRC
|
TP_LOCALLAB_EXPTRC;Tone Response Curve - TRC
|
||||||
TP_LOCALLAB_FATAMOUNT;Amount
|
TP_LOCALLAB_FATAMOUNT;Amount
|
||||||
|
@ -225,6 +225,7 @@ Locallab::Locallab():
|
|||||||
expblur(Gtk::manage(new MyExpander(true, Gtk::manage(new Gtk::HBox())))),
|
expblur(Gtk::manage(new MyExpander(true, Gtk::manage(new Gtk::HBox())))),
|
||||||
exptonemap(Gtk::manage(new MyExpander(true, Gtk::manage(new Gtk::HBox())))),
|
exptonemap(Gtk::manage(new MyExpander(true, Gtk::manage(new Gtk::HBox())))),
|
||||||
expreti(Gtk::manage(new MyExpander(true, Gtk::manage(new Gtk::HBox())))),
|
expreti(Gtk::manage(new MyExpander(true, Gtk::manage(new Gtk::HBox())))),
|
||||||
|
expretitools(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_EXPRETITOOLS")))),
|
||||||
expsharp(Gtk::manage(new MyExpander(true, Gtk::manage(new Gtk::HBox())))),
|
expsharp(Gtk::manage(new MyExpander(true, Gtk::manage(new Gtk::HBox())))),
|
||||||
expcontrast(Gtk::manage(new MyExpander(true, M("TP_LOCALLAB_LOC_CONTRAST")))),
|
expcontrast(Gtk::manage(new MyExpander(true, M("TP_LOCALLAB_LOC_CONTRAST")))),
|
||||||
expcbdl(Gtk::manage(new MyExpander(true, Gtk::manage(new Gtk::HBox())))),
|
expcbdl(Gtk::manage(new MyExpander(true, Gtk::manage(new Gtk::HBox())))),
|
||||||
@ -2443,6 +2444,10 @@ pe(nullptr)
|
|||||||
expmaskreti->set_tooltip_markup(M("TP_LOCALLAB_MASK_TOOLTIP"));
|
expmaskreti->set_tooltip_markup(M("TP_LOCALLAB_MASK_TOOLTIP"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setExpandAlignProperties(expretitools, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START);
|
||||||
|
expretitools->signal_button_release_event().connect_notify(sigc::bind(sigc::mem_fun(this, &Locallab::foldAllButMe), expretitools));
|
||||||
|
expretitools->setLevel(2);
|
||||||
|
|
||||||
retinexMethod->append(M("TP_RETINEX_LOW"));
|
retinexMethod->append(M("TP_RETINEX_LOW"));
|
||||||
retinexMethod->append(M("TP_RETINEX_UNIFORM"));
|
retinexMethod->append(M("TP_RETINEX_UNIFORM"));
|
||||||
retinexMethod->append(M("TP_RETINEX_HIGH"));
|
retinexMethod->append(M("TP_RETINEX_HIGH"));
|
||||||
@ -2659,27 +2664,35 @@ pe(nullptr)
|
|||||||
ToolParamBlock* const genBox = Gtk::manage(new ToolParamBlock());
|
ToolParamBlock* const genBox = Gtk::manage(new ToolParamBlock());
|
||||||
genBox->pack_start(*auxBox);
|
genBox->pack_start(*auxBox);
|
||||||
|
|
||||||
|
ToolParamBlock* const toolretiBox = Gtk::manage(new ToolParamBlock());
|
||||||
|
|
||||||
retiBox->pack_start(*retinexMethod);
|
retiBox->pack_start(*retinexMethod);
|
||||||
retiBox->pack_start(*fftwreti);
|
retiBox->pack_start(*fftwreti);
|
||||||
retiBox->pack_start(*equilret);
|
retiBox->pack_start(*equilret);
|
||||||
retiBox->pack_start(*chrrt);
|
|
||||||
retiBox->pack_start(*neigh);
|
retiBox->pack_start(*neigh);
|
||||||
retiBox->pack_start(*vart);
|
retiBox->pack_start(*vart);
|
||||||
retiBox->pack_start(*scalereti);
|
retiBox->pack_start(*scalereti);
|
||||||
retiBox->pack_start(*darkness);
|
|
||||||
retiBox->pack_start(*lightnessreti);
|
|
||||||
retiBox->pack_start(*softradiusret);
|
|
||||||
retiBox->pack_start(*limd);
|
retiBox->pack_start(*limd);
|
||||||
retiBox->pack_start(*cliptm);
|
|
||||||
retiBox->pack_start(*offs);
|
retiBox->pack_start(*offs);
|
||||||
retiBox->pack_start(*mMLabels);
|
|
||||||
retiBox->pack_start(*transLabels);
|
toolretiBox->pack_start(*chrrt);
|
||||||
retiBox->pack_start(*transLabels2);
|
toolretiBox->pack_start(*darkness);
|
||||||
retiBox->pack_start(*LocalcurveEditortransT, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor
|
toolretiBox->pack_start(*lightnessreti);
|
||||||
retiBox->pack_start(*LocalcurveEditorgainT, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor
|
toolretiBox->pack_start(*cliptm);
|
||||||
|
toolretiBox->pack_start(*softradiusret);
|
||||||
|
toolretiBox->pack_start(*LocalcurveEditortransT, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor
|
||||||
|
|
||||||
|
toolretiBox->pack_start(*mMLabels);
|
||||||
|
toolretiBox->pack_start(*transLabels);
|
||||||
|
toolretiBox->pack_start(*transLabels2);
|
||||||
|
toolretiBox->pack_start(*LocalcurveEditorgainT, Gtk::PACK_SHRINK, 4);
|
||||||
|
expretitools->add(*toolretiBox, false);
|
||||||
|
retiBox->pack_start(*expretitools, false, false);
|
||||||
|
|
||||||
|
|
||||||
retiBox->pack_start(*expmaskreti, false, false);
|
retiBox->pack_start(*expmaskreti, false, false);
|
||||||
// retiBox->pack_start(*inversret);
|
// retiBox->pack_start(*inversret);
|
||||||
|
|
||||||
retitoolFrame->add(*retiBox);
|
retitoolFrame->add(*retiBox);
|
||||||
genBox->pack_start(*retitoolFrame);
|
genBox->pack_start(*retitoolFrame);
|
||||||
expreti->add(*genBox, false);
|
expreti->add(*genBox, false);
|
||||||
@ -2687,6 +2700,7 @@ pe(nullptr)
|
|||||||
|
|
||||||
panel->pack_start(*expreti, false, false);
|
panel->pack_start(*expreti, false, false);
|
||||||
|
|
||||||
|
|
||||||
// Sharpening
|
// Sharpening
|
||||||
Gtk::HBox* const sharpTitleHBox = Gtk::manage(new Gtk::HBox());
|
Gtk::HBox* const sharpTitleHBox = Gtk::manage(new Gtk::HBox());
|
||||||
Gtk::Label* const sharpLabel = Gtk::manage(new Gtk::Label());
|
Gtk::Label* const sharpLabel = Gtk::manage(new Gtk::Label());
|
||||||
@ -3530,6 +3544,7 @@ void Locallab::foldAllButMe(GdkEventButton* event, MyExpander *expander)
|
|||||||
expmaskexp->set_expanded(expmaskexp == expander);
|
expmaskexp->set_expanded(expmaskexp == expander);
|
||||||
expmasksh->set_expanded(expmasksh == expander);
|
expmasksh->set_expanded(expmasksh == expander);
|
||||||
expmaskcb->set_expanded(expmaskcb == expander);
|
expmaskcb->set_expanded(expmaskcb == expander);
|
||||||
|
expretitools->set_expanded(expretitools == expander);
|
||||||
expmaskreti->set_expanded(expmaskreti == expander);
|
expmaskreti->set_expanded(expmaskreti == expander);
|
||||||
expmasktm->set_expanded(expmasktm == expander);
|
expmasktm->set_expanded(expmasktm == expander);
|
||||||
expmaskbl->set_expanded(expmaskbl == expander);
|
expmaskbl->set_expanded(expmaskbl == expander);
|
||||||
@ -3635,6 +3650,7 @@ void Locallab::writeOptions(std::vector<int> &tpOpen)
|
|||||||
tpOpen.push_back(expshadhigh->get_expanded());
|
tpOpen.push_back(expshadhigh->get_expanded());
|
||||||
tpOpen.push_back(expmaskcb->get_expanded());
|
tpOpen.push_back(expmaskcb->get_expanded());
|
||||||
tpOpen.push_back(expcbdl->get_expanded());
|
tpOpen.push_back(expcbdl->get_expanded());
|
||||||
|
tpOpen.push_back(expretitools->get_expanded());
|
||||||
tpOpen.push_back(expmaskreti->get_expanded());
|
tpOpen.push_back(expmaskreti->get_expanded());
|
||||||
tpOpen.push_back(expreti->get_expanded());
|
tpOpen.push_back(expreti->get_expanded());
|
||||||
tpOpen.push_back(expmasktm->get_expanded());
|
tpOpen.push_back(expmasktm->get_expanded());
|
||||||
@ -3818,7 +3834,7 @@ void Locallab::refChanged(double huer, double lumar, double chromar)
|
|||||||
|
|
||||||
void Locallab::updateToolState(std::vector<int> &tpOpen)
|
void Locallab::updateToolState(std::vector<int> &tpOpen)
|
||||||
{
|
{
|
||||||
if (tpOpen.size() >= 30) {
|
if (tpOpen.size() >= 31) {
|
||||||
expsettings->setExpanded(tpOpen.at(0));
|
expsettings->setExpanded(tpOpen.at(0));
|
||||||
expmaskcol->set_expanded(tpOpen.at(1));
|
expmaskcol->set_expanded(tpOpen.at(1));
|
||||||
expmaskcol1->set_expanded(tpOpen.at(2));
|
expmaskcol1->set_expanded(tpOpen.at(2));
|
||||||
@ -3835,20 +3851,21 @@ void Locallab::updateToolState(std::vector<int> &tpOpen)
|
|||||||
expshadhigh->set_expanded(tpOpen.at(13));
|
expshadhigh->set_expanded(tpOpen.at(13));
|
||||||
expmaskcb->set_expanded(tpOpen.at(14));
|
expmaskcb->set_expanded(tpOpen.at(14));
|
||||||
expcbdl->set_expanded(tpOpen.at(15));
|
expcbdl->set_expanded(tpOpen.at(15));
|
||||||
expmaskreti->set_expanded(tpOpen.at(16));
|
expretitools->set_expanded(tpOpen.at(16));
|
||||||
expreti->set_expanded(tpOpen.at(17));
|
expmaskreti->set_expanded(tpOpen.at(17));
|
||||||
expmasktm->set_expanded(tpOpen.at(18));
|
expreti->set_expanded(tpOpen.at(18));
|
||||||
exptonemap->set_expanded(tpOpen.at(19));
|
expmasktm->set_expanded(tpOpen.at(19));
|
||||||
expmaskbl->set_expanded(tpOpen.at(20));
|
exptonemap->set_expanded(tpOpen.at(20));
|
||||||
expgradvib->set_expanded(tpOpen.at(21));
|
expmaskbl->set_expanded(tpOpen.at(21));
|
||||||
expmaskvib->set_expanded(tpOpen.at(22));
|
expgradvib->set_expanded(tpOpen.at(22));
|
||||||
expvibrance->set_expanded(tpOpen.at(23));
|
expmaskvib->set_expanded(tpOpen.at(23));
|
||||||
expsoft->set_expanded(tpOpen.at(24));
|
expvibrance->set_expanded(tpOpen.at(24));
|
||||||
expblur->set_expanded(tpOpen.at(25));
|
expsoft->set_expanded(tpOpen.at(25));
|
||||||
expsharp->set_expanded(tpOpen.at(26));
|
expblur->set_expanded(tpOpen.at(26));
|
||||||
expcontrast->set_expanded(tpOpen.at(27));
|
expsharp->set_expanded(tpOpen.at(27));
|
||||||
expdenoi->set_expanded(tpOpen.at(28));
|
expcontrast->set_expanded(tpOpen.at(28));
|
||||||
explog->set_expanded(tpOpen.at(29));
|
expdenoi->set_expanded(tpOpen.at(29));
|
||||||
|
explog->set_expanded(tpOpen.at(30));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -59,6 +59,7 @@ private:
|
|||||||
MyExpander* const expblur;
|
MyExpander* const expblur;
|
||||||
MyExpander* const exptonemap;
|
MyExpander* const exptonemap;
|
||||||
MyExpander* const expreti;
|
MyExpander* const expreti;
|
||||||
|
MyExpander* const expretitools;
|
||||||
MyExpander* const expsharp;
|
MyExpander* const expsharp;
|
||||||
MyExpander* const expcontrast;
|
MyExpander* const expcontrast;
|
||||||
MyExpander* const expcbdl;
|
MyExpander* const expcbdl;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user