reading lens description

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

reading lens description

Matthias Welwarsky
Hello,

I'm trying to add reading the lens model from JPEGs generated by a Panasonic
Lumix G1. I was able to figure out that its stored in the Maker info,
"Exif.Panasonic.0x0051". So I added this tag to the list in
DMetadata::getLensDescription(). But the code is not executed. Is this the
wrong place?

regards,
matthias

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

Re: reading lens description

Gilles Caulier-4
Matthias,

Where are you set this tag in code? give us a patch against svn please...

When you said that code is not executed, in which conditions exactly ?

Best

Gilles Caulier

2009/1/19 Matthias Welwarsky <[hidden email]>
Hello,

I'm trying to add reading the lens model from JPEGs generated by a Panasonic
Lumix G1. I was able to figure out that its stored in the Maker info,
"Exif.Panasonic.0x0051". So I added this tag to the list in
DMetadata::getLensDescription(). But the code is not executed. Is this the
wrong place?

regards,
matthias

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


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

Re: reading lens description

Matthias Welwarsky
On Tuesday 20 January 2009 06:24:19 Gilles Caulier wrote:
> Matthias,
>
> Where are you set this tag in code? give us a patch against svn please...

I've downloaded the current beta release, so I've attached a patch against
that one. Note that it contains also a change to correctly read the exposure
time from RAW files.

>
> When you said that code is not executed, in which conditions exactly ?

When displaying the EXIF content in the "Metadata" or "Properties" sidepanel,
and when updating the metadata database of all Albums from the "Tools" menu.

Regards,
        matthias

>
> Best
>
> Gilles Caulier


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

