588 Commits

Author SHA1 Message Date
Lawrence
7395b26db4 Add rotation to camera-based perspective tool
This rotation is different from the Rotate tool and the post-correction
adjustment rotation because it is applied between camera shift and
camera angle. It is equivalent to correcting the camera's roll and is
the same as the rotation calculated by automatic perspective correction.
2020-01-18 17:13:24 -08:00
Desmis
1570c39b75 Iprovment to preview selection deltaE 2020-01-14 11:18:58 +01:00
Desmis
ba7a61c391 merge with dev 2020-01-13 08:33:45 +01:00
Desmis
757444fca6 graduated filter for encoding log 2020-01-11 16:07:38 +01:00
Desmis
145e8753b4 Graduated Filter local contrast wavelet 2020-01-10 14:36:21 +01:00
Desmis
b5b52989ef Change warm-cool from Exposure to Vibrance 2020-01-07 16:09:15 +01:00
Desmis
31d3b7bb4c merge with dev 2020-01-07 10:16:40 +01:00
Desmis
40449b931b Add threshold to wavelet pyramid dynamic compression 2020-01-04 13:44:15 +01:00
Desmis
e6bcb49656 2nd compress dynamic wavelet pyramid 2020-01-03 15:29:29 +01:00
Desmis
5823ad39f2 First dynamic wavelet compression pyramid 2020-01-03 13:41:25 +01:00
Ingo Weyrich
49d594f67a Log transform: add method combobox 2020-01-02 19:28:57 +01:00
Desmis
353a081bd0 Added checkbox to frame compression dynamic wavelet 2019-12-29 10:16:31 +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
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
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
cf214c7a1b Save provisory work GUI 2019-12-20 18:16:10 +01:00
Desmis
f4ad061cb9 save provisory GUI work 2019-12-20 16:14:58 +01:00
Desmis
8361591e0e Simplify denoise curve replace 4 sliders luminance 2019-12-20 08:52:52 +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
3f4f144ec6 Improve settings balance 2019-12-17 16:08:14 +01:00
Desmis
81e08265ec 2nd levels and resid dynamic range compression contrast wavelet 2019-12-16 14:16:12 +01:00
Desmis
1981b17245 First levels dynamic range compress Contrast wavelet 2019-12-16 12:36:45 +01:00
Desmis
2b1e94e6bd Others improvments to wavelet pyramid 2019-12-15 13:29:32 +01:00
Desmis
025f444d7e Improve contrast levels with sigma 2019-12-15 08:21:41 +01:00
Desmis
2f414e20ed Add contrast by level to wavelet pyramid 2019-12-14 09:08:12 +01:00
Desmis
290fa796e8 Third commit Wavelet pyramid - Blur level curve by level 2019-12-13 18:27:54 +01:00
Desmis
e73c8666e2 Second commit Wavelet Pyramid - Blur levels simplified 2019-12-13 16:24:52 +01:00
Desmis
446ae7b49c First commit Wavelet Pyramid - Clarity and Blur Residual 2019-12-13 13:37:16 +01:00
Desmis
ab50cfdc58 Encoding log - add slider base log 2019-12-11 15:07:40 +01:00
Hombre57
c23f976302 Merge branch 'dev' into spot-removal-tool 2019-12-08 00:37:54 +01:00
Desmis
b2b4ffe3d7 add full image control 2019-12-05 18:44:07 +01:00
Desmis
1d45e92f86 Save work 2019-12-04 14:32:11 +01:00
Desmis
df13581e2d various improvment and add Mask Blur to expert Color and Light 2019-11-30 11:01:02 +01:00
Desmis
05769e69ca Fixed hugged bug due to a stupidity on my part 2019-11-30 05:52:42 +01:00
Desmis
ae21edf255 Another changes repartition confirmed normal 2019-11-28 09:22:43 +01:00
Desmis
bbb6a02980 Simplify and optimize code call transformed to othes functions 2019-11-26 08:51:09 +01:00
Desmis
1705868ee1 Add GF luminance to vibrance 2019-11-24 18:10:01 +01:00
Desmis
4ff81092c4 Graduated filter hue for color and light Merge file 2019-11-23 14:50:34 +01:00
Desmis
46f14234d6 Improvment to graduated filter - chroma - feather - tooltip 2019-11-23 10:17:41 +01:00
Desmis
3a9847dffb Add gf to colorlight and gf chroma to merge file 2019-11-22 16:56:31 +01:00
Desmis
06131b5bf8 Fixed bug and add graduated filter to shadowsHighlight 2019-11-22 10:46:33 +01:00
Desmis
056e30622b Add graduated filter to exposure 2019-11-21 19:32:00 +01:00
Desmis
30a51ffd7a Add graduate filter to mask exposure 2019-11-21 17:36:57 +01:00
Desmis
bb9673db68 Add background to merge file 2019-11-18 18:05:29 +01:00
Desmis
7acdcaca6a GUI mask vibrance - disabled 2019-11-17 13:58:19 +01:00
Desmis
8f79670aa8 save provisory work GUI vibrance mask 2019-11-17 11:24:29 +01:00