399 Commits

Author SHA1 Message Date
Pandagrapher
bb95dd7a1b Improves Locallab tools advice tooltips management
Other:
- GUI widgets cleanup
2020-05-08 12:34:10 +02:00
Lawrence Lee
fb5094b6f9 Merge from branch 'dev' 2020-05-04 14:07:45 -07:00
Pandagrapher
bdb8a95b14 Use default complexity mode defined in preferences when adding tool 2020-05-04 20:03:58 +02:00
Desmis
fb23a3c8ef Merge with dev 2020-04-04 07:13:04 +02:00
Flössie
8886402e93 Fix Clang-10 warnings 2020-04-02 13:23:57 +02:00
Desmis
e573de78b4 merge with dev 2020-03-19 13:40:11 +01:00
Lawrence Lee
357cf5b96a Remove scaling from perspective correction
Scaling is applied at the end of all geometric transformations, so it
would be more appropriate outside of the perspective correction tool.
Such an implementation would also work better with the auto-fit feature.
2020-02-26 22:52:55 -08:00
Lawrence Lee
ab0c9c6cf0 Correct string in batch processing preferences
A string for perspective correction lacked the camera rotation.
2020-02-26 16:46:32 -08: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
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
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
c0da01cf9a merge with dev 2019-12-01 06:53:23 +01:00
Desmis
d645dc5951 merge with dev 2019-11-28 06:50:05 +01:00
Ingo Weyrich
2a4891827d Some cleanups 2019-11-26 15:25:11 +01:00
Desmis
3ea5f56dcd 3d step simplification GUI normal conf expert Vibrance SoftLigh Tonemapping 2019-11-26 13:26:35 +01:00
Desmis
b0e5676f24 First step simplification GUI norma confirmed expert Color and Light 2019-11-26 10:47:03 +01:00
Desmis
d621721ffe merge wit dev 2019-11-07 07:17:19 +01:00
Ingo Weyrich
033d9fe02a Merge branch 'dev' into newlocallab 2019-11-04 23:01:33 +01:00
Ingo Weyrich
b3b1008270 Further reduction of include dependencies 2019-11-02 17:29:26 +01:00
Ingo Weyrich
ba8dda1836 Further cleanup of include dependencies 2019-10-30 16:38:02 +01:00
Ingo Weyrich
1acca23fe1 Further cleanup of include dependencies 2019-10-29 22:45:26 +01:00
Desmis
00df4707a8 merge with dev 2019-09-11 11:41:24 +02:00
Desmis
0711373021 Merge with dev 2019-09-11 08:35:25 +02:00
Morgan Hardwood
60b2196bce Updated gnu.org links to use HTTPS 2019-09-10 12:34:57 +02:00
Desmis
02e58bc88e merge with dev 2019-08-17 18:08:59 +02:00
Desmis
7ed4c4422a merge with dev 2019-08-17 06:47:28 +02:00
Ingo Weyrich
8744f8f826 cppcheck: further fixes 2019-08-08 19:10:29 +02:00
Desmis
83f487753c Improve shadows-Highlight Residual 2019-05-27 09:23:56 +02:00
Desmis
fc9867eb2d Improvment to residual image 2019-05-21 07:48:18 +02:00
Desmis
0d05d35a1b merge with dev 2019-05-19 18:32:38 +02:00
heckflosse
40aa7d2034 Fix memory leak in preferences dialog 2019-05-19 13:20:34 +02:00
Desmis
c9af6109ab merge with dev 2019-04-16 10:59:38 +02:00
heckflosse
3579fc4fb3 use attach_next_to instead of attach 2019-04-15 15:47:26 +02:00
Hombre57
feb122553e Minor bugfix 2019-04-14 17:19:48 +02:00
Hombre57
89e63639be Making pseudo-HiDPI tweaks optional, disabled by default
(see issue #5276)
2019-04-14 16:58:11 +02:00
Desmis
e80617d39b merge with dev 2019-04-11 08:12:04 +02:00
Morgan Hardwood
bb58e65ffc Revision of Lens/Geometry and CA labels
Closes #5132
2019-04-10 13:31:21 +02:00
Desmis
99f3c14955 add showtooltip locallab in preferences 2019-04-09 14:56:12 +02:00
heckflosse
2c0a8e0056 Merge branch 'dev' into newlocallab 2019-04-05 00:38:56 +02:00
Morgan Hardwood
5bddcb45da Queue language key and string fixes
https://discuss.pixls.us/t/solved-change-of-queue-output-directory-not-taken-fully-into-account-if-no-f/11975
2019-04-03 16:24:55 +02:00
Desmis
404604f491 merge with dev 2019-03-25 11:19:06 +01:00
Morgan Hardwood
5b50b2d059 Various interface fixes, closes #5211 2019-03-25 01:53:07 +01:00
Desmis
cf27de89e2 Merge with dev 2019-03-17 10:45:17 +01:00
Hombre
52dcd08b97 Merge branch 'dev' into hidpi-icons 2019-03-13 01:00:14 +01:00
heckflosse
020204e0cb Merge branch 'dev' into newlocallab 2019-03-12 14:57:17 +01:00
Floessie
17bec0a2e5
Merge pull request #5197 from Beep6581/relax-procparam-dependency
Relax dependency from `procparams.h`
2019-03-11 15:14:00 +01:00
Desmis
040e900c02 merge with dev 2019-03-11 10:08:54 +01:00
heckflosse
b0a7b5fed3 tiles per thread for some more tiled algorithms, #5203 2019-03-09 18:47:02 +01:00
heckflosse
77475a3827 configurable tiles per thread also for rcd, #5203 2019-03-03 17:29:19 +01:00
heckflosse
b83069fd51 Allow user-defined setting for raw ca correction tiles per thread 2019-03-03 14:52:44 +01:00