lenscorrection from batch queue doesn't work for canon powershot g1x

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

lenscorrection from batch queue doesn't work for canon powershot g1x

Joachim Ullrich-2

Hello,

 

I see an interesting behavior when trying to do lens correction for a canon power shot g1 x (compact camera):

I use digikam 3.2 with lensfun 0.2.8-1.2 (I had to update lensfun as the version 0.2.6 from the distribution didn't provide data for the canon g1 x).

 

I had to correct the lensfun data in compact-canon.xml because the camera id as it written to the exifdata is "G1 X" whereas lensfun has a definition for a "G1X" (no space). With this patch lenscorrection works fine from the image editor. Based on the metadata of the image the correct lens correction data are used.

 

The same procedure from within the batch queue doesn't work. The progress window shows the following sequence of messages (in german):

18:05:15 :: Eintrag „IMG_1397.CR2“ aus Warteschlange „#1“: Verarbeitung läuft ...

18:05:18 :: Eintrag „IMG_1397.CR2“ aus Warteschlange „#1“: Bearbeitung des Eintrags ist fehlgeschlagen ...

18:05:18 :: Eintrag „IMG_1397.CR2“ aus Warteschlange „#1“: Informationen über die Linse können nicht gefunden werden, um die Linsenautokorrektur durchzuführen

 

The third line tells, that no lens correction information was found. But the image editor did find the lensdata. Neither console output nor using strace to inspect file accesses give any hint, what the problem is.

 

It seems not to be a general problem as lens correction for images from a canon slr works fine with batch and with editor mode.

 

Any hints are appreciated, as with low focal length (15 mm) the lens distortion of the g1x is not acceptable.

 

Best Regards

Joachim Ullrich


_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users
Reply | Threaded
Open this post in threaded view
|

Re: lenscorrection from batch queue doesn't work for canon powershot g1x

Torsten Bronger
Hallöchen!

Joachim Ullrich writes:

> [...]
>
> I had to correct the lensfun data in compact-canon.xml because the
> camera id as it written to the exifdata is "G1 X" whereas lensfun
> has a definition for a "G1X" (no space).

This is odd.  Lensfun splits the name into three so-called words:
"G", "1", and "X".  Thus, "G1 X" and "G1X" are equivalent to
Lensfun.  Maybe DigiKam doesn't use Lensfun's lookup function and
does its own matching?

Tschö,
Torsten.

--
Torsten Bronger    Jabber ID: [hidden email]
                                  or http://bronger-jmp.appspot.com

_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users
Reply | Threaded
Open this post in threaded view
|

Re: lenscorrection from batch queue doesn't work for canon powershot g1x

Gilles Caulier-4
2014-08-19 9:47 GMT+02:00 Torsten Bronger <[hidden email]>:

> Hallöchen!
>
> Joachim Ullrich writes:
>
>> [...]
>>
>> I had to correct the lensfun data in compact-canon.xml because the
>> camera id as it written to the exifdata is "G1 X" whereas lensfun
>> has a definition for a "G1X" (no space).
>
> This is odd.  Lensfun splits the name into three so-called words:
> "G", "1", and "X".  Thus, "G1 X" and "G1X" are equivalent to
> Lensfun.  Maybe DigiKam doesn't use Lensfun's lookup function and
> does its own matching?

digiKam get camera make and model from Exif or XMP.

https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/libs/dimg/filters/lens/lensfuniface.cpp#L225

After that it pass these value to Lensfun to check if calibration data
are available.

https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/libs/dimg/filters/lens/lensfuniface.cpp#L141

You will see some rules to handle special camera model here :

https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/libs/dimg/filters/lens/lensfuniface.cpp#L238

Perhaps this is needs for your "G1 X"

Gilles Caulier
_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users
Reply | Threaded
Open this post in threaded view
|

Re: lenscorrection from batch queue doesn't work for canon powershot g1x

Torsten Bronger
Hallöchen!

Gilles Caulier writes:

> [...]
>
> After that it pass these value to Lensfun to check if calibration
> data are available.
>
> https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/libs/dimg/filters/lens/lensfuniface.cpp#L141

In this step, "G1 X" and "G1X" are equivalent, even in
non-fuzzy search.

Tschö,
Torsten.

--
Torsten Bronger    Jabber ID: [hidden email]
                                  or http://bronger-jmp.appspot.com

_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users
Reply | Threaded
Open this post in threaded view
|

Re: lenscorrection from batch queue doesn't work for canon powershot g1x

Gilles Caulier-4
Fixed by this commit :

http://commits.kde.org/digikam/01f4823dbab748fb2ee193f052e6af6ba099faf0

Gilles Caulier

2014-08-19 11:07 GMT+02:00 Torsten Bronger <[hidden email]>:

> Hallöchen!
>
> Gilles Caulier writes:
>
>> [...]
>>
>> After that it pass these value to Lensfun to check if calibration
>> data are available.
>>
>> https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/libs/dimg/filters/lens/lensfuniface.cpp#L141
>
> In this step, "G1 X" and "G1X" are equivalent, even in
> non-fuzzy search.
>
> Tschö,
> Torsten.
>
> --
> Torsten Bronger    Jabber ID: [hidden email]
>                                   or http://bronger-jmp.appspot.com
>
> _______________________________________________
> Digikam-users mailing list
> [hidden email]
> https://mail.kde.org/mailman/listinfo/digikam-users
_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users
Reply | Threaded
Open this post in threaded view
|

Re: lenscorrection from batch queue doesn't work for canon powershot g1x

Torsten Bronger
Hallöchen!

Gilles Caulier writes:

> Fixed by this commit :
>
> http://commits.kde.org/digikam/01f4823dbab748fb2ee193f052e6af6ba099faf0

I think you should remove lines 237 to 251 altogether.  This is not
the way to go.  I just fixed the camera model name of the G1 X in
Lensfun, so this will break now.  The Kiss <=> 400D equivalence is
solved in Lensfun since august 2012.  Just drop us a note, and we
fix it in Lensfun.

Tschö,
Torsten.

--
Torsten Bronger    Jabber ID: [hidden email]
                                  or http://bronger-jmp.appspot.com

_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users
Reply | Threaded
Open this post in threaded view
|

Re: lenscorrection from batch queue doesn't work for canon powershot g1x

Joachim Ullrich-2
In reply to this post by Gilles Caulier-4
Hello,

I didn't yet try to understand the chages you made. Do you understand, why
there is different behavior for lenscorrection between batch mode and
interactive mode from the image editor? I'd expect that both scenarios use
shared code for the lookup.

Best Regards and Thanks
Joachim

> Fixed by this commit :
>
> http://commits.kde.org/digikam/01f4823dbab748fb2ee193f052e6af6ba099faf0
>
> Gilles Caulier
_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users
Reply | Threaded
Open this post in threaded view
|

Re: lenscorrection from batch queue doesn't work for canon powershot g1x

Teemu Rytilahti
Joachim Ullrich wrote:

> I didn't yet try to understand the chages you made. Do you understand, why
> there is different behavior for lenscorrection between batch mode and
> interactive mode from the image editor? I'd expect that both scenarios use
> shared code for the lookup.

Hello,

can you check if you have an exact match in the editor?

The BQM version will not proceed (to my understanding) if some of the wanted
properties can not be read (when use metadata setting is used) or there is
no exact match otherwise.

This can happen when a lens or camera is not detected, or if the image is
missing focal length, aperture, or subject distance.

--
Best Regards,
Teemu Rytilahti


_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users
Reply | Threaded
Open this post in threaded view
|

Re: lenscorrection from batch queue doesn't work for canon powershot g1x

Teemu Rytilahti
In reply to this post by Torsten Bronger
Torsten Bronger wrote:

> I think you should remove lines 237 to 251 altogether.  This is not
> the way to go.  I just fixed the camera model name of the G1 X in
> Lensfun, so this will break now.  The Kiss <=> 400D equivalence is
> solved in Lensfun since august 2012.  Just drop us a note, and we
> fix it in Lensfun.

Agreed. The complete logic handling the detection should be cleaned up (we
should also give out a list of possible cameras, not all if there are
multiple possibilities). I'll take a look into that when I'm done with my
thesis.

--
Best Regards,
Teemu Rytilahti


_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users