523 Commits

Author SHA1 Message Date
Desmis
4a4a3d5905
Fixed bad behavior preview filmgrain issue 6311 (#6313)
* Fixed bad behavior preview filmgrain issue 6311

* Simplify algo
2021-07-25 14:39:16 +02:00
Lawrence37
d11d834045
Merge pull request #6227 from Beep6581/spot-removal-tool
Spot removal tool
2021-05-16 12:44:45 -07:00
Lawrence Lee
ca4241109a Merge branch 'dev' into spot-removal-tool 2021-05-15 22:57:06 -07:00
Desmis
35abd92209
Custom TRC Tone response curve and Illuminant - change Histogram - RGB and Lab values - for output (screen, TIF, JPG..) (#5949)
* Change TRC in the process

* Improve GUI slope

* Add tooltip output profile

* Various change to enable and tooltip

* Chnage rtthumbnail

* Small change tooltip trc

* Another small change tooltip

* Improve GUI - change default TRC BT709 - change tooltip

* Other GUI improvment

* Small changes to BT709 values

* Various change to TRC - add illuminant working profile

* Change labels tooltip TRC illuminant

* Display wp in console if wp provided

* Change tooltip

* Change max wlope

* Init trc + illum + primaries

* Add black point compensation

* Change location abstract

* Fixed bug with rtthumbnail...

* Added tooltip

* Logscale for wslope

* Change tooltip abstract

* Change labels tooltips abstract profile

* Added 6 sliders custom primaries X and Y

* Change GUI custom primaries

* Use custom primaries abstract profiles

* Tooltip with primaries red green blue

* Fixed warning gtk

* Change one tooltip

* Change range custom primaries

* Change GUI default Primaries

* Change one tooltip

* Speedup for trc

* Rendering intent for abstract profile

* Hide intent abstract

* Preserve neutral tones

* Chnage settings preserves neutral tones

* Improve GUI

* Improvment to preserv

* Clean code - speedup TRC when illuminant and primaries default

* Change label

* Change bad default value Blux

* Add forgoten illuminant when selecting primaries

* clean code

* Change labels

* improve workingtrc for LA

* Change default primaries when select default

* Added others working profile to primaries

* Change labels and GUI

* Change tooltip

* CIExy diagram displaying the primaries (interactive) and the white point (#6207)

* Ciexy diagram

* Change to Ciexy graph

* Change graph and defaut coordonates

* Various changes to graph - params

* Disable setListener(ToolPanelListener)

* Add some graduation to graph

* Clean comment code graph

* Change radius 0

* Enable sensitive graph Ciexy

* update Ciexy graph with primaries

* Remove reset button graph

* Change labels and behavior

* First step third spot green

* Second step 3rd spot green

* First try 3 primaries graph Ciexy

* Fixed bad behavior in lab grid

* Fixed another bad behavior graph

* Clean and comment code

* Change default gamma

* More accurate graph Cie xy

* Added white point to Ciexy graph

* Added tooltip Cie xy diagram

* Improvment when illuminant change

* Refine diagram CIE xy - added WP 2000K

* White point D120 + tooltip

* Change label

* Change labels

* Change tooltips

* Improve diagram CIE xy with parabolic

* Other parabolic to improve Cie xy diagram

* Small change GUI

* Added Label CIE xy - change labels

* Change behavior when none - change labels

* Improve gUI and trys to fix LGTM alerts

* CIE xy change set sensitive

* Improve tooltip primaries sliders

* Adapt tooltip to new labels

* Fixed crash and some bad behavior

* First fix bad behavior with some primaries

* Second fixed bad behavior primaries

* Third fixed bad behavior primaries

* Change white point BestRGB

* Change order rgb in history msg Ciexy

* Change tooltip

* Change tooltip

* Improve GUI primaries

* Illuminant 1500K - display in console matrix XYZ-RGB

* Improve GUI illuminant

* Change a tooltip

* Somme changes to GUI and verbose

* Test code for wprim in read

* clean code for wprims

* further cleanups, not tested

* Some cleanups and bugfixes, #5949

* Simplify `std::unique_ptr<>` dereferencing

Also some minor cleanups.

* Some changes suggested by Floessie

* Others change suggested

* Others changes suggested by Floessie

* Forgotten change in procparams.cc

* Added black and white for use with the primaries channel mixer

* Small change behavior GUI - illuminant

* Change pragma omp in iplab2rgb

* Add enums and clean up

* Remove unused code icmpanel.cc

* Fix LGTM alert, #5949

Co-authored-by: Ingo Weyrich <heckflosse67@gmx.de>
Co-authored-by: Flössie <floessie.mail@gmail.com>
2021-05-16 06:18:25 +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
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
Desmis
9e159deb01
Local adjustments - Blur and noise radius > 1.5 increase saturation issue #6117 (#6118)
* Fixed bad behavior saturation issue 6117

* Reenable scalegr for grain

* Add forgotten brackets
2021-02-19 13:06:34 +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
727c9557b4
Local adjustments - Mask - Change behavior Laplacian (#6075)
* Change Laplacian action in mask

* Change tooltip Laplace
2021-01-28 07:32: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
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
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
ad83d396ea Fixed bad behavior LA denoise when delimiters outside preview 2020-12-10 13:31:38 +01:00
Desmis
b4f4f4c01e
LA Changes to exposure response with tonecurve (#6009) 2020-11-27 06:34:36 +01:00
Desmis
aef7872792 Local adjustments - workaround Retinex Dehaze previewdE 2020-11-25 15:10:45 +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
Desmis
2c657437f4 Fixed bad behavior general inverse blur and noise 2020-11-10 10:34:39 +01:00
Desmis
1bd22668f2
Local adjustments - issue #5974 Fixed bug in inverse Blur chrominance - bad behavior Blur and noise (#5989)
* Fixed bug in inverse Blur chrominance - and general bad behavior Blur and noise

* Improve avoid color shift

* Another improvment to avoid color shift
2020-11-09 20:22:07 +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
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
0bca993c73 Fixed crash in Log encoding when WhiteEv is near zero 2020-10-26 08:55:25 +01:00
Lawrence37
f9e8fb4124
Merge pull request #5887 from Beep6581/waveform
Waveform, RGB parade, and vectorscopes
2020-10-23 09:57:40 -07: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
287fe74593
Fixed bug in Linux mask Blur denoise - rationalise code (#5896)
* First version mask bl

* Added others improvments

* Other changes to blur mask

* Improvment to blur mask

* Improvment to maskcacol
2020-08-29 15:39:39 +02:00
Flössie
c5ace05df8 Merge branch 'dev' into waveform 2020-08-16 10:08:28 +02:00
Desmis
130fbb8eb2
Local complexity - Add 'Basic' to 'Standard'(Normal) and 'Advanced'(Expert) (#5858)
* Mode simple to color and light

* Exposure complex

* Vibrance and SH complex

* Soft and Blur complex

* Common mask complex

* Sharp Retinex complex

* Localcontrast complex

* Change label tooltip complex

* Change labels and tooltip

* Change tooltip french

* Change default value scope TM

* Some forgotten hide..with basic in inverse mode

* Another hide in basic and inverse

* Change some type in labels

* Change typo contrast

* Refine some labels tootips

* Change after review Ingo - thanks

* Improve history behaviour when changing local adjustments complexity mode

* Added normal to original retinex - basic to dehaze

* Fixed bad behavior normal expert Color and Light

* Improve edge sharpness

* Another improvment edge sharpness

* various improvement

* locallab: speedup and reduced memory usage for wavcontrast4()

* remove file

* French labels complexity

* calckoe(): cleanup, speedup and bugfix for 3x3 gaussian kernels

* calckoe(): cleanup for 3x3 gaussian kernels

* calckoe(): fill koeli[] with zeroes if level <= 1 && tloww >= 75.f

* GUI part fixes and cleanup

* Fix in Locallab Settings panel

Additionnal minor fix in Preferences windows

* Change default mode complexity in preferences - basic

* Change complexity in option

* Improve gui when lauch first image

Co-authored-by: Ingo Weyrich <heckflosse67@gmx.de>
Co-authored-by: Pandagrapher <pierre.cab@gmail.com>
2020-08-10 13:18:21 +02:00
Lawrence Lee
f779527833 Clip H-C vectorscope according to color profile 2020-08-08 12:37:28 -07:00
Ingo Weyrich
6cb29be31c further cleanups 2020-07-16 21:44:00 +02:00
Desmis
2a5ce3c0ba merge with dev 2020-07-14 07:42:15 +02:00
Desmis
32329f306f Prepare rtengine for CH curve 2020-07-13 17:32:38 +02:00
Ingo Weyrich
e269b38d1e Wavelet Blur levels: use LUT for pyramid, reduce memory usage, speedup 2020-07-06 15:25:04 +02:00
Desmis
fd43ed28fe change exposure with Laplacian 2020-07-05 08:33:40 +02:00
Ingo Weyrich
bad0c0b1e7 Some cppcheck cleanups 2020-06-28 13:24:00 +02:00
Desmis
60728717a6 differentiate the action luma and chroma blend 2020-06-27 14:16:07 +02:00
Desmis
344864a8ec Added Graduated Filter luminance common mask 2020-06-24 07:31:48 +02:00
Desmis
ebb8b16583 Improvment to maskcacol 2020-06-24 05:50:11 +02:00
Desmis
fb06a4dcfd Pass GUI parameters mask to rtengine and iplocallab.cc 2020-06-23 12:00:23 +02:00
Desmis
90dedb001f Add common mask curve to rtengine and iplocallab.cc 2020-06-23 09:17:37 +02:00
Ingo Weyrich
2dd2313e02 wavcont(): use per level/dir beta values for all methods, speedup process 2, reduce memory usage, fix a race 2020-06-21 11:39:58 +02:00
Ingo Weyrich
f23c2e9de0 locallab: speedup for wavcontrast4 and clarimerge 2020-06-16 15:35:42 +02:00
Ingo Weyrich
beb8fd8f74 Merge branch 'dev' into newlocallab2 2020-06-14 22:03:26 +02:00
Ingo Weyrich
8730afc041 Merge branch 'const-wavelet-decomposition' into cleanup_59 2020-06-14 17:35:09 +02:00
Ingo Weyrich
e0cefec695 iplocallab.cc: further cleanups 2020-06-12 19:58:56 +02:00
Ingo Weyrich
79549dc287 iplocallab.cc: further cleanups 2020-06-08 15:40:09 +02:00
Ingo Weyrich
136e2b8c53 exlabLocal: speedup and bugfix(race condition) 2020-06-06 11:07:00 +02:00
Desmis
7868cc160a Improvments to sharp 2020-06-05 14:50:27 +02:00