Commit Graph

2397 Commits

Author SHA1 Message Date
rom9
b4c109f275 ProcParams now contain red and blue ratios, to be aligned with values in the GUI. 2019-06-29 16:06:40 +02:00
rom9
41e5899f97 Moved film negative thumbnail processing to own compilation unit 2019-06-28 22:54:32 +02:00
rom9
0920f6dfe8 rawData is not needed anymore in channelsAvg after commit d7bab9ba 2019-06-28 22:51:22 +02:00
rom9
4e09fd4f21 Changed master exponent default from 2.0 to 1.5; it was too large for high-contrast negatives. Set all sliders as log-scale, centered at 1.0, so that reasonable values can be fine-tuned more easily. 2019-06-28 21:29:06 +02:00
rom9
d7bab9ba9f Changed channelsAverage() to sample values from the original data in the RawImage instance, taking into account black levels. This lets me completely revert my awful commit 22f6297a5 and clip values to 65535, as it should be to avoid trouble downstream. 2019-06-28 20:44:40 +02:00
rom9
938fc63dd0 Replaced powf calls with the optimized pow_F macro (which also works for the non-SSE2 case). 2019-06-27 23:01:51 +02:00
rom9
a3004bb2b8 Added SSE2 optimization in film negative thumbnail processing. 2019-06-27 22:03:59 +02:00
heckflosse
9ea964f5d9 camconst.json: some raw crops and white levels 2019-06-27 15:32:28 +02:00
heckflosse
a652752c2f raw crops for FUJIFILM X-T30 and Sony DSC-HX99 2019-06-26 22:12:38 +02:00
heckflosse
e76d98fb9f raw crop for Sony DSC-RX0M2 2019-06-26 20:49:07 +02:00
rom9
157d83d169 Partially reverting my last commit. When using large exponents, huge raw values could cause segfaults in ImProcFunctions:rgbProc (specifically in shadowToneCurve), and in Amaze demosaic.
Re-added the clipping check on raw values, but with a higher threshold. This way, raw clipping is less frequent in highlight areas (so those can be used as spots for exponents calculation), but the threshold is low enough to avoid the segfaults.
Not a very clean solution, need to find a better one...
2019-06-26 00:14:03 +02:00
rom9
22f6297a5b Removed clipping check for values above 65535 (reverts commit 9156572). It was just a defensive check to avoid hitting corner cases like this: 1e4f9ac , that is already fixed elsewhere.
The check is now causing problems with the dual-spot feature, because after clipping, the formula cannot be undone to get back the original raw values.
Since there are no known issues caused by raw values >65k, i'm removing the check until there will be a good reason to re-introduce it.
2019-06-24 21:48:06 +02:00
heckflosse
66c9cd6177 Don't scan for darframes/flatfields/cluts if folder is not set, #2238 2019-06-24 19:52:17 +02:00
heckflosse
d3fb58a19c clang error on badpixels.cc variable-sized object initializations, fixes #5358 2019-06-24 19:43:43 +02:00
rom9
7040378dec Merge remote-tracking branch 'origin/dev' into filmnegative 2019-06-23 23:40:56 +02:00
rom9
2fde6e562a The "dual-spot" exponents calculation feature now honors the master (green) exponent set by the user, and adjusts red and blue based on the ratios between the new, "guessed" exponents.
This way, if the user has chosen a different master exponent than the default, using the feature just alters the color characteristic of the conversion, while keeping the same contrast level.
2019-06-23 22:21:24 +02:00
Ingo Weyrich
c6cdaf37eb Merge pull request #5350 from Beep6581/badpixels-compunit
Move badpixel code to own compilation unit
2019-06-22 18:00:13 +02:00
rom9
880a6e125e Added film negative processing in thumbnails, with correct white balance. Calculated channel averages to restore the same initial conditions as RawImageSource, where get_colorsCoeff is called with forceAutoWB = true. Code still needs refinement and cleanup. 2019-06-21 07:12:42 +02:00
Eric Jiang
789edc5bd3 Apply code-cleanup patch from @Floessie
See https://github.com/Beep6581/RawTherapee/pull/5325
2019-06-18 13:02:10 -07:00
rom9
03dc855fc7 Merged cleanup patch proposed by heckflosse, moves exponents negation to a single place. Now it's much easier to read. 2019-06-18 21:08:18 +02:00
rom9
7c0275ca1a Updated copyright notice in new source files 2019-06-18 13:52:58 +02:00
Flössie
ca387e0379 Use terser C++11 resets in ProcParams::setDefaults() 2019-06-18 09:22:45 +02:00
Flössie
b687ca2643 Merge branch 'rom9-filmnegative' into filmnegative-cleanup 2019-06-17 08:57:14 +02:00
Flössie
20fdba77e8 Merge branch 'filmnegative' of https://github.com/rom9/RawTherapee into rom9-filmnegative 2019-06-17 08:07:32 +02:00
Flössie
54cc02eea9 Filmenegative core cleanup 2019-06-17 08:03:46 +02:00
Flössie
80f2b6a002 Replace raw arrays with std::array<> 2019-06-14 08:58:04 +02:00
Flössie
015cffc73a Peripheral cleanups and a fix
- Whitespace, braces, sorting
- Fixed missing filmnegative in `ProcParams::operator ==(ProcParams)`
2019-06-13 09:52:13 +02:00
rom9
c819cb63a2 Speed boost in the median vectors fill via loop unrolling 2019-06-12 22:11:34 +02:00
Morgan Hardwood
a686a94a62 Merge branch 'filmnegative' of https://github.com/rom9/RawTherapee into rom9-filmnegative 2019-06-12 09:19:49 +02:00
rom9
8d0755eddc Raised default master exponent from 1.0 to 2.0, to get a reasonable contrast right from the start. 2019-06-11 22:50:36 +02:00
rom9
8fa30d496d Now that medians are known *before* processing, moved multiplication step inside the same loop as exponentiation for further optimization. Patch kindly provided by @heckflosse ;-) 2019-06-11 21:02:16 +02:00
rom9
e1c9197ed5 Moved median calculation block before exponentiation. This way findMinMaxPercentile() can be used again because it works on the original raw file values (which are in a much more reasonable range). Patch kindly provided by @heckflosse ;-) 2019-06-11 20:08:46 +02:00
heckflosse
156f3009d5 badpixels code: further cleanups 2019-06-10 22:15:16 +02:00
rom9
b95bdb1aea Linked red and blue exponent adjuster to the green adjuster, in order to maintain the ratio between exponents if the user moves the green adjuster (master).
Switched back to vector sort for median calculations: the results of the histogram search function diverge more and more from the simple median calculation as the exponents increase.
At 2.0 the test picture is already impossible to WB as the multipliers are too far off (2.78226e+08 histo vs 9.7927e+11 sort), and the normal WB sliders can't compensate for those huge factors.
2019-06-10 22:05:54 +02:00
heckflosse
fe16bf7917 Move badpixel code to own compilation unit 2019-06-10 16:40:44 +02:00
rom9
91565728e5 Clamped output values to a max of 65535.f after applying multipliers, to avoid trouble further down the processing pipeline. 2019-06-09 19:25:15 +02:00
heckflosse
df4513f595 Avoid integer overflow when accessing luts with very large values 2019-06-09 18:57:23 +02:00
heckflosse
f0d32c1da7 White dot artifacts caused by CIECAM02, fixes #5342 2019-06-09 14:37:33 +02:00
heckflosse
1e4f9ac248 Avoid integer overflow when accessing luts with very large values 2019-06-09 14:36:38 +02:00
rom9
d2366e633c Enabled bad pixels interpolation for ST_XTRANS after upstream fix c0a033e 2019-06-09 13:09:29 +02:00
heckflosse
b990b89875 interpolateBadPixelsXtrans() : fix oob access 2019-06-09 12:21:42 +02:00
heckflosse
c0a033e717 interpolateBadPixelsXtrans() : fix oob access 2019-06-08 15:13:44 +02:00
rom9
9df8008949 Film negative processing: first usable version. Only supports bayer raw files, thumbnails don't work
Added performance improvements suggested by heckflosse. Lowered median sampling step from 7 to 5 since calculation is now much faster.

