Commit Graph

38 Commits

Author SHA1 Message Date
Simone Gotti
b98fa42857 lens profile: report availability of distortion and vignetting
Beside CA, report also distortion and vignetting availability. Rename
is${CORRECTION}Available methods to has${CORRECTION}.
2024-07-08 10:29:43 +02:00
Simone Gotti
dc0e23c82c iptransform: apply distortion and CA correction in a single pass
Some lens profile methods provides a way to correct distortion and CA in
a single step.

When available, applying distortion and CA correction when both enabled
in a single pass is more precise (see lensfun
ApplySubpixelGeometryDistortion doc) since it's usually how the profile
is done. Instead applying the CA correction in a step after distortion
correction could lead to a bit different (also if not always visible)
correction.

This is also required for future lens correction methods (like DNG
WarpRectilinear or corrections based on vendor metadata) that provides
only merged distortion and CA correction in a single pass.
2024-07-08 09:40:36 +02:00
Lawrence Lee
068420da60 Use camera crop factor to select Lensfun lens 2024-05-02 22:12:44 -07:00
Lawrence Lee
1efa06e887 Fix Lensfun camera mismatch
Work around a Lensfun bug that finds the wrong camera when given an
exact name of certain cameras.
2023-10-14 21:18:04 -07:00
Lawrence
b266cb7ca3 Remove scale parameter from distortion correction
Scale is no longer useful in LensCorrection::correctDistortion. Remove
the scale parameter from the functions.
2020-01-02 18:33:35 -08:00
Ingo Weyrich
f95acfe74e Multithread lensfun vignetting correction 2019-12-02 17:32:13 +01:00
Flössie
5852ee02b9 Make LFDatabase::findModifier() non-static 2019-12-02 08:20:25 +01:00
Ingo Weyrich
92e6768bee Improve caching of lensfun mismatches 2019-11-29 15:19:34 +01:00
Ingo Weyrich
b8dcd93a6a Reduce searches for lensfun data if there is no entry for the combo of camera and lens 2019-11-29 13:09:37 +01:00
Flössie
aacea7046c Fix Clang warnings plus some cleanups 2019-10-31 08:56:38 +01:00
Ingo Weyrich
068847eb5a Further cleanup of include dependencies 2019-10-29 21:06:27 +01:00
Ingo Weyrich
20726d5bfe Forward declare Imagefloat 2019-10-28 20:01:16 +01:00
Morgan Hardwood
60b2196bce Updated gnu.org links to use HTTPS 2019-09-10 12:34:57 +02:00
Flössie
0cbc4923bc Relax dependency from procparams.h 2019-02-28 20:44:50 +01:00
heckflosse
831e18ca45 Add override keyword. Thanks @Floessie 2018-11-22 16:19:16 +01:00
George Hilliard
5081c85f26 Fix leak of heap-allocated mutexes 2018-11-02 03:07:07 -05:00
Hombre
ca4f0e5239 Add mutex to the Lensfun library access.
(try to fix #4580)
2018-07-14 15:52:43 +02:00
Alberto Griggio
19281eedd1 merge branch 'lensprofile-ca-correction' into 'dev' 2017-11-14 22:53:27 +01:00
Alberto Griggio
dd6e411c13 lensfun: improved logic for handling fixed-lens cameras
Fixes #4161
2017-10-31 09:02:37 +01:00
Alberto Griggio
5a05b04e09 profile-based CA correction applied during 1:1 preview 2017-10-29 21:41:19 +01:00
Alberto Griggio
830fd6fdbb added support for CA correction via lensfun
Performance could be improved (see the comments marked "agriggio" in iptransform.cc and rtlensfun.cc)
2017-10-26 23:55:52 +02:00
Hombre57
8cef3c5e2f Merge branch 'dev' into multiframe-handling 2017-09-17 15:04:29 +02:00
Flössie
fb06a75c81 Fix clang warnings on new lensfun code (fixes #4086) 2017-09-17 11:06:11 +02:00
Hombre57
0905294bda Merge branch 'dev' into multiframe-handling, with some merge bugfix 2017-09-17 01:15:51 +02:00
Alberto Griggio
a467246834 fix compilation failure when using lensfun 0.2.x
Fixes #4085
2017-09-16 10:54:00 +02:00
Alberto Griggio
008f280e29 lensfun: added possibility to use a private copy of the LF database 2017-09-14 11:34:41 +02:00
Flössie
f2853d8742 Some little cleanups to rtlensfun.*
- Sanitize `std::unique_ptr<>` handling
- Use `NonCopyable`
- Employ `explicit operator bool()`
- Correct use of `std::vector::emplace_back()`
- Cleanup includes
- Streamline implementation order
2017-09-12 20:58:20 +02:00
Alberto Griggio
2d1cca8cbb disable vignetting or distortion correction checkboxes if the selected lensfun profile doesn't support them
Patch by heckflosse
2017-09-12 16:41:25 +02:00
Alberto Griggio
ea5f8c3beb profile lens correction: show a warning if the lens profile has a crop factor greater than the selected camera 2017-09-12 08:25:45 +02:00
Alberto Griggio
4dc0e20ae0 merge with lcp-vignetting-issue4062 2017-09-11 17:22:01 +02:00
Alberto Griggio
e4ba4d19f5 made lensfun-based correction compatible with auto fill mode 2017-09-10 22:02:43 +02:00
Alberto Griggio
0f197bf1a4 lensfun: properly group lenses by maker in the UI 2017-09-09 22:31:59 +02:00
Alberto Griggio
13c4b0c284 one more refinement to the lensfun automatching logic
hopefully this is the good one :-)
2017-09-09 09:53:57 +02:00
Alberto Griggio
cbae5e0718 further tweaks to the lensfun automatching logic 2017-09-08 23:52:16 +02:00
Alberto Griggio
30f62b0560 added GUI for lensfun 2017-09-07 16:45:41 +02:00
Alberto Griggio
940577ce45 handle coarse rotation in lensfun distortion correction 2017-09-07 09:57:37 +02:00
Alberto Griggio
dde94bc6d3 added basic integration of lensfun
so far only distortion correction, and no GUI yet
2017-09-07 00:53:03 +02:00
Alberto Griggio
f7b857eb9e added wrapper classes for lensfun types 2017-09-05 23:42:17 +02:00