Commit Graph

4709 Commits

Author SHA1 Message Date
Ingo Weyrich
52f7c2c531 Log transform: further speedup 2020-01-01 15:18:47 +01:00
Ingo Weyrich
6302084804 sleef: use our own replacement of rint. Based on code from Alberto Griggio, but further optimized for SSE 2020-01-01 14:52:15 +01:00
Ingo Weyrich
399a0055c6 Log transform: Fix broken build 2019-12-31 20:07:39 +01:00
Ingo Weyrich
58d8e66b72 Log transform: speedup, #5588 2019-12-31 19:09:06 +01:00
Ingo Weyrich
bcb7df44df Log transform: fix segfault 2019-12-31 15:23:24 +01:00
Ingo Weyrich
d17f71eb72 Applying geometric transformations leads to dark artifacts in combination with capture sharpening, fixes #5588 2019-12-30 15:27:17 +01:00
Desmis
89bdb7e848 merge with dev 2019-12-30 10:28:19 +01:00
Desmis
31ae02e080 merge with dev 2019-12-30 10:14:27 +01:00
Desmis
0dfbedfda7 Improvment to encode 2019-12-29 15:54:20 +01:00
Desmis
353a081bd0 Added checkbox to frame compression dynamic wavelet 2019-12-29 10:16:31 +01:00
Desmis
faf849ef3f merge with dev 2019-12-29 08:47:44 +01:00
Desmis
d625052a4a added checkbox to frame level contrast pyramid 2019-12-29 08:26:59 +01:00
Desmis
01519587a7 added checkbox to frame blur pyramid 2019-12-29 07:03:47 +01:00
Lawrence
f83a62be5b Add back the old perspective tool
Add perspective correction method chooser to allow choice between the
original perspective tool (simple) and the new one (camera-based).
2019-12-28 17:18:59 -08:00
Desmis
7af94625b6 Improvment to wavelet pyramid and chnage some labels 2019-12-28 18:12:57 +01:00
Desmis
0723d50739 Fixed crash with too small spot sharp 2019-12-28 13:35:17 +01:00
Ingo Weyrich
f501ec6398 Simplify copyAndClampLine, make in place transformations when gamutwarning is disabled 2019-12-28 13:19:45 +01:00
Desmis
2b1d45696d 3rd optimization wavelet pyramid 2019-12-28 11:27:27 +01:00
Desmis
9306634394 2nd optimization memory wavelet pyramid 2019-12-28 10:33:25 +01:00
Desmis
414b66ea32 Added offset to contrast by level 2019-12-28 07:37:47 +01:00
Lawrence
f9a8875bb5 Add more perspective correction adjusters
Add camera lens/sensor shift support with horizontal/vertical shift
adjusters.

Add shifting and rotation of corrected image. This allows
post-correction adjustments to be made more easily given the fixed image
canvas size.

Add scaling of final result. This also helps reduce frustrations with
the fixed image canvas size.

Replace field of view with focal length and crop factor. Use of focal
length and crop factor is more common than diagonal angular field of
view. The new adjusters should be more intuitive for most photographers.
The implementation of perspective correction uses a focal length
relative to the image dimensions. The existing code calculates that
focal length with trigonometry. The new code does it by multiplying
by a ratio.

Replace vertical bias with horizontal and vertical perspective
distortion recovery. Vertical bias is not intuitive as it causes
vertical lines to converge off-center if horizontal correction is
applied. The new adjusters perform perspective distortion on the
projection of the corrected image, allowing vertical/horizontal lines to
converge towards the center lines of the image.

Refactor perspective transformation math to use dynamically computed
homogeneous coordinate matrices instead of pre-calculated formulas. This
should add some overhead, but results in more maintainable code and
possible improved performance due to the reduced number of arithmetic
and assignments needed for each pixel.

Integrate new adjusters in the GUI. This includes fine granularity for
batch processing add/set modes and history.
2019-12-27 16:40:41 -08:00
Desmis
9422a0b7e0 Fixed crash with small spot and sharp and output jpg tif 2019-12-27 17:17:26 +01:00
Desmis
befb645f42 First optimisation memeory pyramid for a and b 2019-12-27 16:59:10 +01:00
Lawrence
253da17bc7 Add homogeneous scale transformation
Add function to generate homogeneous 3 dimensional scale transformation
matrices.
2019-12-25 14:45:47 -08:00
Lawrence
1c6a635497 Add homogeneous coordinate functions
Add functions for transformations in 3 dimensional homogeneous space.
These include functions that generate transformation matrices and
perform matrix multiplication.
2019-12-24 15:18:15 -08:00
Ingo Weyrich
b2cfb457cc multithread darkframe subtraction, #5582 2019-12-24 19:07:32 +01:00
Ingo Weyrich
c4cf68c6b5 Speedup for darkframe subtraction 2019-12-24 19:01:36 +01:00
Desmis
e1a938e3a4 Add chroma to blur levels 2019-12-22 06:47:08 +01:00
Desmis
8d38dda3ce Added chroma level to wavelet pyramid by level 2019-12-21 17:56:57 +01:00
Desmis
8884561a79 Improve some labels and tooltip 2019-12-21 13:44:41 +01:00
Desmis
46b9aa95e2 Added mask to local contrast 2019-12-21 12:51:27 +01:00
Desmis
ba750b22a7 Arrange code 2019-12-21 06:50:46 +01:00
Desmis
2bf5c494c1 merge with dev 2019-12-20 18:32:00 +01:00
Desmis
cf214c7a1b Save provisory work GUI 2019-12-20 18:16:10 +01:00
Ingo Weyrich
5face2e449 buildBlendMask: remove multiplication by amount as amount always was 1 2019-12-20 17:44:51 +01:00
Desmis
7c79cc7184 merge with dev 2019-12-20 16:41:32 +01:00
Desmis
f4ad061cb9 save provisory GUI work 2019-12-20 16:14:58 +01:00
Floessie
f8f100262f Merge pull request #5573 from luzpaz/typos
Fix doxygen typo and other various typos
2019-12-20 13:39:27 +01:00
Flössie
bd6088837c Fix crash on DCraw::data_error (fixes #5571) 2019-12-20 13:34:37 +01:00
Desmis
81638ffb00 adapted curves level to level 9 2019-12-20 12:34:52 +01:00
luz.paz
c5d2e00ba3 Fixed previous commit per review feedback 2019-12-20 06:06:52 -05:00
Desmis
8361591e0e Simplify denoise curve replace 4 sliders luminance 2019-12-20 08:52:52 +01:00
luz.paz
765499bf55 Fix doxygen typo and other various typos 2019-12-19 20:46:35 -05:00
Desmis
0a97248e0c Improve some labels and tooltip - clean code 2019-12-19 09:05:26 +01:00
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
Desmis
08e2ba79d5 merge with dev 2019-12-18 18:10:04 +01:00
Ingo Weyrich
3a207dace7 Some optimizations for capture sharpening 2019-12-18 17:33:41 +01:00
Desmis
05092ea563 various improvement to balance 2019-12-18 16:46:19 +01:00
Ingo Weyrich
5e0ad767ad Capture sharpening: fix wrong calculation for radius > 0.84 2019-12-18 13:16:37 +01:00
Desmis
5dd3dcc94b Improve balance 2019-12-18 10:42:31 +01:00