Created attachment 63554 [details] Photo developed and corrected with several softwares Version: 2.0.0 (using KDE 4.7.1) OS: Linux When using lensfun correction in digikam editor, the result is different from what we get in darktable and ufraw. The image is still malformed in digikam. Moreover, CA correction makes digikam crash with some lenses (but not all). Reproducible: Always Steps to Reproduce: Open a raw image in digikam, darktable and ufraw, apply lens correction and compare the results. Actual Results: Image is far better in ufraw and darktable. Expected Results: Image in digikam should be similar to what we get in the others softwares OS: Linux (x86_64) release 2.6.37.6-0.7-desktop Compiler: gcc
Git commit 8b3eb6f0b498ae11729e0880e7ac0673b2dd2bd8 by Gilles Caulier. Committed on 07/01/2013 at 11:16. Pushed by cgilles into branch 'master'. Apply patch #76254 from Roman I Khimov about lensfun interface which don't mangle cropFactor if it's set. This behaviour was introduced by polish commit bebef401e147a00f859cb81774f8498a0623eee5. With this branch present we always get cropFactor of -1.0 in LensFunFilter::filterImage() and given that lensfun library just uses crop factor of 1 which leads to obviously wrong calculations for cropped cameras. Related: bug 312764, bug 253941, bug 266204, bug 267613, bug 284708 FIXED-IN: 3.0.0 CCMAIL: rik@osrc.info M +0 -4 libs/dimg/filters/lens/lensfuncameraselector.cpp http://commits.kde.org/digikam/8b3eb6f0b498ae11729e0880e7ac0673b2dd2bd8
Git commit 613d004121682d122e9ea7fd9041a7bbc49acb89 by Gilles Caulier. Committed on 07/01/2013 at 11:34. Pushed by cgilles into branch 'master'. Apply patch #76256 from Roman I Khimov to use crop factor from camera, not from lens data. Lens crop factor in DB only tells us which crop factor was used for lens calibration data, but it has nothing to do with shots made on random user's camera. So the default behaviour should be to use camera's crop factor and only fallback to lens data if there in no data present for camera. As "this should not happen" it's appropriate to spit out some debug message in this case. Ref: http://lensfun.berlios.de/manual/el_lens.html Ref: http://lensfun.berlios.de/manual/el_camera.html Related: bug 312766, bug 312764, bug 253941, bug 266204, bug 267613, bug 284708 FIXED-IN: 3.0.0 CCMAIL: roman@khimov.ru M +2 -1 libs/dimg/filters/lens/lensfuncameraselector.cpp M +1 -1 libs/dimg/filters/lens/lensfuniface.cpp http://commits.kde.org/digikam/613d004121682d122e9ea7fd9041a7bbc49acb89
Git commit 70cf9beaac9996c219f988d8ae74d75dc253c0ad by Gilles Caulier. Committed on 07/01/2013 at 11:39. Pushed by cgilles into branch 'master'. Apply patch #76255 from Roman I Khimov to don't pass crop factor as scale factor to lensfun. Sixth parameter to Initialize() is actually a scale factor which has nothing in common with crop factor. I think it's safe to assume that we want no scaling from lensfun and thus use the value of one. Ref: http://lensfun.berlios.de/manual/structlfModifier.html Related: bug 312765, bug 312764, bug 253941, bug 266204, bug 267613, bug 284708 FIXED-IN: 3.0.0 CCMAIL: roman@khimov.ru M +1 -1 libs/dimg/filters/lens/lensfunfilter.cpp http://commits.kde.org/digikam/70cf9beaac9996c219f988d8ae74d75dc253c0ad