202 Commits

Author SHA1 Message Date
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
Ingo Weyrich
2a4891827d Some cleanups 2019-11-26 15:25:11 +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
Morgan Hardwood
60b2196bce Updated gnu.org links to use HTTPS 2019-09-10 12:34:57 +02:00
Ingo Weyrich
8744f8f826 cppcheck: further fixes 2019-08-08 19:10:29 +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
Alberto Griggio
14ac4babec added haze removal tool
Based on the paper:
  "Single Image Haze Removal Using Dark Channel Prior" by He, Sun and Tang
using a guided filter for the "soft matting" of the transmission map
2018-10-10 10:02:06 +02:00
Hombre
da0830c794 Merge remote-tracking branch 'origin/scrolled-toolbar-fix' into dev 2018-10-09 20:45:01 +02:00
heckflosse
78989731f5 Always use icons for tab headers, #4772 2018-09-18 11:37:15 +02:00
Hombre
0d61f14bae Added support for GDK_SCROLL_SMOOTH in some widgets
see #4781, #4786
2018-09-15 21:14:48 +02:00
Morgan Hardwood
5cc53a421e Use hard-coded NR default settings #4327
Now the hard-coded default values of the Noise Reduction settings which
were removed from Preferences are used, instead of reading them from
the options file.

Reverted accidentally-deleted "preview demosaicing method" setting.
2018-09-01 22:59:28 +02:00
Morgan Hardwood
4fd780c74b Removes Noise Reduction settings from Preferences
- Noise Reduction settings removed from
  Preferences > Performance & Quality
- Performance & Quality renamed to Performance, container frame renamed
  to Threads, since it applies to more than just the NR tool.
- Localization keys removed.
- TP_RETINEX_GAINTRANSMISSION_TOOLTIP key revised, closes #3299
2018-08-19 22:33:21 +02:00
Morgan Hardwood
9ced597a18 Makes Preferences window scrollable
- The Preferences window is now scrollable.
- Cleanup of arcane variable names and obsolete comments.
- Issue #4581
2018-08-04 00:17:27 +02:00
Hombre
3a6556404a Merge branch 'dev' into testoutputprofile 2018-07-22 03:25:49 +02:00
Morgan Hardwood
10af344672 Merge branch 'dev' into iconcleanup4 2018-07-13 18:14:48 +02:00
Morgan Hardwood
522495f4eb Icon cleanup #4469 #3547
Rebased in new branch to cleanup commit history.
2018-07-13 18:13:35 +02:00