diff --git a/rtdata/languages/default b/rtdata/languages/default
index 7ede1ac23..361e70910 100644
--- a/rtdata/languages/default
+++ b/rtdata/languages/default
@@ -2232,7 +2232,7 @@ TP_LOCALLAB_BLENDMASKCOL;Blend
TP_LOCALLAB_BLGUID;Guided Filter Luminance
TP_LOCALLAB_BLINV;Inverse
TP_LOCALLAB_BLMED;Median
-TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal - direct blur and noise with all settings.\nInverse - Inverse blur and noise without scope and whithout enhanced algorithm.\nSymmetric - inverse blur and noise with all settings. Be careful some results may be curious
+TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal - direct blur and noise with all settings.\nInverse - Inverse blur and noise without scope and without enhanced algorithm.\nSymmetric - inverse blur and noise with all settings. Be careful some results may be curious
TP_LOCALLAB_BLNORM;Normal
TP_LOCALLAB_BLSYM;Symmetric
TP_LOCALLAB_BLUFR;Smooth - Blur - Noise - Grain
@@ -2415,7 +2415,10 @@ TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Give priority to action on midtones and high lig
TP_LOCALLAB_LMASK_LL_TOOLTIP;Give priority to action on midtones and high lights
TP_LOCALLAB_LOCCONT;Unsharp Mask
TP_LOCALLAB_LOC_CONTRAST;Local contrast & Wavelet Pyramid Ψ
-TP_LOCALLAB_LOC_CONTRASTPYR;Ψ Wavelet Pyramid
+TP_LOCALLAB_LOC_CONTRASTPYR;Ψ Pyramid 1:
+TP_LOCALLAB_LOC_CONTRASTPYRLAB; Clarity & Blend - Graduated - Edge Sharpness
+TP_LOCALLAB_LOC_CONTRASTPYR2;Ψ Pyramid 2:
+TP_LOCALLAB_LOC_CONTRASTPYR2LAB; Contrast by Levels- Tone Mapping(s) - Blur
TP_LOCALLAB_LOG;Encoding log
TP_LOCALLAB_LOGAUTO;Automatic
TP_LOCALLAB_LOGFRA;Source Gray Point
@@ -2578,10 +2581,10 @@ TP_LOCALLAB_SHOWLAPLACE;∆ Laplacian (first)
TP_LOCALLAB_SHOWLC;6 - Mask and modifications
TP_LOCALLAB_SHOWMASK;Show mask
TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Display modifications.\nBeware, you can only view one modification (color and light or Exposure or Shadows-Highlight or TM or CBDL or Retinex MSR or Blur).\n\nUse Mask is before algorihtm shape detection
-TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Show process Fourier:\nShows the different stages of the process.\nLaplace - builds the second derivative according to the threshold (first step).\nFourier -shows the transformed Laplacian with DCT.\nPoisson - show solution of Poisson DCE.\nNormalize - show result whithout normalization luminance.
+TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Show process Fourier:\nShows the different stages of the process.\nLaplace - builds the second derivative according to the threshold (first step).\nFourier -shows the transformed Laplacian with DCT.\nPoisson - show solution of Poisson DCE.\nNormalize - show result without normalization luminance.
TP_LOCALLAB_SHOWMNONE;None
-TP_LOCALLAB_SHOWMODIF;Show modifications whithout mask
-TP_LOCALLAB_SHOWMODIFMASK;Show modifications whith mask
+TP_LOCALLAB_SHOWMODIF;Show modifications without mask
+TP_LOCALLAB_SHOWMODIFMASK;Show modifications with mask
TP_LOCALLAB_SHOWNORMAL;Normalize luminance (no)
TP_LOCALLAB_SHOWPLUS;1+* - Mask and modifications - Smooth-Blur & Denoise
TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ)
diff --git a/rtgui/locallab.cc b/rtgui/locallab.cc
index 99b7b63bd..345caf948 100644
--- a/rtgui/locallab.cc
+++ b/rtgui/locallab.cc
@@ -227,6 +227,8 @@ Locallab::Locallab():
expretitools(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_EXPRETITOOLS")))),
expsharp(Gtk::manage(new MyExpander(true, Gtk::manage(new Gtk::HBox())))),
// expcontrastpyr(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_LOC_CONTRASTPYR")))),
+// expcontrastpyr2(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_EXPRETITOOLS")))),
+ expcontrastpyr2(Gtk::manage(new MyExpander(false, Gtk::manage(new Gtk::HBox())))),
expcontrastpyr(Gtk::manage(new MyExpander(false, Gtk::manage(new Gtk::HBox())))),
expcontrast(Gtk::manage(new MyExpander(true, Gtk::manage(new Gtk::HBox())))),
// expcontrast(Gtk::manage(new MyExpander(true,M("TP_LOCALLAB_LOC_CONTRAST")))),
@@ -3091,6 +3093,17 @@ pe(nullptr)
gradwavBox->pack_start(*angwav);
gradwavFrame->add(*gradwavBox);
+ Gtk::HBox* const LCTitleHBox2 = Gtk::manage(new Gtk::HBox());
+ Gtk::Label* const LCLabel2 = Gtk::manage(new Gtk::Label());
+ LCLabel2->set_markup(Glib::ustring("") + escapeHtmlChars(M("TP_LOCALLAB_LOC_CONTRASTPYR2")) + Glib::ustring("") + escapeHtmlChars(M("TP_LOCALLAB_LOC_CONTRASTPYR2LAB")));
+ LCLabel2->set_alignment(Gtk::ALIGN_START, Gtk::ALIGN_CENTER);
+ LCTitleHBox2->pack_start(*LCLabel2, Gtk::PACK_EXPAND_WIDGET, 0);
+ expcontrastpyr2->setLabel(LCTitleHBox2);
+
+ setExpandAlignProperties(expcontrastpyr2, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START);
+ expcontrastpyr2->signal_button_release_event().connect_notify(sigc::bind(sigc::mem_fun(this, &Locallab::foldAllButMe), expcontrastpyr2));
+ expcontrastpyr2->setLevel(2);
+
edgFrame->set_label_align(0.025, 0.5);
wavedg->set_active(false);
edgFrame->set_label_widget(*wavedg);
@@ -3179,7 +3192,7 @@ pe(nullptr)
Gtk::HBox* const LCTitleHBox = Gtk::manage(new Gtk::HBox());
Gtk::Label* const LCLabel = Gtk::manage(new Gtk::Label());
// RTImage* const LCImage2 = Gtk::manage(new RTImage("wavelets.png"));
- LCLabel->set_markup(Glib::ustring("") + escapeHtmlChars(M("TP_LOCALLAB_LOC_CONTRASTPYR")) + Glib::ustring(""));
+ LCLabel->set_markup(Glib::ustring("") + escapeHtmlChars(M("TP_LOCALLAB_LOC_CONTRASTPYR")) + Glib::ustring("") + escapeHtmlChars(M("TP_LOCALLAB_LOC_CONTRASTPYRLAB")));
LCLabel->set_alignment(Gtk::ALIGN_START, Gtk::ALIGN_CENTER);
// LCTitleHBox->pack_start(*LCImage2, Gtk::PACK_SHRINK, 0);
LCTitleHBox->pack_start(*LCLabel, Gtk::PACK_EXPAND_WIDGET, 0);
@@ -3189,19 +3202,21 @@ pe(nullptr)
expcontrastpyr->signal_button_release_event().connect_notify(sigc::bind(sigc::mem_fun(this, &Locallab::foldAllButMe), expcontrastpyr));
expcontrastpyr->setLevel(2);
ToolParamBlock* const blurcontBox = Gtk::manage(new ToolParamBlock());
+ ToolParamBlock* const blurcontBox2 = Gtk::manage(new ToolParamBlock());
blurcontBox->pack_start(*clariFrame);
blurcontBox->pack_start(*gradwavFrame);
blurcontBox->pack_start(*edgFrame);
- blurcontBox->pack_start(*contFrame);
- blurcontBox->pack_start(*compreFrame);
+ blurcontBox2->pack_start(*contFrame);
+ blurcontBox2->pack_start(*compreFrame);
- if (complexsoft < 2) {
- blurcontBox->pack_start(*compFrame);
- }
+// if (complexsoft < 2) {
+ blurcontBox2->pack_start(*compFrame);
+// }
- blurcontBox->pack_start(*blurlevelFrame);
+ blurcontBox2->pack_start(*blurlevelFrame);
expcontrastpyr->add(*blurcontBox, false);
+ expcontrastpyr2->add(*blurcontBox2, false);
if (showtooltip) {
fatdet->set_tooltip_text(M("TP_LOCALLAB_COMPFRAME_TOOLTIP"));
@@ -3235,6 +3250,7 @@ pe(nullptr)
// if (complexsoft < 2) {
contrastBox->pack_start(*expcontrastpyr);
+ contrastBox->pack_start(*expcontrastpyr2);
// contrastBox->pack_start(*clariFrame);
// }
@@ -4034,6 +4050,7 @@ void Locallab::foldAllButMe(GdkEventButton* event, MyExpander *expander)
exptonemap->set_expanded(exptonemap == expander);
expreti->set_expanded(expreti == expander);
expsharp->set_expanded(expsharp == expander);
+ expcontrastpyr2->set_expanded(expcontrastpyr2 == expander);
expcontrastpyr->set_expanded(expcontrastpyr == expander);
expcontrast->set_expanded(expcontrast == expander);
expcbdl->set_expanded(expcbdl == expander);
@@ -4165,6 +4182,7 @@ void Locallab::writeOptions(std::vector &tpOpen)
tpOpen.push_back(expsoft->get_expanded());
tpOpen.push_back(expblur->get_expanded());
tpOpen.push_back(expsharp->get_expanded());
+ tpOpen.push_back(expcontrastpyr2->get_expanded());
tpOpen.push_back(expcontrastpyr->get_expanded());
tpOpen.push_back(expcontrast->get_expanded());
tpOpen.push_back(expdenoi->get_expanded());
@@ -4343,7 +4361,7 @@ void Locallab::refChanged(double huer, double lumar, double chromar)
void Locallab::updateToolState(std::vector &tpOpen)
{
- if (tpOpen.size() >= 33) {
+ if (tpOpen.size() >= 34) {
expsettings->setExpanded(tpOpen.at(0));
expmaskcol->set_expanded(tpOpen.at(1));
expmaskcol1->set_expanded(tpOpen.at(2));
@@ -4373,10 +4391,11 @@ void Locallab::updateToolState(std::vector &tpOpen)
expsoft->set_expanded(tpOpen.at(26));
expblur->set_expanded(tpOpen.at(27));
expsharp->set_expanded(tpOpen.at(28));
- expcontrastpyr->set_expanded(tpOpen.at(29));
- expcontrast->set_expanded(tpOpen.at(30));
- expdenoi->set_expanded(tpOpen.at(31));
- explog->set_expanded(tpOpen.at(32));
+ expcontrastpyr2->set_expanded(tpOpen.at(29));
+ expcontrastpyr->set_expanded(tpOpen.at(30));
+ expcontrast->set_expanded(tpOpen.at(31));
+ expdenoi->set_expanded(tpOpen.at(32));
+ explog->set_expanded(tpOpen.at(33));
}
}
diff --git a/rtgui/locallab.h b/rtgui/locallab.h
index 2a82ad353..4d187ed1a 100644
--- a/rtgui/locallab.h
+++ b/rtgui/locallab.h
@@ -61,6 +61,7 @@ private:
MyExpander* const expreti;
MyExpander* const expretitools;
MyExpander* const expsharp;
+ MyExpander* const expcontrastpyr2;
MyExpander* const expcontrastpyr;
MyExpander* const expcontrast;
MyExpander* const expcbdl;