Commit Graph

8739 Commits

Author SHA1 Message Date
Ingo Weyrich
58d8e66b72 Log transform: speedup, #5588 2019-12-31 19:09:06 +01:00
Ingo Weyrich
bcb7df44df Log transform: fix segfault 2019-12-31 15:23:24 +01:00
Ingo Weyrich
d17f71eb72 Applying geometric transformations leads to dark artifacts in combination with capture sharpening, fixes #5588 2019-12-30 15:27:17 +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
fbc7455ead Merge pull request #5584 from Beep6581/darkframe-speedup
Darkframe speedup
2019-12-28 19:33:55 +01:00
Ingo Weyrich
f501ec6398 Simplify copyAndClampLine, make in place transformations when gamutwarning is disabled 2019-12-28 13:19:45 +01:00
Ingo Weyrich
8af740f94b Merge branch 'dev' into darkframe-speedup 2019-12-28 13:05:58 +01: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
Lawrence
253da17bc7 Add homogeneous scale transformation
Add function to generate homogeneous 3 dimensional scale transformation
matrices.
2019-12-25 14:45:47 -08:00
Lawrence
1c6a635497 Add homogeneous coordinate functions
Add functions for transformations in 3 dimensional homogeneous space.
These include functions that generate transformation matrices and
perform matrix multiplication.
2019-12-24 15:18:15 -08:00
Ingo Weyrich
b2cfb457cc multithread darkframe subtraction, #5582 2019-12-24 19:07:32 +01:00
Ingo Weyrich
c4cf68c6b5 Speedup for darkframe subtraction 2019-12-24 19:01:36 +01:00
Morgan Hardwood
898527732b ./tools/generateTranslationDiffs 2019-12-23 12:42:19 +01:00
Morgan Hardwood
c75cc32268 Japanese translation updated by Yz2house
Closes #5576
2019-12-23 12:41:36 +01: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
Ingo Weyrich
5face2e449 buildBlendMask: remove multiplication by amount as amount always was 1 2019-12-20 17:44:51 +01:00
Floessie
f8f100262f Merge pull request #5573 from luzpaz/typos
Fix doxygen typo and other various typos
2019-12-20 13:39:27 +01:00
Flössie
bd6088837c Fix crash on DCraw::data_error (fixes #5571) 2019-12-20 13:34:37 +01:00
luz.paz
7f425e7fe6 Found a few more typos 2019-12-20 06:07:52 -05:00
luz.paz
c5d2e00ba3 Fixed previous commit per review feedback 2019-12-20 06:06: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
Ingo Weyrich
3a207dace7 Some optimizations for capture sharpening 2019-12-18 17:33:41 +01:00
Ingo Weyrich
5e0ad767ad Capture sharpening: fix wrong calculation for radius > 0.84 2019-12-18 13:16:37 +01:00
Beep6581
6dadab7236 Merge pull request #5557 from Krijger/ci-macos
Continuous integration for macOS
2019-12-17 10:44:24 +01: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
Ingo Weyrich
6b22101500 better white level for FUJIFILM X-A7 2019-12-15 17:00:50 +01:00
Desmis
b2c1f5de66 merge with dev 2019-12-15 08:24:35 +01:00
Desmis
025f444d7e Improve contrast levels with sigma 2019-12-15 08:21:41 +01:00
Ingo Weyrich
eb4fe6a7c6 Merge pull request #5562 from Beep6581/review_demosaicers
Clip negative values to zero in raw processing, #5561
2019-12-13 16:54:51 +01:00
Quinten Krijger
66cf9f0c7a ci macos: cleanup debug print statement 2019-12-13 16:09:05 +01:00
Quinten Krijger
8425e974e6 ci macos: document echo ::set-env 2019-12-13 16:09:05 +01:00
Quinten Krijger
8071e42292 ci macos: automatic jobs config test 2 2019-12-13 16:09:05 +01:00
Quinten Krijger
ed6eeca929 ci macos: explain GITHUB_REF parsing 2019-12-13 16:09:05 +01:00
Quinten Krijger
ec00334acb ci macos: use Apple's way of spelling macOS 2019-12-13 16:09:05 +01:00
Quinten Krijger
2498423a6f ci macos: avoid ls parsing bugs 2019-12-13 16:09:05 +01:00
Quinten Krijger
67e35fdb5d ci macos: fix icons path 2019-12-13 16:06:47 +01:00
Quinten Krijger
10d5fc4d8e ci macos: fix globbing 2019-12-13 16:06:47 +01:00
Quinten Krijger
0e7a7efa1a ci macos: create directories for icons 2019-12-13 16:03:25 +01:00
Quinten Krijger
055072c15a ci macos: install shared-mime-info 2019-12-13 16:03:25 +01:00