42 Commits

Author SHA1 Message Date
Ingo Weyrich
5bababe46f Haze removal: backwards compatibility for blend mode, #5972 2020-10-29 14:47:43 +01:00
Desmis
2b8ee075a7 chnage ppversion 2020-04-18 07:49:18 +02:00
Desmis
f0e78b2a0d merge with dev 2020-04-18 07:43:44 +02:00
rom9
22eee9787e
Film negative stable multipliers (#5485)
* Added new feature to calculate channel multipliers from crop area. This also saves the crop area channel medians to the processing profiles, in order to get a more consistent color balance when batch-applying the same profile to multiple pictures from the same film roll.

* Fixed wrong initialization of array, and missing check for the result of `getFilmNegativeMedians()`.
Moved `ImProcCoordinator::translateCoord()` from private member to anonymous namespace.
Fixed some whitespace and formatting issues.

* Fixed some formatting issues

* Passed `ipf` parameter as const in `translateCoord`.
Narrowed `using namespace` to single class `Coord2D`.

* Added `scaleGain` entry to thumbnail metadata file, to make `scale_mul` multipliers available in thumbnail processing phase. This simplifies multiplier calculations, so that "faking" thumbnail multipliers in the main image processing is not necessary anymore. This way, output values are immune to slight variations of multipliers between successive shots taken with in-camera AWB turned on.
Shifted multipliers so that the output channel medians are balanced when "Camera WB" is selected. This way, just computing multipliers from crop and setting "Camera WB" (which is the default) gives a pretty well balanced image as a starting point.

* New channel scaling method, based on a film base color sample instead of crop area channel medians. Channels are scaled so that the converted film base values are equal to 1/512th of the output range (65k). This giver better black levels in the output, and more consistency when batch-processing multiple negatives.
The output is now compensated for a known fixed WB value, so that the film base will appear grey when WB is set to 3500K, Green=1.
Added PPVERSION 347 to preserve backwards compatibility: when a processing profile saved by RT 5.7 is loaded (PPVERSION=346), the new fields are initialized to the special value -1, which will instruct the main processing to follow the old channel scaling behaviour. The old channel scaling multipliers will then be converted to the new film base values so that the resulting image is the same, and the fields will be overwritten as soon as the PP is saved again. This will transparently upgrade the processing profile.
When the new behaviour is used, but the film base values are still unset, they are estimated based on channel medians, excluding a 20% border around the image. This should give a better result out-of-the-box for pictures containing a large film holder.

* Code cleanup from review

* Run astyle on film neg source files

* Fixed automated build failure caused by incompatible libraries on my dev PC.

* Simplified `Thumbnail::processFilmNegative` method signature. There is no need to pass in `rmi`,`gmi`,`bmi` multipliers from the caller, i can do the same with my own internal multipliers.

* Added `FilmNegListener` class to pass estimeted film base values to the GUI after first processing. Removed old `filmBaseValues` instance variable from RawImageSource.

* Code cleanup

* Forgot to set baseValues flag in `PartialPasteDlg::applyPaste`
Fixed `filmBaseValuesLabel` not updating when reading zero baseValues. Normally not needed (the label is updated later by the listener), but when the user is browsing through pictures the listener won't fire, so the label must be updated to show values are unset.

* Overwritten channel scaling multipliers by calling `get_colorsCoeff` with `forceAutoWB=false`.
Initially, in `RawImageSource::load`, channels are auto-balanced by averaging the whole picture when computing multipliers.
This can give different multipliers for multiple shots of the same camera, which will lead to inconsistent conversions when batch-processing multiple negatives.
This commit re-sets `scale_mul`, `ref_pre_mul`, etc., in order to "undo" the auto-WB and use the normal camera multipliers.

* Found an easier way to get stable overall multipliers, removed the (horrible) on-the-fly mutation of scaling instance variables.
2020-04-13 17:20:56 +02:00
Desmis
63f6c26f70 merge with dev - thanks to Floessie 2019-01-26 08:34:50 +01:00
heckflosse
b9942422e7 Change microcontrast uniformity adjuster range, fixes #5129 2019-01-01 17:36:17 +01:00
U-PC-BUREAU\jacques
21292f6db5 merge with dev 2018-10-26 09:00:29 +02:00
heckflosse
e5f373d0e1 Merge branch 'dev' into dual_demosaic_auto_threshold 2018-10-21 21:54:24 +02:00
heckflosse
8b65900066 Dual demosaic: Add auto threshold checkbox and show used value in ui, #4866 2018-10-21 20:21:43 +02:00
U-PC-BUREAU\jacques
e7448bd084 merge with dev 2018-10-19 19:26:14 +02:00
Alberto Griggio
30d8a674aa shadows/highlights: added colorspace selection (RGB or L*a*b*) 2018-10-03 23:41:30 +02:00
Pandagrapher
854021cfee Merge with newlocallab... 2018-09-25 23:40:09 +02:00
heckflosse
bcc7a3fb85 raw ca correction: first try to avoid colour shift, #4777 2018-09-06 13:52:48 +02:00
heckflosse
f6195877e5 Fix wrong ppversion 2018-09-05 21:51:36 +02:00
heckflosse
01618e1b7f Set default value for raw auto ca correction iterations to 2 while keeping backwars compatibility, #4774 2018-09-05 21:47:16 +02:00
Pandagrapher
a31393adb1 Saving of Locallab tool parameters in .pp3 file
- Control spot panel parameters are now saved in .pp3 file
- Control spot curved are now visible when Locallab tool panel is
active, not visible otherwise

Limitations:
- Other Locallab tool parameters aren't saved in .pp3 file yet
- Locallab tools are temporary deactivated (time to end procparam
update)
2018-07-26 19:20:33 +02:00
Hombre
3a6556404a Merge branch 'dev' into testoutputprofile 2018-07-22 03:25:49 +02:00
Hombre
180277778a Merge branch 'dev' into testoutputprofile 2018-07-09 22:12:08 +02:00
heckflosse
eeebe587ba Call Histogram matching only if necessary, #4674 2018-07-08 20:24:17 +02:00
Alberto Griggio
8c3e14b7f0 resize: added "allow upscaling" checkbox (issue #4643) 2018-07-04 13:32:12 +02:00
Hombre
88e645a329 Merge branch 'dev' into testoutputprofile 2018-06-25 01:07:02 +02:00
Alberto Griggio
93d442f802 increased precision of the channel mixer (allow 1 decimal figure) 2018-06-15 14:16:37 +02:00
Hombre
e2dc8ea2c3 Merge branch 'dev' into testoutputprofile 2018-06-14 21:47:14 +02:00
Alberto Griggio
d8bf532e47 reduce the range of the lab grid colour toning method
allows for more fine-tuning where it matters most
2018-06-13 14:14:39 +02:00
heckflosse
41c1f21c76 Pixelshift: replaced checkbox to use lmmse by a combobox to allow further demosaicers for parts with motion, #4579 2018-06-01 19:13:59 +02:00
Hombre
a0b8626b7d Adding ADD/SET mechanism to the raw processing tools
see #4579
2018-05-31 00:44:16 +02:00
Hombre
fbc81028eb First batch of variable name normalisation in ICM tool, see #4478 2018-05-14 00:57:55 +02:00
heckflosse
ee5b1dbbc8 Microcontrast: add Contrast threshold adjuster, #4551 2018-05-13 19:07:13 +02:00
heckflosse
63f3b2f86f Merge branch 'dev' into new-shadows-highlights 2018-04-26 15:10:58 +02:00
heckflosse
c45ec6f16e Speedup and bugfix for new Sh/Hl tool 2018-04-26 14:32:43 +02:00
heckflosse
0207705c16 Pixelshift: renamed 'ISO-adaption' slider to 'sensitivity' slider. Changed calculation of sensitivity. Some cleanups 2018-04-18 15:00:21 +02:00
Floessie
38cab123fc
Merge pull request #4401 from Beep6581/gcc8-warnings
Fix GCC 8 warnings
2018-02-15 20:54:43 +01:00
Flössie
cf3ea4f451 Turn wavelet.Lmethod into an integer (by @heckflosse, #4397) 2018-02-14 20:09:17 +01:00
luz.paz
c3c3ceac79 Misc. typos
Found via `codespell` 
+ removed rtengine/dcraw.patch per discussion in https://github.com/Beep6581/RawTherapee/pull/4395
2018-02-14 14:07:18 -05:00
Alberto Griggio
1ec4ff6463 bumped pp3 version number as requested by Floessie and Hombre57 2018-01-20 18:41:17 +01:00
Alberto Griggio
11ca61e3e2 added on/off switches for Channel Mixer, HSV Equalizer and RGB Curves 2017-12-09 23:54:27 +01:00
Flössie
7ba16a6f06 Bump PP version to 328 due to ff_clipControl (by @heckflosse) 2017-11-22 20:41:13 +01:00
heckflosse
818200522a Fix some inconsistencies in Profiled Lens Correction gui 2017-09-15 20:11:49 +02:00
DrSlony
effb46c3e1 Line endings 2015-08-11 11:53:44 +02:00
torger
6bb0d15ff0 Issue 2837: added 'Perceptual' tone curve 2015-07-26 20:37:44 +02:00
torger
8eeb203a27 Issue 2850: updated ppversion due to slight curve behavior change 2015-07-23 21:37:03 +02:00
torger
d5ca351c20 Issue 2134: removed obsolete raw highlight preservation setting from GUI (still left in procparams for backwards compatilibility) 2015-07-10 12:00:36 +02:00