digikam-dmetadata.patch (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: reading lens description

Gilles Caulier-4
Ok. send me a test image in private to test on my computer.

Gilles

2009/1/20 Matthias Welwarsky <[hidden email]>
On Tuesday 20 January 2009 06:24:19 Gilles Caulier wrote:
> Matthias,
>
> Where are you set this tag in code? give us a patch against svn please...

I've downloaded the current beta release, so I've attached a patch against
that one. Note that it contains also a change to correctly read the exposure
time from RAW files.

>
> When you said that code is not executed, in which conditions exactly ?

When displaying the EXIF content in the "Metadata" or "Properties" sidepanel,
and when updating the metadata database of all Albums from the "Tools" menu.

Regards,
       matthias

>
> Best
>
> Gilles Caulier


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



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

Re: reading lens description

Marcel Wiesweg
In reply to this post by Matthias Welwarsky

> > Matthias,

> >

> > Where are you set this tag in code? give us a patch against svn please...

>

> I've downloaded the current beta release, so I've attached a patch against

> that one. Note that it contains also a change to correctly read the

> exposure time from RAW files.

Thanks, but that's already fixed in SVN ;-)

>

> > When you said that code is not executed, in which conditions exactly ?

>

> When displaying the EXIF content in the "Metadata" or "Properties"

> sidepanel, and when updating the metadata database of all Albums from the

> "Tools" menu.

"Update Metadata Database" is a strong misnomer. It does not do that. It writes tags, rating and comment from db to the file's metadata, sorry.

Currently you can't force a full rescan, the value is for the Properties table always taken from database, the Metadata panel just displays all values, does not use getLensDescription.

We need to re-organize the synchronize/update methods, but tomorrow is string freeze and the planned batch manager is desirable for this as well.

>

> Regards,

> matthias

>

> > Best

> >

> > Gilles Caulier


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

Re: reading lens description

Matthias Welwarsky
On Tuesday 20 January 2009 15:12:33 Marcel Wiesweg wrote:

> > > Matthias,
> > >
> > > Where are you set this tag in code? give us a patch against svn
> > > please...
> >
> > I've downloaded the current beta release, so I've attached a patch
> > against that one. Note that it contains also a change to correctly read
> > the exposure time from RAW files.
>
> Thanks, but that's already fixed in SVN ;-)

very good!

> > > When you said that code is not executed, in which conditions exactly ?
> >
> > When displaying the EXIF content in the "Metadata" or "Properties"
> > sidepanel, and when updating the metadata database of all Albums from the
> > "Tools" menu.
>
> "Update Metadata Database" is a strong misnomer. It does not do that. It
> writes tags, rating and comment from db to the file's metadata, sorry.

Aaargh, you mean it's actually altering my photos when I do that?!

> Currently you can't force a full rescan, the value is for the Properties
> table always taken from database, the Metadata panel just displays all
> values, does not use getLensDescription.

So in order to have the changes take effect, one would need to initiate a full
album rescan and update of the database, correct? Is there a way to do that,
in the backend, if not in UI? I can probably patch the UI and add that action
to the tools menu. I just need something to test my modifications there.

> We need to re-organize the synchronize/update methods, but tomorrow is
> string freeze and the planned batch manager is desirable for this as well.

Well, if there's a string freeze, I hope you can push a change to the "Update
Metadata Database" before. It's really very much misleading. "Update Image
Metadata" would be way more appropriate.

>
> > Regards,
> > matthias
> >
> > > Best
> > >
> > > Gilles Caulier

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

Re: reading lens description

Gilles Caulier-4


2009/1/20 Matthias Welwarsky <[hidden email]>
On Tuesday 20 January 2009 15:12:33 Marcel Wiesweg wrote:
> > > Matthias,
> > >
> > > Where are you set this tag in code? give us a patch against svn
> > > please...
> >
> > I've downloaded the current beta release, so I've attached a patch
> > against that one. Note that it contains also a change to correctly read
> > the exposure time from RAW files.
>
> Thanks, but that's already fixed in SVN ;-)

very good!

> > > When you said that code is not executed, in which conditions exactly ?
> >
> > When displaying the EXIF content in the "Metadata" or "Properties"
> > sidepanel, and when updating the metadata database of all Albums from the
> > "Tools" menu.
>
> "Update Metadata Database" is a strong misnomer. It does not do that. It
> writes tags, rating and comment from db to the file's metadata, sorry.

Aaargh, you mean it's actually altering my photos when I do that?!

> Currently you can't force a full rescan, the value is for the Properties
> table always taken from database, the Metadata panel just displays all
> values, does not use getLensDescription.

So in order to have the changes take effect, one would need to initiate a full
album rescan and update of the database, correct? Is there a way to do that,
in the backend, if not in UI? I can probably patch the UI and add that action
to the tools menu. I just need something to test my modifications there.

> We need to re-organize the synchronize/update methods, but tomorrow is
> string freeze and the planned batch manager is desirable for this as well.

Well, if there's a string freeze, I hope you can push a change to the "Update
Metadata Database" before. It's really very much misleading. "Update Image
Metadata" would be way more appropriate.


Marcel,

In all cases, strings will be frozen when a dedicated announce will be sent to kde-doc-i18n mailing list. This can be delayed a little, or if necessary can be moved to rc2 release.

Gilles


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

Re: reading lens description

Matthias Welwarsky
In reply to this post by Matthias Welwarsky
On Monday 19 January 2009 23:04:27 Matthias Welwarsky wrote:
> Hello,
>
> I'm trying to add reading the lens model from JPEGs generated by a
> Panasonic Lumix G1. I was able to figure out that its stored in the Maker
> info, "Exif.Panasonic.0x0051". So I added this tag to the list in
> DMetadata::getLensDescription(). But the code is not executed. Is this the
> wrong place?

OK, it's working, just adding the "Exif.Panasonic.0x0051" makes
getLenseDescription work for the Lumix G1, for new images at least. Now I just
need to find a way to rescan the metadata for all existing images.

It's not working yet for RAW files, but I guess that's a problem to fix in dcraw
somewhere. If you wonder why this is important - lensfun needs to know the
lens, and it's much more fun if you don't have to select it by hand for each
image...

regards,
matthias

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

Re: reading lens description

Gilles Caulier-4
In reply to this post by Matthias Welwarsky


2009/1/20 Matthias Welwarsky <[hidden email]>
On Tuesday 20 January 2009 06:24:19 Gilles Caulier wrote:
> Matthias,
>
> Where are you set this tag in code? give us a patch against svn please...

I've downloaded the current beta release, so I've attached a patch against
that one. Note that it contains also a change to correctly read the exposure
time from RAW files.

>
> When you said that code is not executed, in which conditions exactly ?

When displaying the EXIF content in the "Metadata" or "Properties" sidepanel,
and when updating the metadata database of all Albums from the "Tools" menu.

Regards,
       matthias

ok. your new lens descriptio ntag for panasonic camera is recorded to DMetadata.

Question : why you have set this change :

+++ digikam-0.10.0-beta8/libs/dmetadata/dmetadata.cpp    2009-01-19 21:47:42.000000000 +0100
@@ -105,7 +105,7 @@
 
         if (identify.exposureTime != -1.0)
         {
-            convertToRational(1/identify.exposureTime, &num, &den, 8);
+            convertToRational(identify.exposureTime, &num, &den, 8);
             setExifTagRational("Exif.Photo.ExposureTime", num, den, false);
         }

Gilles


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

Re: reading lens description

Matthias Welwarsky
On Wednesday 21 January 2009 09:41:30 Gilles Caulier wrote:

> ok. your new lens descriptio ntag for panasonic camera is recorded to
> DMetadata.
>
> Question : why you have set this change :
>
> +++ digikam-0.10.0-beta8/libs/dmetadata/dmetadata.cpp    2009-01-19
> 21:47:42.000000000 +0100
> @@ -105,7 +105,7 @@
>
>          if (identify.exposureTime != -1.0)
>          {
> -            convertToRational(1/identify.exposureTime, &num, &den, 8);
> +            convertToRational(identify.exposureTime, &num, &den, 8);
>              setExifTagRational("Exif.Photo.ExposureTime", num, den,
> false); }

Because otherwise the exposure time shows up as "40s" instead of "1/40s".
Might be a speciality of this camera particular camera, or a bug in dcraw?
However, ufraw does it correctly, and Marcel Wiesweg wrote:

> Thanks, but that's already fixed in SVN ;-)

So I assume it's actually a digikam bug which is already fixed.

regards,
        matthias

>
> Gilles

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

Re: reading lens description

Matthias Welwarsky
On Wednesday 21 January 2009 12:59:45 Matthias Welwarsky wrote:

> On Wednesday 21 January 2009 09:41:30 Gilles Caulier wrote:
> > ok. your new lens descriptio ntag for panasonic camera is recorded to
> > DMetadata.
> >
> > Question : why you have set this change :
> >
> > +++ digikam-0.10.0-beta8/libs/dmetadata/dmetadata.cpp    2009-01-19
> > 21:47:42.000000000 +0100
> > @@ -105,7 +105,7 @@
> >
> >          if (identify.exposureTime != -1.0)
> >          {
> > -            convertToRational(1/identify.exposureTime, &num, &den, 8);
> > +            convertToRational(identify.exposureTime, &num, &den, 8);
> >              setExifTagRational("Exif.Photo.ExposureTime", num, den,
> > false); }
>
> Because otherwise the exposure time shows up as "40s" instead of "1/40s".
> Might be a speciality of this camera particular camera, or a bug in dcraw?
>
> However, ufraw does it correctly, and Marcel Wiesweg wrote:
> > Thanks, but that's already fixed in SVN ;-)
>
> So I assume it's actually a digikam bug which is already fixed.

Which reminds me of something: The aperture is also incorrectly read from
these RAW files. A photo was shot with f/10, but digikam reports f/32. Is this
also fixed already, by chance?

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

Re: reading lens description

Gilles Caulier-4


2009/1/21 Matthias Welwarsky <[hidden email]>
On Wednesday 21 January 2009 12:59:45 Matthias Welwarsky wrote:
> On Wednesday 21 January 2009 09:41:30 Gilles Caulier wrote:
> > ok. your new lens descriptio ntag for panasonic camera is recorded to
> > DMetadata.
> >
> > Question : why you have set this change :
> >
> > +++ digikam-0.10.0-beta8/libs/dmetadata/dmetadata.cpp    2009-01-19
> > 21:47:42.000000000 +0100
> > @@ -105,7 +105,7 @@
> >
> >          if (identify.exposureTime != -1.0)
> >          {
> > -            convertToRational(1/identify.exposureTime, &num, &den, 8);
> > +            convertToRational(identify.exposureTime, &num, &den, 8);
> >              setExifTagRational("Exif.Photo.ExposureTime", num, den,
> > false); }
>
> Because otherwise the exposure time shows up as "40s" instead of "1/40s".
> Might be a speciality of this camera particular camera, or a bug in dcraw?
>
> However, ufraw does it correctly, and Marcel Wiesweg wrote:
> > Thanks, but that's already fixed in SVN ;-)
>
> So I assume it's actually a digikam bug which is already fixed.

Which reminds me of something: The aperture is also incorrectly read from
these RAW files. A photo was shot with f/10, but digikam reports f/32. Is this
also fixed already, by chance?

No. This is a problem in Exiv2 library which is used by digiKam to handle Raw metadata.

Which version do you use ?

Note : digikam do not use dcraw to play with Raw image data, but libraw.

Gilles Caulier

 

regards,
       matthias
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel


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

Re: reading lens description

Matthias Welwarsky
On Wednesday 21 January 2009 14:51:17 Gilles Caulier wrote:

> 2009/1/21 Matthias Welwarsky <[hidden email]>
>
> > On Wednesday 21 January 2009 12:59:45 Matthias Welwarsky wrote:
> > > On Wednesday 21 January 2009 09:41:30 Gilles Caulier wrote:
> > > > ok. your new lens descriptio ntag for panasonic camera is recorded to
> > > > DMetadata.
> > > >
> > > > Question : why you have set this change :
> > > >
> > > > +++ digikam-0.10.0-beta8/libs/dmetadata/dmetadata.cpp    2009-01-19
> > > > 21:47:42.000000000 +0100
> > > > @@ -105,7 +105,7 @@
> > > >
> > > >          if (identify.exposureTime != -1.0)
> > > >          {
> > > > -            convertToRational(1/identify.exposureTime, &num, &den,
> > > > 8); +            convertToRational(identify.exposureTime, &num, &den,
> > > > 8); setExifTagRational("Exif.Photo.ExposureTime", num, den, false); }
> > >
> > > Because otherwise the exposure time shows up as "40s" instead of
> > > "1/40s". Might be a speciality of this camera particular camera, or a
> > > bug in
> >
> > dcraw?
> >
> > > However, ufraw does it correctly, and Marcel Wiesweg wrote:
> > > > Thanks, but that's already fixed in SVN ;-)
> > >
> > > So I assume it's actually a digikam bug which is already fixed.
> >
> > Which reminds me of something: The aperture is also incorrectly read from
> > these RAW files. A photo was shot with f/10, but digikam reports f/32. Is
> > this
> > also fixed already, by chance?
>
> No. This is a problem in Exiv2 library which is used by digiKam to handle
> Raw metadata.

Not sure. It looks like Exiv2 doesn't at all handle Panasonics new "RW2" files
and it falls back to using DMetadata::loadUsingDcraw(), which in turn uses
KDcrawIface::KDcraw::rawFileIdentify().

> Which version do you use ?

Hm. Whatever ships with kubuntu 8.10. I'll have a look when I'm back home.

>
> Note : digikam do not use dcraw to play with Raw image data, but libraw.

... and libraw is based on dcraw, I know.

>
> Gilles Caulier
>
> > regards,
> >         matthias
> > _______________________________________________
> > Digikam-devel mailing list
> > [hidden email]
> > https://mail.kde.org/mailman/listinfo/digikam-devel

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

Re: reading lens description

Gilles Caulier-4


2009/1/21 Matthias Welwarsky <[hidden email]>
On Wednesday 21 January 2009 14:51:17 Gilles Caulier wrote:
> 2009/1/21 Matthias Welwarsky <[hidden email]>
>
> > On Wednesday 21 January 2009 12:59:45 Matthias Welwarsky wrote:
> > > On Wednesday 21 January 2009 09:41:30 Gilles Caulier wrote:
> > > > ok. your new lens descriptio ntag for panasonic camera is recorded to
> > > > DMetadata.
> > > >
> > > > Question : why you have set this change :
> > > >
> > > > +++ digikam-0.10.0-beta8/libs/dmetadata/dmetadata.cpp    2009-01-19
> > > > 21:47:42.000000000 +0100
> > > > @@ -105,7 +105,7 @@
> > > >
> > > >          if (identify.exposureTime != -1.0)
> > > >          {
> > > > -            convertToRational(1/identify.exposureTime, &num, &den,
> > > > 8); +            convertToRational(identify.exposureTime, &num, &den,
> > > > 8); setExifTagRational("Exif.Photo.ExposureTime", num, den, false); }
> > >
> > > Because otherwise the exposure time shows up as "40s" instead of
> > > "1/40s". Might be a speciality of this camera particular camera, or a
> > > bug in
> >
> > dcraw?
> >
> > > However, ufraw does it correctly, and Marcel Wiesweg wrote:
> > > > Thanks, but that's already fixed in SVN ;-)
> > >
> > > So I assume it's actually a digikam bug which is already fixed.
> >
> > Which reminds me of something: The aperture is also incorrectly read from
> > these RAW files. A photo was shot with f/10, but digikam reports f/32. Is
> > this
> > also fixed already, by chance?
>
> No. This is a problem in Exiv2 library which is used by digiKam to handle
> Raw metadata.

Not sure. It looks like Exiv2 doesn't at all handle Panasonics new "RW2" files
and it falls back to using DMetadata::loadUsingDcraw(), which in turn uses
KDcrawIface::KDcraw::rawFileIdentify().

Libraw can handle some metadata, but it's not perfect as Exiv2 do. If Exiv2 cannot do it, Libraw is used instead.

I CC Alex Tutubalin (from LibRaw project) here for informations.


> Which version do you use ?

Hm. Whatever ships with kubuntu 8.10. I'll have a look when I'm back home.

I recommend to use last Exiv2 0.18.

If it doesn't work with RW2, try current implementation from svn.

I CC Andreas Huggel (from Exiv2 project) here for info.
 
In all case, It mus work with Exiv2. If i doesn't, open a new Exiv2 bug report.



>
> Note : digikam do not use dcraw to play with Raw image data, but libraw.

... and libraw is based on dcraw, I know.

And new version 0.7.0 start to implement new demosaising methods different than dcraw, with better results.

 Gilles Caulier


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

Re: reading lens description

Bugzilla from ahuggel@gmx.net
>> Not sure. It looks like Exiv2 doesn't at all handle Panasonics new "RW2"
>> files

Read support for RW2 images was only recently added. You'll need Exiv2
from SVN for this.
See: http://www.exiv2.org/download.html#devel

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

Re: reading lens description

Matthias Welwarsky
On Wednesday 21 January 2009 15:35:11 Andreas Huggel wrote:
> >> Not sure. It looks like Exiv2 doesn't at all handle Panasonics new "RW2"
> >> files
>
> Read support for RW2 images was only recently added. You'll need Exiv2
> from SVN for this.
> See: http://www.exiv2.org/download.html#devel

OK, thanks. Can I make a parallel install or will it clash with the installed
version? Or would digikam's build system be clever enough to pick it from
/usr/local?

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

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

Re: reading lens description

Matthias Welwarsky
In reply to this post by Bugzilla from ahuggel@gmx.net
On Wednesday 21 January 2009 15:35:11 Andreas Huggel wrote:
> Read support for RW2 images was only recently added. You'll need Exiv2
> from SVN for this.
> See: http://www.exiv2.org/download.html#devel

Ok, I confirm it works well after updating Exiv2 and recompiling libkexiv2.

One other thing: I have been told (but its not much more than a rumour) that
Panasonic stores information to correct lens defects in the RW2's EXIF tags.
Does anyone here know anything about that? It could be nice for automatically
correcting CA, fringing and also geometry errors.

regards,
matthias


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

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