Commit Graph

2357 Commits

Author SHA1 Message Date
Ingo Weyrich
8f291c3ff2 Be -Wunused-macros clean 2020-02-07 20:18:35 +01:00
Ingo Weyrich
aae22fcc86 Merge pull request #5617 from Beep6581/devirtualize
devirtualize method calls by declaring classes and methods final
2020-02-07 17:06:30 +01:00
Ingo Weyrich
f7fd7e578b Merge pull request #5611 from Beep6581/reduce_include_dependencies
reduce some include dependencies
2020-02-07 17:05:57 +01:00
Desmis
a91b9d361e merge with dev 2020-02-06 11:44:03 +01:00
Desmis
a70ab81dcc merge with dev 2020-02-06 11:20:05 +01:00
Ingo Weyrich
093e873517 Capture Sharpening: support radius up to 2.0 2020-01-29 12:49:44 +01:00
Beep6581
397b882ceb Merge pull request #5607 from rfranke/issue5599
Fix scrolling in thumb browser under macOS, see #5599
2020-01-27 12:29:24 +01:00
rfranke
2dc66e81e1 Create progress tab label only once, see #5596 2020-01-25 15:58:26 +01:00
Desmis
83ebcff455 merge with dev 2020-01-25 08:14:14 +01:00
Desmis
7dd5f81fbd merge with dev 2020-01-25 07:46:38 +01:00
Beep6581
227c2fbba7 Merge pull request #5587 from rfranke/issue3198
Expand subfolders in directory browser when opening folder

PR #5587
Closes #3198
2020-01-24 18:31:00 +01:00
Ingo Weyrich
0d2ffb5e61 more final fixes 2020-01-24 14:53:41 +01:00
Ingo Weyrich
9a4ade6f20 devirtualize method calls by declaring classes and methods final 2020-01-23 22:18:46 +01:00
Ingo Weyrich
b2443b0e7e more double promote fixes, still not complete 2020-01-21 00:16:27 +01:00
Lawrence
f16773eb3f Merge branch 'dev' into perspective
Resolve minor conflict in ImProcFunctions::transformGeneral and add new
arguments for use of ImProcFunctions::needsTransform in
PerspectiveCorrection::autocompute.
2020-01-18 18:41:26 -08:00
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
Ingo Weyrich
bf301b7e40 reduce include depenencies 2020-01-18 23:46:48 +01:00
Lawrence
72dfa1b242 Add auto perspective correction to GUI
Add three buttons for correcting pitch, yaw, or both. Horizontal and/or
vertical tilt adjusters are updated with the automatically computed
values.
2020-01-18 14:32:03 -08:00
Ingo Weyrich
d82ea3af02 reduce some include dependencies 2020-01-17 23:18:48 +01:00
Desmis
ba7a61c391 merge with dev 2020-01-13 08:33:45 +01:00
Desmis
4e81cbaa72 merge with dev 2020-01-13 08:02:43 +01:00
rfranke
590ee199cc Fix scrolling in thumb browser under macOS, see #5599
The Quartz backend emits adjusted GdkEventScroll delta values.
This is why the RT thumb browser scrolls several hundred times too fast
if the deltas are additionally multiplied by thumb size under macOS.

See use of scroll_unit and GDK_WINDOWING_QUARTZ for Gtk scrollbars:
https://gitlab.gnome.org/GNOME/gtk/blob/gtk-3-24/gtk/gtkrange.c#L3080
2020-01-12 16:09:11 +01:00
Desmis
01fbc2eddf Suppress interaction between wavelet and tone-mapping 2020-01-12 08:03:52 +01:00
Desmis
d8564cb652 another fix for wavelet <=> tone mapping 2020-01-11 16:25:50 +01:00
Desmis
2ff619e5e2 Fixed bad behavior gamma slider tone-mapping 2020-01-11 08:23:15 +01:00
Ingo Weyrich
c6f021dcc9 Merge pull request #5589 from Beep6581/logtransform
Applying geometric transformations leads to dark artifacts in combina…
2020-01-06 20:52:22 +01:00
Ingo Weyrich
5252836503 filterpanel: make full use of the screen vertical space, copied from ART 2020-01-04 11:28:05 +01:00
Ingo Weyrich
7c2aa2405b Startup crashes in LensProfilePanel::LFDbHelper, fixes #5577, thanks to @dlichtenberger for the fix 2020-01-02 23:01:37 +01:00
Ingo Weyrich
49d594f67a Log transform: add method combobox 2020-01-02 19:28:57 +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
rfranke
3020f7dba4 Expand directories without subdirectories as well
This lets the triangle disappear to indicate an expanded state
with no subdirectories.
2019-12-30 06:00:31 +01:00
rfranke
37deb083c5 Expand subfolders in directory browser, see #3198 2019-12-29 16:57:41 +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
Ingo Weyrich
a62b0f8040 Use gtk_show_uri, fixes #5578, thanks to @Floessie for the patch 2019-12-28 13:05:18 +01:00
Lawrence
f514a69104 Group perspective adjusters in frames
Divide perspective correction adjusters into three groups: camera
attributes, post-correction adjustments, and perspective distortion
recovery.
2019-12-27 20:50:18 -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
Beep6581
73655b6099 Merge pull request #5567 from Beep6581/help-btn
Added help button to main menu #5566
2019-12-20 19:59:06 +01:00
luz.paz
7f425e7fe6 Found a few more typos 2019-12-20 06:07:52 -05:00
luz.paz
765499bf55 Fix doxygen typo and other various typos 2019-12-19 20:46:35 -05: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
Morgan Hardwood
56de2e7a07 Help button - new icon, simplified code #5567 2019-12-17 10:38:04 +01:00
Ingo Weyrich
abac9856e7 Apply internal default profile (neutral) instead of user defined default profiles for missing parts of existing profile when loading a raw file which already has a .pp3, fixes #5564 2019-12-17 00:44:01 +01:00
Morgan Hardwood
9a0cae0357 Clear progress bar when opening in external editor
The last step remained visible in the progress bar when invoking the external editor.

Fixes #5475
2019-12-16 23:47:54 +01:00
Morgan Hardwood
d6f65dc8e2 Added help button to main menu #5566
Opens RawPedia in the default URI handler
2019-12-16 23:43:09 +01:00
Ingo Weyrich
4a25633bd7 Do not gray out adjusters when automatic is enabled, fixes #5565 2019-12-16 14:35:40 +01:00
Desmis
025f444d7e Improve contrast levels with sigma 2019-12-15 08:21:41 +01:00
Desmis
44e01ffcb9 merge with dev 2019-12-06 17:30:03 +01:00
Desmis
4761b28333 merge with dev 2019-12-06 17:19:21 +01:00
Flössie
5852ee02b9 Make LFDatabase::findModifier() non-static 2019-12-02 08:20:25 +01:00