diff --git a/rtdata/languages/default b/rtdata/languages/default index e17679d35..f9f2711c0 100644 --- a/rtdata/languages/default +++ b/rtdata/languages/default @@ -22,7 +22,7 @@ CURVEEDITOR_EDITPOINT_HINT;Enable edition of node in/out values.\n\nRight-click CURVEEDITOR_HIGHLIGHTS;Highlights CURVEEDITOR_LIGHTS;Lights CURVEEDITOR_LINEAR;Linear -CURVEEDITOR_LOADDLGLABEL;Load curve... +CURVEEDITOR_LOADDLGLABEL;Load curve CURVEEDITOR_MINMAXCPOINTS;Equalizer CURVEEDITOR_NURBS;Control cage CURVEEDITOR_PARAMETRIC;Parametric @@ -2108,8 +2108,8 @@ TP_LOCALLAB_DENOIS;Denoise TP_LOCALLAB_DEHAZ;Strength TP_LOCALLAB_DEPTH;Depth TP_LOCALLAB_LUMONLY;Luminance only -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_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_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_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_FATFRAME_TOOLTIP;PDE Fattal - use Fattal Tone mapping algorithm.\nAnchor allows selection according to the images over or under exposed.\nUseful to increase Luminance for a Second spot near the current and using mask TP_LOCALLAB_FFTW;Use Fast Fourier Transform TP_LOCALLAB_FFTW2;Use Fast Fourier Transform (TIF, JPG,..) @@ -2169,7 +2169,7 @@ TP_LOCALLAB_NOISECHROCOARSE;Chroma coarse (Wav) TP_LOCALLAB_NOISECHRODETAIL;Chroma detail (DCT) TP_LOCALLAB_NOISECHROC_TOOLTIP;If superior to zero, high quality algorithm is enabled.\nCoarse is for slider >=2 TP_LOCALLAB_PREVIEWSEL;Preview selection deltaE -TP_LOCALLAB_PDEFRA;PDE Ipol - Contrast attenuator +TP_LOCALLAB_PDEFRA;PDE IPOL - Contrast attenuator TP_LOCALLAB_FATFRA;PDE Fattal - Dynamic Range Compression TP_LOCALLAB_FATAMOUNT;Amount TP_LOCALLAB_FATDETAIL;Detail @@ -2201,10 +2201,11 @@ TP_LOCALLAB_RESID;Residual Image TP_LOCALLAB_CONTRESID;Contrast TP_LOCALLAB_DEHAFRA;Dehaze TP_LOCALLAB_RETIFRA;Retinex +TP_LOCALLAB_RETITOOLFRA;Retinex Tools TP_LOCALLAB_RETI;Dehaze - Retinex Strong local contrast TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;Adapt these values according to images - if misty images and depending on whether you want to act on the front or the background -TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improve quality and allow big radius.\nThe treatment time depends on the surface to be treated.\nTo be used preferably for large radius.\n\nDimensions can be reduced by a few pixels to optimize FFTW.\nThis optimization can reduce the treatment time by a factor of 2 to 10. -TP_LOCALLAB_RETI_FFTW_TOOLTIP;FFT improve quality and allow big radius.\nThe treatment time depends on the surface to be treated\nThe treatment time depends on the value of scale (be carefull to high values).\nTo be used preferably for large radius.\n\nDimensions can be reduced by a few pixels to optimize FFTW.\nThis optimization can reduce the treatment time by a factor of 2 to 10. +TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improve quality and allow big radius.\nThe treatment time depends on the surface to be treated.\nTo be used preferably for large radius.\n\nDimensions can be reduced by a few pixels to optimize FFTW.\nThis optimization can reduce the treatment time by a factor of 2 to 10.\nIf you select all image, 1 horizontal delimiter and 1 one vertical delimiter must be inside the image. +TP_LOCALLAB_RETI_FFTW_TOOLTIP;FFT improve quality and allow big radius.\nThe treatment time depends on the surface to be treated\nThe treatment time depends on the value of scale (be carefull to high values).\nTo be used preferably for large radius.\n\nDimensions can be reduced by a few pixels to optimize FFTW.\nThis optimization can reduce the treatment time by a factor of 2 to 10.\nIf you select all image, 1 horizontal delimiter and 1 one vertical delimiter must be inside the image. TP_LOCALLAB_TRANSMISSIONGAIN;Transmission gain TP_LOCALLAB_STREN;Compression Strength TP_LOCALLAB_STRGRID;Strength diff --git a/rtengine/procparams.cc b/rtengine/procparams.cc index 012cd729c..1260cf5bb 100644 --- a/rtengine/procparams.cc +++ b/rtengine/procparams.cc @@ -2578,7 +2578,7 @@ LocallabParams::LocallabSpot::LocallabSpot() : // Retinex expreti(false), retinexMethod("high"), - str(0.0), + str(0.2), chrrt(0.0), neigh(50.0), vart(150.0), diff --git a/rtgui/locallab.cc b/rtgui/locallab.cc index da1d3eeb4..684eaa9e4 100644 --- a/rtgui/locallab.cc +++ b/rtgui/locallab.cc @@ -159,7 +159,7 @@ Locallab::Locallab(): maskexpCurveEditorG(new CurveEditorGroup(options.lastlocalCurvesDir, M("TP_LOCALLAB_MASK"))), //Shadows Highlight maskSHCurveEditorG(new CurveEditorGroup(options.lastlocalCurvesDir, M("TP_LOCALLAB_MASK"))), - // Vibrance + // Vibranceretinex curveEditorGG(new CurveEditorGroup(options.lastlocalCurvesDir, M("TP_VIBRANCE_CURVEEDITOR_SKINTONES_LABEL"))), //Blur maskblCurveEditorG(new CurveEditorGroup(options.lastlocalCurvesDir, M("TP_LOCALLAB_MASK"))), @@ -265,7 +265,7 @@ Locallab::Locallab(): gammasktm(Gtk::manage(new Adjuster(M("TP_LOCALLAB_GAMMASKCOL"), 0.05, 5.0, 0.01, 1.))), slomasktm(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SLOMASKCOL"), 0.0, 15.0, 0.1, 0.))), // Retinex - str(Gtk::manage(new Adjuster(M("TP_LOCALLAB_STR"), 0., 100., 0.1, 0.0))), + str(Gtk::manage(new Adjuster(M("TP_LOCALLAB_STR"), 0., 100., 0.1, 0.2))), chrrt(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CHRRT"), 0.0, 100.0, 0.1, 0.0))), neigh(Gtk::manage(new Adjuster(M("TP_LOCALLAB_NEIGH"), MINNEIGH, MAXNEIGH, 0.5, 50., nullptr, nullptr, &retiSlider2neigh, &retiNeigh2Slider))), vart(Gtk::manage(new Adjuster(M("TP_LOCALLAB_VART"), 0.1, 500., 0.1, 150.))), @@ -412,6 +412,7 @@ Locallab::Locallab(): fatFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_FATFRA")))), dehaFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_DEHAFRA")))), retiFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_RETIFRA")))), + retitoolFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_RETITOOLFRA")))), residFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_RESID")))), clariFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_CLARIFRA")))), // retiBox(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_CLARIFRA")))), @@ -1323,6 +1324,7 @@ Locallab::Locallab(): dehaFrame->set_label_align(0.025, 0.5); retiFrame->set_label_align(0.025, 0.5); + retitoolFrame->set_label_align(0.025, 0.5); str->setAdjusterListener(this); @@ -1468,7 +1470,11 @@ Locallab::Locallab(): ToolParamBlock* const scopeBox = Gtk::manage(new ToolParamBlock()); scopeBox->pack_start(*sensih); auxBox->add(*scopeBox); - retiBox->pack_start(*auxBox); + + ToolParamBlock* const genBox = Gtk::manage(new ToolParamBlock()); + genBox->pack_start(*auxBox); + + retiBox->pack_start(*retinexMethod); retiBox->pack_start(*fftwreti); retiBox->pack_start(*equilret); @@ -1483,7 +1489,9 @@ Locallab::Locallab(): retiBox->pack_start(*LocalcurveEditorgainT, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor retiBox->pack_start(*expmaskreti); retiBox->pack_start(*inversret); - expreti->add(*retiBox, false); + retitoolFrame->add(*retiBox); + genBox->pack_start(*retitoolFrame); + expreti->add(*genBox, false); expreti->setLevel(2); panel->pack_start(*expreti, false, false); @@ -6327,9 +6335,9 @@ void Locallab::adjusterChanged(Adjuster * a, double newval) if (getEnabled() && expreti->getEnabled()) { if (a == str) { if (str->getValue() >= 0.1f) { - retiBox->show(); + retitoolFrame->show(); } else { - retiBox->hide(); + retitoolFrame->hide(); } if (listener) { @@ -8113,9 +8121,9 @@ void Locallab::updateSpecificGUIState() } if (str->getValue() >= 0.2f) { - retiBox->show(); + retitoolFrame->show(); } else { - retiBox->hide(); + retitoolFrame->hide(); } diff --git a/rtgui/locallab.h b/rtgui/locallab.h index b73879f8d..872f0e995 100644 --- a/rtgui/locallab.h +++ b/rtgui/locallab.h @@ -406,6 +406,7 @@ private: Gtk::Frame* fatFrame; Gtk::Frame* dehaFrame; Gtk::Frame* retiFrame; + Gtk::Frame* retitoolFrame; Gtk::Frame* residFrame; Gtk::Frame* clariFrame; ToolParamBlock * retiBox;