Added support for Fuji X-Trans raw files.

Applied SSE2 patch provided by @heckflosse, improves performance in main processing loop.

Moved film negative processing stuff in its own compilation unit.

Code cleanup: removed redundant omp directives.

Added check for dead pixels, going above threshold after inversion. ST_BAYER only for now.

Reverted leftover hack in cropwindow.cc
2019-06-08 01:40:29 +02:00
heckflosse
3b19b9f55b Rawtherapee 5.6 crashes with.dng from PixelShift2DNG-0.9.8.67, fixes #5348 2019-06-07 16:37:59 +02:00
heckflosse
6486c491f8 Vibrance causes RT to freeze, fixes #5346 2019-06-05 12:55:08 +02:00
heckflosse
3c0b0ffd33 Small speedup for loading unpacked 16 bit raw files 2019-06-04 17:01:05 +02:00
heckflosse
a391e256bc Fix possibly uninitialized variable 2019-06-04 16:30:54 +02:00
heckflosse
f18724e016 Silence some warnings 2019-06-04 16:30:22 +02:00
heckflosse
d46a043add basic support for Fujifilm GFX 100 2019-06-04 14:17:38 +02:00
luz.paz
cc60ea2248 Fix source comment and misc. typos
Found via `codespell -q 3 -I ../rawtherapy-whitelist.txt -S ./rtdata/languages -L hist,fo,reall,bloc,alph`
2019-06-03 17:38:50 -04:00