Commit Graph

637 Commits

Author SHA1 Message Date
Desmis
37f4066276 LA denoise equalizer hue 2020-12-11 07:36:11 +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
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
Lawrence37
f9e8fb4124 Merge pull request #5887 from Beep6581/waveform
Waveform, RGB parade, and vectorscopes
2020-10-23 09:57:40 -07:00
Thanatomanic
9ee48d83f9 Fix references to DCPProfile::ApplyState 2020-10-16 12:43:59 +02:00
Thanatomanic
8b4389ade9 Resolve exiv2 merge conflicts and merge with 2020-10-16 11:45:26 +02:00
Desmis
21758da234 Suppress TRC working profile 2020-10-05 13:03:07 +02:00
Lawrence Lee
b8af429f0e Prevent null pointer access
Thanks to Ingo for fixing the segfault.
2020-09-28 22:17:49 -07:00
Lawrence Lee
6e7185081a Fix scaling of H-C vectorscope 2020-09-22 22:10:57 -07:00
Lawrence Lee
af29bf84e6 Fix cppcheck warnings for uninitialized variables 2020-09-13 12:33:25 -07:00
Lawrence Lee
c03efe4878 Add dedicated buttons for scope switching
Previously, changing to a different scope was done by clicking the scope
type button and cycling through all scopes. This commit decreases the
number of clicks needed to switch between two scopes by adding a radio
selector. The radio buttons can be shown or hidden by pressing the scope
type button. This commit also makes the raw histogram one of the scope
types.
2020-09-12 17:52:24 -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
Lawrence Lee
b2942fd949 Improve performance of scopes
If a scope update is requested, don't recalculate scope data if it is
already up-to-date.

Eliminate double and triple scope rendering.
2020-08-28 22:33:52 -07:00
Ingo Weyrich
6c2463889b Revert "CH vectorscope: speedup by avoiding conversions"
This reverts commit cfc1e66024.
2020-08-20 12:31:37 +02:00
Ingo Weyrich
cfc1e66024 CH vectorscope: speedup by avoiding conversions 2020-08-19 14:00:09 +02:00
Ingo Weyrich
e667e3dce7 Removed timing code and some includes 2020-08-16 21:34:11 +02:00
Ingo Weyrich
2858876f44 use array2D.fill() instead of memset() 2020-08-16 17:19:59 +02:00
Ingo Weyrich
9e040b3bc2 ImProcCoordinator::updateVectorscope(): parallelize loops 2020-08-16 11:46:17 +02:00
Flössie
c5ace05df8 Merge branch 'dev' into waveform 2020-08-16 10:08:28 +02:00
Ingo Weyrich
e67b02da8b further cleanups 2020-08-15 22:36:10 +02:00
Ingo Weyrich
07d26c16ed ImProcCoordinator::updateVectorscope(): fix crash caused by large stack allocation, speedup, fixed scaling from [0;255] to [0;65535] range 2020-08-15 17:35:24 +02:00
Ingo Weyrich
a5c7713042 Cleanup: removed unused function; also murder instead of call for suicide (delete this) 2020-08-13 13:10:33 +02:00
Lawrence Lee
8b3af4c520 Fix some cppcheck warnings 2020-08-09 17:16:57 -07:00
Lawrence Lee
6cd87ad975 Use array2D for waveform and vectorscopes 2020-08-09 16:49:28 -07:00
Lawrence Lee
f779527833 Clip H-C vectorscope according to color profile 2020-08-08 12:37:28 -07:00
Lawrence Lee
9382306fed Add CIELAB lightness to waveform 2020-08-05 11:57:34 -07:00
Lawrence Lee
ba57a6c680 Fix waveform and vectorscope crop behavior
Properly scale values for the vectorscopes and only show the crop region
for the waveform.
2020-08-04 23:07:03 -07:00
Lawrence Lee
fbe73614c3 Add H-S and H-C vectorscopes 2020-08-03 18:23:25 -07:00
Lawrence Lee
6df69b3786 Improve performance of histogram/waveform updates
Only perform calculations for the currently shown scope.
Cache the waveform so it can be reused when the scope is resized.
Increase speed of waveform rendering.
2020-07-26 13:27:17 -07:00
Lawrence Lee
4cbd622569 Add initial implementation of waveform 2020-07-21 22:45:10 -07: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
d22fcb9df1 Cleanup for curves.* 2020-07-13 16:07:52 +02:00
Ingo Weyrich
a0eacde31a Merge branch 'dev' into cleanup_locallab_periphery 2020-06-28 12:20:54 +02:00
Ingo Weyrich
3bab9ec688 copy constructor for labimage, further cleanup for locallab periphery 2020-06-27 16:52:53 +02:00
Ingo Weyrich
f02c4e1fd1 use LUT_CLIP_OFF instead of 0 2020-06-27 14:30:58 +02:00
Ingo Weyrich
96c5eff50c Further cleanups to locallab periphery 2020-06-27 13:13:26 +02:00
Ingo Weyrich
6d824842af Further cleanups to locallab periphery 2020-06-26 22:25:58 +02:00
Ingo Weyrich
01e48cc809 Some first cleanups for locallab periphery 2020-06-26 21:20:26 +02:00
Desmis
20bc7af14f Change labels blend mask and default values - change range all soft guidedfilter 2020-06-26 11:19:41 +02:00
Desmis
6a03d8e325 first run that work...with bug...but save 2020-06-23 17:53:56 +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
Hombre
f42548b018 Merge branch 'dev' into spot-removal-tool 2020-05-18 14:54:30 +02:00
Desmis
af0b286e5a Suppress message in improccoordinator.cc 2020-05-14 14:30:43 +02:00
Desmis
a806d00268 Merge with dev 2020-05-13 08:51:50 +02:00
Pandagrapher
bd3037a803 Some minor fixes in Locallab GUI 2020-05-12 18:35:33 +02:00
Desmis
fb4f64699b Use previewDeltaE information to show deltaE 2020-05-12 17:19:44 +02:00