212 Commits

Author SHA1 Message Date
Lawrence Lee
fb5094b6f9 Merge from branch 'dev' 2020-05-04 14:07:45 -07:00
Flössie
8886402e93 Fix Clang-10 warnings 2020-04-02 13:23:57 +02: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
Ingo Weyrich
2a4891827d Some cleanups 2019-11-26 15:25:11 +01:00
Desmis
d621721ffe merge wit dev 2019-11-07 07:17:19 +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
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
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
heckflosse
40aa7d2034 Fix memory leak in preferences dialog 2019-05-19 13:20:34 +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
Morgan Hardwood
bb58e65ffc Revision of Lens/Geometry and CA labels
Closes #5132
2019-04-10 13:31:21 +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
Morgan Hardwood
5b50b2d059 Various interface fixes, closes #5211 2019-03-25 01:53:07 +01:00
Hombre
52dcd08b97 Merge branch 'dev' into hidpi-icons 2019-03-13 01:00:14 +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
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
Hombre
d66437dd98 Updated RawTherapee theme, now works in HiDPI mode
see issue #3547
2019-02-28 21:30:20 +01:00
Flössie
0cbc4923bc Relax dependency from procparams.h 2019-02-28 20:44:50 +01:00
Hombre
bd175ec8d1 Merge branch 'dev' into hidpi-icons 2019-02-25 22:37:00 +01:00
heckflosse
46aabd2003 Unfix fixed white level, #5187 2019-02-23 14:00:45 +01:00
Hombre
78fa7dc063 SHCSelector, ThresholdSelector, LabGrid and Curves now handles HiDPI
see issue #3547
2019-01-02 18:04:58 +01:00
Hombre
81407cd663 Adding SVG support for icons with automatic cache handling
See issue #3547 and #4803
2018-12-13 00:04:30 +01:00
Morgan Hardwood
bd665e7133 Updated language keys in Preferences, closes #5061
Commit bba0f7 cleaned up some language keys. Two of them were
consolidated into one as they had an identical label but belonged to a
different section of the CIECAM02 tool.
As a result, Preferences needed to be updated.
2018-12-03 16:18:16 +01:00
Morgan Hardwood
a6a6fa26da Added "restart required" label for theme #4968 2018-11-29 21:11:30 +01:00
Morgan Hardwood
cb0b96f702 Rearranged contents of Preferences> Appearance
Closes #5003
2018-11-21 13:11:47 +01:00
Morgan Hardwood
ead059ee8c Better layout of Preferences > Appearance
The Appearance frame no longer causes the minimum Preferences window width to be large.
2018-11-21 02:48:46 +01:00
Morgan Hardwood
8b4027d75d Crop Editing layout fixed
Preferences > Image Processing > Crop Edit was vertically centered with
large empty gaps above and below the frame. Now it starts as soon as the
frame above ends.
2018-11-21 01:50:44 +01:00
Morgan Hardwood
bba0f72ddc Revision of interface strings
Changes for consistency, grammar, clarity, and making optimal use of
screen space.
2018-11-21 01:12:54 +01:00
U-PC-BUREAU\jacques
d080b9ffcd merge with dev and fixed illumant if different DEF 2018-11-13 13:37:56 +01:00
Hombre
561ea41856 Updated French translation + minor change in Preferences window
(no issue)
2018-11-12 01:04:14 +01:00
U-PC-BUREAU\jacques
c5c04769e4 Improvments to ICC profile creator 2018-11-11 14:34:45 +01:00
TooWaBoo
bbb51b1070
Removed "#PrefCacheSeparator" ID and add class "grid-row-separator" 2018-11-08 06:11:50 +01:00
TooWaBoo
5edf4d13a9
Update preferences.cc
Save space in File browser tab
2018-11-05 06:08:01 +01:00
Morgan Hardwood
aeae61f67f Updated Preferences > File Browser > Cache Options
- UI updated to use grid so that the options nicely align.
- "Clear only cached processing profiles" and "Clear all" buttons are
  hidden when Preferences > Image Processing > Processing profile saving
  location is set to "next to the input file", #4911
2018-11-01 17:36:20 +01:00
Alberto Griggio
b50b8dea9f merge with dev 2018-10-27 16:11:17 +02:00
U-PC-BUREAU\jacques
72699902a3 Suppress TP_GAMMA_OUTPUT in preferences 2018-10-19 08:44:00 +02:00