Commit Graph

2601 Commits

Author SHA1 Message Date
Lawrence
f4c37598ee Generalize perspective correction
Revise perspective transformation to remove hard-coded angular field of
view and horizontal perspective axis of rotation. Add vertical bias
parameter to retain ability to perform vertical perspective
transformation independent of the horizontal perspective axis of
rotation. Add field of view parameter as a tentative method for
specifying angular field of view.

The current implementation of perspective transformation applies
horizontal perspective transformation in such a way that preserves the
orientation of a horizontal line going through the center of the image.
In common use cases, horizontal lines such as the horizon do not go
through the center of the image. In such cases, the horizontal
perspective axis of rotation should not be parallel to the image's
y-axis. This commit makes the axis of rotation dependent on the vertical
parameter.

The two axes of rotation should be placed at the appropriate distance
from the image in order to prevent stretched or compressed proportions.
In the current implementation, the axes are at a fixed relative distance
from the image. This commit adds the ability to specify the distance in
the form of the diagonal angular field of view.
2019-12-18 10:22:05 -08:00
Ingo Weyrich
3a207dace7 Some optimizations for capture sharpening 2019-12-18 17:33:41 +01:00
Ingo Weyrich
5e0ad767ad Capture sharpening: fix wrong calculation for radius > 0.84 2019-12-18 13:16:37 +01:00
Ingo Weyrich
6b22101500 better white level for FUJIFILM X-A7 2019-12-15 17:00:50 +01:00
Ingo Weyrich
eb4fe6a7c6 Merge pull request #5562 from Beep6581/review_demosaicers
Clip negative values to zero in raw processing, #5561
2019-12-13 16:54:51 +01:00
Ingo Weyrich
0c10b1466e raw crop for Leica SL2 2019-12-13 14:39:05 +01:00
Ingo Weyrich
92c29bcd65 Skip capture sharpening for predemosaiced raw files, fixes #5563 2019-12-13 13:50:00 +01:00
Ingo Weyrich
4d72fc0b5b Do not generate negative values if raw values are less than black level, #5562 2019-12-12 20:05:43 +01:00
Ingo Weyrich
637e8454ef Do not generate negative values in output of raw ca-correction, #5562 2019-12-12 19:59:27 +01:00
Ingo Weyrich
b2218d05dd clip negative output of demosaicers to zero, #5561 2019-12-12 18:45:18 +01:00
Ingo Weyrich
a2dd906115 flush denormals to zeros for mask blur, #5560 2019-12-11 13:00:09 +01:00
Ingo Weyrich
1d08c9355d Capture sharpening: speedup processing of flat areas 2019-12-09 15:34:04 +01:00
Floessie
ba36a92240 Merge pull request #5534 from Beep6581/cr3_cleanup
CR3 decoder cleanup and fixes
2019-12-07 11:57:36 +01:00
Flössie
b1bce98c06 supportsPartial is bool 2019-12-07 09:38:18 +01:00
Ingo Weyrich
743827c7c8 Fix cppcheck warnings 2019-12-06 12:21:19 +01:00
Flössie
b0e52b3202 Whitespace corrections 2019-12-06 09:28:34 +01:00
Flössie
03c094a42b Fix fseek()/ftell() issue 2019-12-06 09:18:16 +01:00
Flössie
8f82a8362a Finalize const/bool cleanup 2019-12-06 08:18:17 +01:00
Ingo Weyrich
10b085b01e lmmse demosaic: own compilation unit and some cleanups 2019-12-05 21:40:32 +01:00
Ingo Weyrich
170a3a18c5 white level for Fujifilm HS30EXR 2019-12-05 17:15:06 +01:00
Ingo Weyrich
7fd54cb56f white level for Fujifilm X10 2019-12-05 16:40:44 +01:00
Flössie
2ceda11912 Fix Apple build (fixes #5553) 2019-12-05 09:54:16 +01:00
Flössie
49f5833002 More bool and const (WIP) 2019-12-04 10:25:52 +01:00
Ingo Weyrich
a2b0167339 Fix broken non OMP build 2019-12-02 19:46:00 +01:00
Ingo Weyrich
f95acfe74e Multithread lensfun vignetting correction 2019-12-02 17:32:13 +01:00
Flössie
5852ee02b9 Make LFDatabase::findModifier() non-static 2019-12-02 08:20:25 +01:00
Ingo Weyrich
92e6768bee Improve caching of lensfun mismatches 2019-11-29 15:19:34 +01:00
Flössie
c4fe355fbb Fix formatting and use bool (WIP) 2019-11-29 14:57:14 +01:00
Ingo Weyrich
b8dcd93a6a Reduce searches for lensfun data if there is no entry for the combo of camera and lens 2019-11-29 13:09:37 +01:00
Ingo Weyrich
200d746465 Capture sharpening: fix border issues 2019-11-28 16:07:41 +01:00
Flössie
c5168038e8 Add missing include 2019-11-28 10:37:18 +01:00
Flössie
4529999f49 C++-style casts (clang-tidy) 2019-11-28 09:11:56 +01:00
Flössie
85abe54a16 Replace defines 2019-11-28 08:54:38 +01:00
Flössie
63fa62e0e2 Merge branch 'dev' into cr3_cleanup 2019-11-28 07:39:00 +01:00
Ingo Weyrich
04b08741ee Further cleanups 2019-11-27 18:55:20 +01:00
Flössie
97960f335f Fix silly error and with it the Clang build 2019-11-27 10:32:43 +01:00
Flössie
4f153a6d72 Fix warnings 2019-11-27 09:49:13 +01:00
Ingo Weyrich
79431ffa1d Some changes suggested by @Floessie 2019-11-26 19:42:48 +01:00
Ingo Weyrich
2a4891827d Some cleanups 2019-11-26 15:25:11 +01:00
Flössie
e89b6be76e DCraw::parseCR3() cleanup 2019-11-26 09:52:51 +01:00
Ingo Weyrich
f054ed00e8 Pixelshift: optionally use RCD+VNG4 for motion parts 2019-11-25 01:00:49 +01:00
Ingo Weyrich
614458c3c6 added support for Sony A7rIV 16-shot pixel-shift files, ported from ART, thanks to @agriggio 2019-11-22 17:26:44 +01:00
Ingo Weyrich
81f9ab7315 Regression in Olympus E-M10MarkII raw black levels, fixes #5535 2019-11-22 14:37:10 +01:00
Flössie
2ae5f198d7 Cleanups for the first few lines 2019-11-22 10:40:01 +01:00
Ingo Weyrich
7b54c7f2a4 Some code cleanups 2019-11-21 21:36:57 +01:00
Ingo Weyrich
89d8c341a6 Some code cleanups 2019-11-21 19:36:16 +01:00
Ingo Weyrich
ff3e314662 Merge pull request #5531 from Beep6581/hotdeadpixel_speedup
findHotDeadPixels: speedup and reduced memory usage
2019-11-21 16:50:54 +01:00
Ingo Weyrich
8b5533cfcb Dual demosaic: disable timing code 2019-11-21 16:28:45 +01:00
Ingo Weyrich
9bd53a5cc9 Dual demosaic: reduce memory usage by width * height * 4 byte 2019-11-21 16:23:39 +01:00
Ingo Weyrich
0b5b9b0f3e findHotDeadPixels: further speedup and cleanup, #5531 2019-11-21 15:37:55 +01:00