diff --git a/rtdata/languages/default b/rtdata/languages/default index 4ae3a3edc..5cff0da90 100644 --- a/rtdata/languages/default +++ b/rtdata/languages/default @@ -2542,7 +2542,7 @@ TP_LOCALLAB_FFTW;ƒ - Use Fast Fourier Transform TP_LOCALLAB_FFTW2;ƒ - Use Fast Fourier Transform (TIF, JPG,..) TP_LOCALLAB_FFTMASK_TOOLTIP;Use a Fourier transform for better quality (increased processing time and memory requirements) TP_LOCALLAB_FFTWBLUR;ƒ - Always Use Fast Fourier Transform -TP_LOCALLAB_FULLIMAGE;Calculate the dark-Ev & white-Ev values for the entire image +TP_LOCALLAB_FULLIMAGE;Dark-Ev & white-Ev for the entire image TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Calculates the Ev levels for the entire image. TP_LOCALLAB_GAM;Gamma TP_LOCALLAB_GAMFRA;Tone response curve (TRC) diff --git a/rtengine/iplocallab.cc b/rtengine/iplocallab.cc index 08c9e4d68..a37f34f59 100644 --- a/rtengine/iplocallab.cc +++ b/rtengine/iplocallab.cc @@ -1570,12 +1570,12 @@ void ImProcFunctions::log_encode(Imagefloat *rgb, struct local_params & lp, bool // BENCHFUN const float gray = lp.sourcegray / 100.f; const float shadows_range = lp.blackev; - if(lp.whiteev < 0.5f) { - lp.whiteev = 0.5f; + if(lp.whiteev < 1.f) { + lp.whiteev = 1.f; } float dynamic_range = lp.whiteev - lp.blackev; - if (dynamic_range < 0.5f) { - dynamic_range = 0.5f; + if (dynamic_range < 1.f) { + dynamic_range = 1.f; } const float noise = pow_F(2.f, -16.f); const float log2 = xlogf(lp.baselog); diff --git a/rtgui/locallabtools2.cc b/rtgui/locallabtools2.cc index bc07769da..77fd08b0d 100644 --- a/rtgui/locallabtools2.cc +++ b/rtgui/locallabtools2.cc @@ -4655,7 +4655,7 @@ LocallabLog::LocallabLog(): autocompute(Gtk::manage(new Gtk::ToggleButton(M("TP_LOCALLAB_LOGAUTO")))), logPFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_LOGPFRA")))), blackEv(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BLACK_EV"), -16.0, 0.0, 0.1, -5.0))), - whiteEv(Gtk::manage(new Adjuster(M("TP_LOCALLAB_WHITE_EV"), 0.5, 32.0, 0.1, 10.0))), + whiteEv(Gtk::manage(new Adjuster(M("TP_LOCALLAB_WHITE_EV"), 1., 32.0, 0.1, 10.0))), fullimage(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_FULLIMAGE")))), Autogray(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_AUTOGRAY")))), sourceGray(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SOURCE_GRAY"), 1.0, 100.0, 0.1, 10.0))), @@ -4669,10 +4669,10 @@ LocallabLog::LocallabLog(): // Parameter Log encoding specific widgets autoconn = autocompute->signal_toggled().connect(sigc::mem_fun(*this, &LocallabLog::autocomputeToggled)); - blackEv->setLogScale(2, -8); + // blackEv->setLogScale(2, -8); blackEv->setAdjusterListener(this); - whiteEv->setLogScale(16, 0); + // whiteEv->setLogScale(16, 0); whiteEv->setAdjusterListener(this); fullimageConn = fullimage->signal_toggled().connect(sigc::mem_fun(*this, &LocallabLog::fullimageChanged)); @@ -4800,7 +4800,9 @@ void LocallabLog::read(const rtengine::procparams::ProcParams* pp, const ParamsE autocompute->set_active(spot.autocompute); blackEv->setValue(spot.blackEv); + whiteEv->setValue(spot.whiteEv); + if(whiteEv->getValue() < 1.) whiteEv->setValue(1.); fullimage->set_active(spot.fullimage); Autogray->set_active(spot.Autogray); sourceGray->setValue(spot.sourceGray); diff --git a/rtgui/wavelet.cc b/rtgui/wavelet.cc index c7647798a..909b906ad 100644 --- a/rtgui/wavelet.cc +++ b/rtgui/wavelet.cc @@ -93,7 +93,7 @@ Wavelet::Wavelet() : offset(Gtk::manage(new Adjuster(M("TP_WAVELET_WAVOFFSET"), 0.33, 1.66, 0.01, 1., Gtk::manage(new RTImage("circle-black-small.png")), Gtk::manage(new RTImage("circle-white-small.png"))))), lowthr(Gtk::manage(new Adjuster(M("TP_WAVELET_WAVLOWTHR"), 20., 100., 0.5, 40.))), rescon(Gtk::manage(new Adjuster(M("TP_WAVELET_RESCON"), -100, 100, 1, 0))), - resconH(Gtk::manage(new Adjuster(M("TP_WAVELET_RESCONH"), -100, 100, 1, 0))), + resconH(Gtk::manage(new Adjuster(M("TP_WAVELET_RESCONH"), 0, 100, 1, 0))), reschro(Gtk::manage(new Adjuster(M("TP_WAVELET_RESCHRO"), -100, 100, 1, 0))), resblur(Gtk::manage(new Adjuster(M("TP_WAVELET_RESBLUR"), 0, 100, 1, 0))), resblurc(Gtk::manage(new Adjuster(M("TP_WAVELET_RESBLURC"), 0, 100, 1, 0))),