diff --git a/rtdata/languages/default b/rtdata/languages/default index f528ba714..70e40ed2d 100644 --- a/rtdata/languages/default +++ b/rtdata/languages/default @@ -2203,8 +2203,8 @@ TP_LOCALLAB_DEHAFRA;Dehaze TP_LOCALLAB_RETIFRA;Retinex 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.\nThis optimization is not possible if 2 delimiters of the Spot (1 vertical and 1 horizontal on four) are outside 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.\nThis optimization is not possible if 2 delimiters of the Spot (1 vertical and 1 horizontal on four) are outside the image +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.\nThis optimization is not possible if 2 delimiters of the Spot (1 vertical and 1 horizontal on four) are outside the image.\nif you want to select quasi all image, use 'shape RT-spot area = rectangle', transition=100., spot delimiters near boders images with 1 spot 'vertical' and 1 spot 'horizontal' inside image and the 2 others very slightly outside. TP_LOCALLAB_TRANSMISSIONGAIN;Transmission gain TP_LOCALLAB_STREN;Compression Strength TP_LOCALLAB_STRGRID;Strength diff --git a/rtengine/iplocallab.cc b/rtengine/iplocallab.cc index 7aa5d7cf6..36df0dfe5 100644 --- a/rtengine/iplocallab.cc +++ b/rtengine/iplocallab.cc @@ -251,7 +251,7 @@ struct local_params { int it; int guidb; float epsb; - int trans; + float trans; float transweak; float transgrad; int dehaze; @@ -652,7 +652,7 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall float blurexpo = (float) locallab.spots.at(sp).blurexpde; float blurcolor = (float) locallab.spots.at(sp).blurcolde; float blurSH = (float) locallab.spots.at(sp).blurSHde; - int local_transit = locallab.spots.at(sp).transit; + float local_transit = locallab.spots.at(sp).transit; float local_transitweak = (float)locallab.spots.at(sp).transitweak; float local_transitgrad = (float)locallab.spots.at(sp).transitgrad; float radius = (float) locallab.spots.at(sp).radius; diff --git a/rtengine/procparams.cc b/rtengine/procparams.cc index 5d6d3f2ba..012cd729c 100644 --- a/rtengine/procparams.cc +++ b/rtengine/procparams.cc @@ -2425,7 +2425,7 @@ LocallabParams::LocallabSpot::LocallabSpot() : centerY(0), circrad(18), qualityMethod("enh"), - transit(60), + transit(60.), thresh(2.0), iter(2.0), balan(1.0), diff --git a/rtengine/procparams.h b/rtengine/procparams.h index 9619262bd..44298a33d 100644 --- a/rtengine/procparams.h +++ b/rtengine/procparams.h @@ -972,7 +972,7 @@ struct LocallabParams { int centerY; int circrad; Glib::ustring qualityMethod; // none, std, enh, enhsup, contr, sob2 - int transit; + double transit; double thresh; double iter; double balan; diff --git a/rtgui/controlspotpanel.cc b/rtgui/controlspotpanel.cc index 3a3830c40..5d739a0e1 100644 --- a/rtgui/controlspotpanel.cc +++ b/rtgui/controlspotpanel.cc @@ -62,7 +62,7 @@ ControlSpotPanel::ControlSpotPanel(): centerX_(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CENTER_X"), -1000, 1000, 1, 0))), centerY_(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CENTER_Y"), -1000, 1000, 1, 0))), circrad_(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CIRCRADIUS"), 2, 150, 1, 18))), - transit_(Gtk::manage(new Adjuster(M("TP_LOCALLAB_TRANSITVALUE"), 5, 99, 1, 60))), + transit_(Gtk::manage(new Adjuster(M("TP_LOCALLAB_TRANSITVALUE"), 5., 100., 0.1, 60.))), thresh_(Gtk::manage(new Adjuster(M("TP_LOCALLAB_THRESDELTAE"), 0.0, 10.0, 0.1, 2.0))), iter_(Gtk::manage(new Adjuster(M("TP_LOCALLAB_PROXI"), 0.2, 10.0, 0.1, 2.0))), balan_(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BALAN"), 0.2, 2.5, 0.1, 1.0, Gtk::manage(new RTImage("rawtherapee-logo-16.png")), Gtk::manage(new RTImage("circle-white-small.png"))))), @@ -955,7 +955,7 @@ void ControlSpotPanel::adjusterChanged(Adjuster* a, double newval) } if (a == transit_) { - row[spots_.transit] = transit_->getIntValue(); + row[spots_.transit] = transit_->getValue(); if (listener) { listener->panelChanged(EvLocallabSpotTransit, transit_->getTextValue()); @@ -2100,7 +2100,7 @@ void ControlSpotPanel::setDefaults(const rtengine::procparams::ProcParams * defP centerX_->setDefault((double)defSpot->centerX); centerY_->setDefault((double)defSpot->centerY); circrad_->setDefault((double)defSpot->circrad); - transit_->setDefault((double)defSpot->transit); + transit_->setDefault(defSpot->transit); thresh_->setDefault(defSpot->thresh); iter_->setDefault(defSpot->iter); balan_->setDefault(defSpot->balan); diff --git a/rtgui/locallab.cc b/rtgui/locallab.cc index bef14d57b..518cc1096 100644 --- a/rtgui/locallab.cc +++ b/rtgui/locallab.cc @@ -6971,7 +6971,7 @@ std::vector Locallab::getCurvePoints(ThresholdSelector* tAdjuster) const chromaMean = (1.0 - chromaMean) * transitionWeighting + chromaMean; } else if (transitionWeighting < 0.0) { // negative values -> give more weight to Pastels - chromaMean = chromaMean * transitionWeighting + chromaMean; + chromaMean = chromaMean * transitionWeighting + chromaMean; } // point at the location of the Top cursor, at the end of the first linear transition and the beginning of the second one