Commit Graph

637 Commits

Author SHA1 Message Date
Desmis
99fd6162f8 Clean code 2020-05-12 16:28:17 +02:00
Pandagrapher
276dd89382 Save GUI part for deltaE preview in Locallab settings panel 2020-05-12 16:23:29 +02:00
Desmis
e25f5aa455 Rebuild wavtm with curve finerCoraser - language - various chnages to denoise 2020-05-12 09:11:16 +02:00
Pandagrapher
192c9b118f Update storage method in .pp3 files for RT-spot points
RT-spot points are now stored as integer vector (instead of four
dedicated integer) to allow future improvements.
2020-04-23 19:38:53 +02:00
Pandagrapher
cca6b09768 Merge remote-tracking branch 'dev/newlocallab' into newlocallab 2020-04-20 12:54:09 +02:00
Desmis
f0e78b2a0d merge with dev 2020-04-18 07:43:44 +02:00
Pandagrapher
4ea4663e34 Merge with 'dev/newlocallab'... 2020-04-16 16:01:53 +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
c062d654bb merge with dev 2020-03-29 18:31:52 +02:00
Desmis
ac83695645 Suppress warning and add tooltips 2020-03-27 09:27:43 +01:00
Desmis
51f1198b65 Init blur by levels 2020-03-25 18:06:32 +01:00
Desmis
0ffa61748d Prepare ipwavelet and periph to TM 2020-03-22 15:31:36 +01:00
Desmis
1f4613cd3b GUI for TM wavelet 2020-03-22 10:37:21 +01:00
Desmis
e573de78b4 merge with dev 2020-03-19 13:40:11 +01:00
Ingo Weyrich
0e5f514ec1 recalculate itcwb when demosaic method changed 2020-03-06 12:00:21 +01:00
Desmis
60160025f9 Ciecam02 chnage default settings cat02preset 2020-03-03 08:07:36 +01:00
Desmis
f4da001589 Ciecam02 autotempout button 2020-03-02 20:00:02 +01:00
Desmis
32165f9f7d Small improvment and format code improccoordinator wb 2020-03-02 18:07:41 +01:00
Desmis
dbeccefd44 Display good values Temp green if autold selected 2020-03-02 16:55:24 +01:00
Ingo Weyrich
8b450d3f77 Merge pull request #5675 from Beep6581/rawimagesource_cleanup
Cleanups for rawimagesource.cc
Speedups for ItcWB
2020-03-01 13:45:06 +01:00
Ingo Weyrich
d0034c880b further cleanups and speedups for ItcWB/getrgbloc 2020-03-01 11:50:58 +01:00
Ingo Weyrich
cee41b9786 restore speed when not using auto itc wb and improve speed when using it 2020-02-29 21:04:09 +01:00
Desmis
aa389dbcae Ciecam02 fixed bad temp and tint cat02preset 2020-02-29 12:51:17 +01:00
Desmis
d55e649a64 merge with dev 2020-02-29 08:14:03 +01:00
Ingo Weyrich
a9e2bde610 use autold instead of auto, #5676 2020-02-28 11:44:25 +01:00
Ingo Weyrich
d2f78efd32 improccoordinator.cc : be cppcheck clean 2020-02-27 14:20:28 +01:00
Desmis
2bc9396569 Fixed show wavelet levels 2020-02-27 13:33:51 +01:00
Desmis
a2f7d39ad2 merge with dev 2020-02-27 08:51:11 +01:00
Desmis
4863c7a372 clean unused changes 2020-02-26 15:37:49 +01:00
Desmis
8cfc4e33af partial fixed wrong old WB auto 2020-02-26 15:22:28 +01:00
Desmis
603b55e690 Preset cat02 automatic 2020-02-25 17:28:19 +01:00
Desmis
352873ea30 Suppress dispaly Student itcwb in Pick 2020-02-25 13:19:52 +01:00
Desmis
eeb24af8f0 Suppress message in console except verbose 2020-02-25 12:48:23 +01:00
Desmis
74c40382c8 merge with dev 2020-02-25 07:56:36 +01:00
Desmis
92fc0e307f merge with dev 2020-02-24 11:09:20 +01:00
Desmis
81c6e4635d merge with dev 2020-02-24 11:05:55 +01:00
Pandagrapher
209eccba8a Add improved copy/paste or save/load for Locallab spots
Preliminary work: "nbspot" and "id" spot parameters have been removed to
simplify Locallab spots management.
2020-02-20 20:35:29 +01:00
Ingo Weyrich
2c831a11a7 more double promote fixes 2020-02-09 23:34:12 +01:00
Desmis
82d8844ee6 Prepare Edge Sharpness wavelet pyramid 2020-01-26 10:17:34 +01:00
Desmis
6e3fd503cc Added show modifications to sharpening 2020-01-21 09:14:39 +01:00
Desmis
ba7a61c391 merge with dev 2020-01-13 08:33:45 +01:00
Desmis
4e81cbaa72 merge with dev 2020-01-13 08:02:43 +01:00
Desmis
31d3b7bb4c merge with dev 2020-01-07 10:16:40 +01:00
Desmis
5823ad39f2 First dynamic wavelet compression pyramid 2020-01-03 13:41:25 +01:00
Desmis
95a2b21aa4 Improve dynamic range compression 2020-01-02 17:08:05 +01:00
Ingo Weyrich
2ce6e6d1d3 skip unnecessary transform 2020-01-02 14:35:27 +01:00
Desmis
46b9aa95e2 Added mask to local contrast 2019-12-21 12:51:27 +01:00
Desmis
cf214c7a1b Save provisory work GUI 2019-12-20 18:16:10 +01:00
Desmis
8361591e0e Simplify denoise curve replace 4 sliders luminance 2019-12-20 08:52:52 +01:00
Desmis
f6f03fb8fc Some improvments and Tooltip 2019-12-17 11:34:16 +01:00