598 Commits

Author SHA1 Message Date
Desmis
f22482c204
Local adjustments - Strength control on Spot - tools - issue 6221 (#6223)
* Add strength to local contrast and wavelet

* Added strength to Color and Light

* Added strength to Denoise

* Added strength to shadows highlight Tone equalizer

* Added strength to Dynamic Range and exposure

* Added strength to Tone mapping

* Small improvment to Dynamic Range
2021-05-04 07:27:55 +02:00
Desmis
717948cf09
Local adjustments - Normalize luminance - improvment Preview TM - Retinex - Remove D.Range (#6185)
* Enable dynamic range - settings normalize luminance

* Change range DR sigma offset

* improve normalize_mean_dt with mean std before

* Save work on normalize dynamic range

* Improve normalize for TM

* Added LA retinex to normalize_mean

* Clean and optimize code

* Disabled normalize DR - improve TM and Retinex

* Clean code - first part

* Clean code - part two

* Change 2 default values Retinex

* Change order TM and Retinex in process

* remove the order number in - add tool to current spot -

* Fixed bug in TM

* Some change Retinex - default...

* optimize mean sigma

* cleanup for mean_sig

* Fix some cppcheck issues

* convert one large loop into three loops to avoid performance penalty on machines with 4-way L1 cache

Co-authored-by: Ingo Weyrich <heckflosse67@gmx.de>
2021-03-28 12:55:29 +02:00
Desmis
537fa73d3f
Local adjustments - Log encoding - Ciecam16 ContrastJ - contrastQ - contrast threshold (#6169)
* Added contrast threshold Log encoding

* Improve contrast threshold

* Chanhe tooltip

* Change sign threshold when contrast negative

* Another change threshold with contrast Q and J
2021-03-15 07:57:25 +01:00
Lawrence Lee
7e436a44d6 Merge branch 'dev' of https://github.com/Beep6581/RawTherapee into spot-removal-tool 2021-03-06 16:41:40 -08:00
Desmis
0bf7c4e56c
Local adjustments - Added Guidedfilter to avoid color shift (#6149)
* Added Guidedfilter to avoid color shift

* Various improvment to avoid color shift

* Small change to mint maxt

* local adjustments avoid color shift: reduce memory usage by width * height * 8 byte if Soft Radius > 0

* Remove StopWatch

* local adjustments avoid color shift: speedup for last loop

* cleanups

* one more cleanup

* Added checkbox Munsell correction only - uniform perceptual lab

* Refine some settings

* Clean-up - other small refinement

Co-authored-by: Ingo Weyrich <heckflosse67@gmx.de>
2021-03-03 18:49:55 +01:00
Desmis
b58f643d59
Local adjustments - Grain - various improvment - see issue #2460 (#6120)
* Fixed bad behavior saturation issue 6117

* Reenable scalegr for grain

* some changes to grain

* Init lagrain

* Various improvment GUI - gamma

* Change basic - normal grain
2021-02-27 08:13:44 +01:00
Thanatomanic
de15da1d59
Fix new color propagation method (#6109)
* Fixed artifacts thanks to Alberto

* Added blur to Color propagation

* Clean format code - small improvments

* color propagation: Enable old mode at blur = 0

* Improve GUI

* color propagation: smooth progress bar for blur > 0

* change label

* Some cleanups

* color propagation: small speedup for blur > 0

* color propagation: speedup for blur > 0 when region with clipped highlights is small

* Speed-up for blur=1 - clean GUI code

* color propagation: cleanups

* Harmonize events in tonecurve.cc

* tonecurve.cc : cleanup

* Highlight reconstruction: small changes to gui

* Use Gtk::Box instead of Gtk::VBox

* Change maximum number of blur levels to 4

* Suppress BENCHFUN

* Suppress bad commit locallabtools

Co-authored-by: Desmis <jdesmis@gmail.com>
Co-authored-by: Ingo Weyrich <heckflosse67@gmx.de>
2021-02-18 13:36:54 +01:00
Desmis
6ad419f189
Local adjustments - Denoise - improvments with Non Local means issue #6087 (#6091)
* Improvment to denoise

* Initialize nlmeans - thanks to Alberto and Ingo

* Added 2 sliders max_patch and max_radius

* Added Frame Non-local means

* Improve GUI and tooltips - french

* Change dfault detail - and comment code

* Change label

* Adapt English tooltip

* Change GUI for NLmeans

* Change order GUI denoise

* Some changes to enable DCT - labels and tooltips

* French labels tooltip

* Change order combobox mode denoise - labels - tooltips

* Change tooltip Denoise based on luminance mask

* Change a tooltip

* Removes unnecessary code

* Nlmeans add gamma to preserve structure or reinforce denoise

* Change gamma tooltip

* Change tooltip Recovery denoise

* Disabled nlmeans if skip > 5

* Change tooltip - size limit spot Nlmeans 150-150

* Change gamma Nlmeans

* Supress display console

* Speedup for gammalog and igammalog, #6087

* SSE code for (i)gammalog, #6087

Co-authored-by: Ingo Weyrich <heckflosse67@gmx.de>
2021-02-05 16:24:43 +01:00
Desmis
6b1e5d6181
Ciecam - Take into account issue #6022 choice between classic - symmetric - mixed - for cat02/16 (#6079)
* Change mode cat02-16 auto

* Change tooltip
2021-01-30 07:35:07 +01:00
Desmis
ea6bb8fcf7
Local adjustments - Retinex - Last Recovery based on luminance mask (#6062)
* LA Retinex GUI for Recovery based on luminance mask

* LA Retinex Enable Recovery based on luminance mask
2021-01-15 12:29:46 +01:00
Desmis
58feb50b33
Local adjustments - CBDL Luminance - Recovery based on luminance mask (#6060)
* LA CBDL GUI for Recovery based on luminance mask

* Improve tooltips
2021-01-14 14:21:01 +01:00
Desmis
5e95b2e5e2
Local adjustments - Tone Mapping - Recovery based on luminance mask (#6059)
* LA TM GUI for Recovery based on luminance mask

* LA TM enable Recovery based on luminance mask
2021-01-14 07:41:25 +01:00
Desmis
13bd5c0681
LA denoise - Improve Recovery based on luminance mask with chominance slider (#6058) 2021-01-13 12:28:09 +01:00
Desmis
8037457a8d
Local adjustment - local contrast - wavelet - Recovery based on luminance mask (#6057)
* LA GUI Lc and Wavelet - recovery based on luminance mask

* Enable LA Lc wavelet Recovery based on luminance mask
2021-01-12 15:14:56 +01:00
Desmis
0ba18ab687
Local adjustments - Vibrance and Warm Cool - Recovery based on luminance mask (#6055)
* GUI for Vibrance Recovery based on luminance mask

* Enable LA Vibrance Recovery based on luminance mask
2021-01-12 06:58:21 +01:00
Desmis
efb601c028
Local adjustments - Shadows highlights - Recovery based on luminance mask (#6050)
* LA GUI for recovery using luminance mask

* LA Shadows Highlights Enable Recovery based on luminance mask
2021-01-08 13:17:28 +01:00
Desmis
5df1478320
Local adjustments - Dynamic range and exposure - Recovery based on luminance mask (#6046)
* GUI for recovery mask - Log encoding

* Enable recovery Log encoding with luminance mask

* GUI for exposure

* Improve code with maskrecov

* Enable recovery based on luminance mask for Dynalic Range and exposure

* Change tooltips

* Change boxblur
2021-01-05 07:50:22 +01:00
Desmis
b8d5a3d9fb
Local adjustments - Log encoding - Recovery based on mask luminance (#6038)
* GUI for recovery mask - Log encoding

* Enable recovery Log encoding with luminance mask
2021-01-01 12:05:33 +01:00
Desmis
d118801561
LA denoise recovery gray (#6037) 2020-12-30 10:12:32 +01:00
Desmis
bad08bfe1d
Local adjustments - Color and light - Recovery based on luminance mask (#6035)
* Init GUI color mask recovery

* Enable recovery Color and Light with mask

* Disabled invmaskd in color and light

* Hide decay in standard - added tooltips

* Change tooltips

* Change normal to simple for all defaults mask
2020-12-29 10:27:57 +01:00
Desmis
94f54b6443
Local adjustments - Denoise and Guided Filter - Recovery based on luminance mask (#6032)
* Slider recovery threshold guidedfilter

* Enable GuidedFilter recovery based on mask

* Enable inverse GF recovery

* Small changes GUI

* Recovery GUI denoise LA

* Enable recovery denoise with mask luminance

* Fixed bad compilation error

* Fixed bad behavior GUI expert - basic

* Another fixed bad behavior GUI

* First changes and verifications algo and GUI

* Others GUI modifications

* Fixed bug compilation and reset and clean code

* Some changes in algo - new tooltip

* Added calcdif to denoise - prepare GUI - change some tooltips

* Change tooltips

* Change some settings

* Small Change settings default curve denoise
2020-12-27 08:14:51 +01:00
Desmis
36cd2bc8ba
Local adjustment denoise - added Laplacian to detail threshold DCT (#6027)
* Comment code

* Change GUI place edge detection

* added usemask in reset

* Added sk gaussian blur edge DCT

* Improve Laplacian threshold detail DCT
2020-12-19 07:46:12 +01:00
Desmis
e3af94e499 Clean code and tooltip 2020-12-15 22:19:13 +01:00
Desmis
f310836890 Improve reinforce denoise local contrast using mask 2020-12-14 09:19:27 +01:00
Desmis
a0edd97ca3 LA denoise local contrast mask 2020-12-12 14:46:11 +01:00
Desmis
37f4066276 LA denoise equalizer hue 2020-12-11 07:36:11 +01:00
Desmis
6f9da68883
Ciecam - added cam16 to cam02 (#6017)
* First change cat02 cat16

* Enable cat16 and cat02

* Clean comment code - change history msg

* Change some labels and tooltips with ciecam0216

* Change default settings

* Others default label and tooltip changes
2020-12-09 07:49:54 +01:00
Ingo Weyrich
19e3833e66 Merge branch 'dev' into spot-removal-tool 2020-11-24 17:16:41 +01:00
rom9
e635030650
FilmNegative: non-raw file support and better accuracy (#5798)
* Added support for non-raw files to the film negative tool. The tool is now under the "Color" tab. Moved the entire filmneg code downstream, right after input profile conversion.
Usage changes a bit: White Balance must be set to the _backlight_ color temperature. Added two more sliders to color-balance the picture after negative inversion. Legacy inversion method kept for compatibility with processing profiles saved by RT v5.7 or 5.8 (only if Film Negative was enabled). Should be removed in a future version.
There is still an issue with DCP profiles that need the look table to be active to work properly. Using a simple matrix input profile (or just camera standard) is recommended for now.

* The user can now choose to perform inversion before or after input colorspace conversion.
Seamless backwards compatibility with previous processing profiles; upgrading from a previous version now gives an (almost) identical output as before.
Generalised the concept of film base values: the processing profile now contains a pair of RGB triplets, "reference input" and "reference output", which makes it much more straightforward to compute the output multipliers.

* Added support for `RGB` data type to putToKeyFile, removed the now unused `RGB::toVector()` method. Some cleanup.

* Spot balance picker now stays active indefinitely. Can be disabled by right-clicking, too.

* Removed film negative from `filterRawRefresh` condition, since the new version does not require raw rendering anymore.

* The Output Level slider is now exponential, so it should feel more familiar to use (similar to the exposure compensation slider).

* Removed old `RedBase`, `GreenBase`, `BlueBase` keys from the PP3 file after params upgrade. Keys are only kept if the file only undergoes batch edit (hence no params upgrade was done).

* Made the balance sliders exponential and centered at zero. Now they should be a bit smoother and possibly more user-friendly.

* Changed adjusters' step to more useful values, they were too fine-grained and hard to adjust using the +/- spinbutton.
Increased max ratio value from 3 to 5, as i found an old negative needing a very high blue channel exponent.

* Added an initial processing profile for film negative inversion, to be provided as a bundled profile.

* Removed Output Level and balance sliders when in batch mode: since the effect of these sliders is dependent on the reference input values, those values needed to be copied as well. And, touching any of the sliders needed to flag all three as dirty. All this felt more confusing than useful.
It should be sufficient (and clearer) to copy/paste the params, and then fine-tune the balance on individual pictures when needed.

* Set bayer demosaic method to RCD in the bundled "Film Negative" processing profile. RCD seems to play a bit better with Capture Sharpening in the presence of film grain, compared to Amaze.
This will favor new users starting with all-defaults settings, hence having Capture Sharpening enabled by default.

* Removed incorrect "contrast" term from the "Reference exponent" label. This parameter adjusts the image _gamma_, not its contrast.
2020-11-21 13:29:47 +01:00
Ingo Weyrich
28739b8400 dehaze saturation adjuster for local adjustments, #5972 2020-11-08 11:36:31 +01:00
Ingo Weyrich
c49e47d81f Merge branch 'dev' into dehaze_blend 2020-11-07 11:50:09 +01:00
Desmis
ed01656a57
Local adjustments - Various improvment Log encoding - Basic - Standard - Advanced (#5979)
* First LA log encoding ciecam

* Some changes hide show and tooltip

* Change label - tooltip

* Change max slider shadow

* Fixed bad behavior cat02 adaptation in some cases

* Another fix Cat02 GUI

* LA log encode add ciecam saturation

* LA log encoding - added contrast J ciecam

* LA Log encode various changes GUI labels tooltips

* Change 2 tooltips

* Clean code

* Save provisory work

* Save GUI mask Log

* GUI part 2

* Enable basic standard advanced Log encoding

* Small change tooltip

* Save provisory work mask Log

* Another provisory work mask

* Enable mask Log encoding

* Hide graduatef filter Log - basic

* Add brightness colorfulness - advanced

* Change labels tooltip Log auto

* Clean ciecam local code and comment

* Change label and tooltip automatic

* Added strenth log encoding

* Change strength tooltip Log encoding

* Another change label

* Change standard advance denoi

* Enable maskbackground curve mask
2020-11-07 08:50:33 +01:00
Ingo Weyrich
f1b19fa664 Merge branch 'dev' into dehaze_blend 2020-11-06 13:41:44 +01:00
Desmis
7fd5707061
Local adjustments - Log encoding - addition of ciecam processes (#5973)
* First LA log encoding ciecam

* Some changes hide show and tooltip

* Change label - tooltip

* Change max slider shadow

* Fixed bad behavior cat02 adaptation in some cases

* Another fix Cat02 GUI

* LA log encode add ciecam saturation

* LA log encoding - added contrast J ciecam

* LA Log encode various changes GUI labels tooltips

* Change 2 tooltips

* Clean code
2020-11-02 13:54:34 +01:00
Desmis
95df31b296 added cat02 adpatation to log encoding 2020-10-29 15:08:20 +01:00
Ingo Weyrich
31a9cf3fe0 Haze removal: Allow blend between normal and luminance mode, #5972 2020-10-29 12:20:45 +01:00
Desmis
27c4c546ef Added complex method standard advanced to ciecam02 2020-10-25 09:35:03 +01:00
Lawrence37
eb01f99bf2
Merge pull request #5814 from Lawrence37/perspective-lines
GUI improvements for perspective correction
2020-10-08 09:55:37 -07:00
Desmis
f168c9b48f
Local adjustments - tooltip and GUI for blur denoise (#5932)
* Change tooltip french

* Update labels tooltip french

* Changes TM - sharp - CBDL

* Others changes TM CBDL

* French tooltip denoise - blur

* Change french tooltips denoise blur

* Change combobox blurmethod by checkbox invbl

* Change tooltip blur-denoise

* another change denoise tooltip

* Change one tooltip luminance noise reduction
2020-10-04 21:15:01 +02:00
Desmis
94ec1bbd45
Local adjustments - various change to labels history GUI combobox denoise (#5914)
* from localdenoise Change GUI showmask - GUI exposure

* from branch localgflc - Change combobox settings hide-show by a checkbox

* Fixed bad behavior show Hide settings

* Clean default - change labels

* Change labels first

* Change labels 2

* Change label 3

* Merge with dev - Labels 3

* Label 4

* label 5

* Label 6

* Label 7 - tooltips

* Label 8

* Labels 9

* All string set to empty in else case updateAdviceTooltips

* From localgflc combobox quamethod denoise

* Change labels and history message
2020-09-21 09:44:23 +02:00
Desmis
5b97e0cde3
Local adjustments - Various improvment to GUI - labels - tooltip (#5911)
* from localdenoise Change GUI showmask - GUI exposure

* from branch localgflc - Change combobox settings hide-show by a checkbox

* Fixed bad behavior show Hide settings

* Clean default - change labels

* Change labels first

* Change labels 2

* Change label 3

* Merge with dev - Labels 3

* Label 4

* label 5

* Label 6

* Label 7 - tooltips

* Label 8

* Labels 9

* All string set to empty in else case updateAdviceTooltips
2020-09-20 09:49:56 +02:00
Desmis
467bac3dea
Wavelet levels: denoise and guided filter with hue curve and local contrast (#5894)
* First wavelet denoise

* Gui for wavel denoise

* First version local contrast and denoise

* Second version local contrast and denoise

* second version GUI equalizer

* enable equalizer local contrast denoise 1234

* change local contrast curve defaut

* disable local contrast when curve 1

* denmethod in advanced - standard

* Simulate slider denoise with curve

* Some various chnages

* Chnage reference local contrast

* GUI part reference local contrast

* Enable reference noise mix denoise for local contrast denoise

* Improvment to reference local contrast denoise

* Display comment in console

* Best format string in console

* Change agressive denoise limit to 50 - added tooltip

* Added method quality denoise - change madL in ftblockdn

* Change equalizer 1234 settings - added high level local contrast

* added high levels local contrast curve

* Fixed sigma local contrast

* clean format code

* Some improvments

* normalize level slider high level threshold

* change ordonate curve high level contrast

* Fixed bad level for curve high levels - simplify GUI standard

* several changes - guidefilter final - new double slider threshold

* save provisory work

* save GUI work GF threshold

* save provisory work

* Fixed some bad behavior GUI

* save GUI Hue GF

* Curve Hue for GF

* OMP for hue GF

* addes noisevarhue and fixed some bug

* save GUI equalizer hue

* enable equalizer hue

* Fixed bad behavior GUI in advanced mode

* change some default values

* Others change default values

* Change in progressivity slider threshold local contrast

* simplifie algorithm and GUI

* Added tooltip and chnage some labels

* Change labels and tooltip wavelet denoise

* added level 5 denoise

* Change typo in label guided theshold

* Various changes labels tooltip

* Change minimum wavelet level

* Added level 5 to denoise

* Change slider sigm for a double slider sigm03 sigm45

* small delay for double slider sigm

* Fixed wrong values sigm

* Hide level56 in standard complexity

* Improve in standard complexity

* Various improvment levels 14

* interaction 56 14 - advanced complexity
2020-08-30 08:16:31 +02:00
Desmis
2c3881f3a6
Retinex - Choice complexity Standard - Advanced (#5871)
* Enabled standard advanced for Retinex

* Added forgotten reset button
2020-08-05 10:21:14 +02:00
Desmis
e0d3353d72
Wavelet levels - choice complexity standard - advanced (#5869)
* Added in option edghi edglo limrad

* Hide choice edgesharpness slider curve

* First normal expert

* Second normal expert

* Changes in normal expert contrast chroma residual

* Change label complexity wavelet

* French + hide sigmafin standard

* Added tooltip complexty wavelet
2020-08-02 15:52:01 +02:00
Ingo Weyrich
6cb29be31c further cleanups 2020-07-16 21:44:00 +02:00
Desmis
b6b03fd975 GUI part CH curve 2020-07-13 17:08:19 +02:00
Lawrence Lee
eb548f1aff Make control lines part of processing parameters 2020-07-09 11:43:23 -07:00
Desmis
89a9d1125c Add in settings enable disable Spot 2020-07-07 08:20:34 +02:00
Desmis
4d49d142aa Simplify interface settings with hide/show tools 2020-07-06 12:26:09 +02:00
Desmis
60728717a6 differentiate the action luma and chroma blend 2020-06-27 14:16:07 +02:00