Hi all digiKam users/team,
Like you have seen last week, I have started a new implementation of metadata viewer using libExiv2 instead the current Exif viewer using libkexif. A fresh screenshot can be seen here : http://digikam3rdparty.free.fr/Screenshots/digikam0.9.0-alpha6.png After any days of indeep testing, the implementation is more mature. Like you can see in this screenshot, we have : - A standard Exif metatada viewer. - An Exif Maker Notes viewer - An IPTC metadata viewer. - Support of CRW metadata (thanks exiv2) - Support of Raw profiles embedded (Exif/IPTC) in PNG files built by ImageMagick during JPEG -> PNG conversion. - Each sidebar tab can be filtered to "Simple" (user friendly: the more important for photograph) and to "Full" (all metadata). - All metadata groups are more visible than old Exif viewer. The implementation is based on 2 parts : -> One metadata extractor witch detect the file type and use a dedicaced loader to construct Exiv2 metadata container. Actually JPEG, PNG and CRW files are supported. I have planed to do TIFF/DNG files and any others RAW files like NEF (Paco if you is interresed (:=)))) and MRW. The implementation is similar to Digikam::DImg container (about loader)... -> A large collection of widgets to display metadata in sidebar. I will provide a patch against svn in a near future... Plan outside 0.9.0 issue : - add a button to copy metadata info in clipboard. - add a button to print metadata. - make Iptc viewer like Iptc Editor about file supported in writting mode using Exiv2. - add Xmp support (I hope that Xmp will be supported to Exiv2 in the future) - add a metada setup filter like in KPhotoAlbum. Current Exiv2 problems (correct me if i'm wrong (:=))) : - The tags descriptions exist in Exiv2 but I can access it easily in my implementation... - The exiv2 lib isn't yet i18n using gettext (like libexif). I suppose that point is pending. Important notice to digiKam developpers : the better way to support more file formats in digiKam about metadata extraction (like new RAW files) is to contrib on Exiv2 project. I will only make any read only metadata loader in digiKam (like for TIFF file). This code could be used later in exiv2 if necessary... Thanks for your comments. Gilles Caulier. _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
El Martes, 28 de Febrero de 2006 11:09, Gilles Caulier escribió:
> Hi all digiKam users/team, > > Like you have seen last week, I have started a new implementation of > metadata viewer using libExiv2 instead the current Exif viewer using > libkexif. > > A fresh screenshot can be seen here : > > http://digikam3rdparty.free.fr/Screenshots/digikam0.9.0-alpha6.png > > After any days of indeep testing, the implementation is more mature. Like > you can see in this screenshot, we have : > > - A standard Exif metatada viewer. > - An Exif Maker Notes viewer > - An IPTC metadata viewer. > - Support of CRW metadata (thanks exiv2) > - Support of Raw profiles embedded (Exif/IPTC) in PNG files built by > ImageMagick during JPEG -> PNG conversion. > - Each sidebar tab can be filtered to "Simple" (user friendly: the more > important for photograph) and to "Full" (all metadata). > - All metadata groups are more visible than old Exif viewer. > > The implementation is based on 2 parts : > > -> One metadata extractor witch detect the file type and use a dedicaced > loader to construct Exiv2 metadata container. Actually JPEG, PNG and CRW > files are supported. I have planed to do TIFF/DNG files and any others RAW > files like NEF (Paco if you is interresed (:=)))) and MRW. The > implementation is similar to Digikam::DImg container (about loader)... > Of course,I'm very interested on metadata support in digiKam, especially NEF files since I'm owner of a D50.In fact, along this last week I've been having a look to exiv2 code and I want to make you some questions: - How are you going to implement metadata infor for files that are not implemented in exiv2 yet? Actually exiv2 has support only for CRW files (one of the two Canon RAW formats, the other one is CR2), altough there are files with makernotes specifications for a lot of manufacturers, so if I want to implement metadata extraction for NEF files, have I to implement the equivalent to crwimage in Exiv2? this can be a hard work if we have to do this for all the manufacturers who provide RAW format. - What's about "write-access" on iptc data? - Which of all these changes are for 0.9.0? - Where do we came from, who are we, where do we go to?.....do we live in an infinite universe? Paco _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Gilles Caulier-2
Le Mardi 28 Février 2006 11:09, Gilles Caulier a écrit :
> Hi all digiKam users/team, > > Like you have seen last week, I have started a new implementation of > metadata viewer using libExiv2 instead the current Exif viewer using > libkexif. > > A fresh screenshot can be seen here : > > http://digikam3rdparty.free.fr/Screenshots/digikam0.9.0-alpha6.png > > After any days of indeep testing, the implementation is more mature. Like > you can see in this screenshot, we have : > > - A standard Exif metatada viewer. > - An Exif Maker Notes viewer > - An IPTC metadata viewer. > - Support of CRW metadata (thanks exiv2) > - Support of Raw profiles embedded (Exif/IPTC) in PNG files built by > ImageMagick during JPEG -> PNG conversion. > - Each sidebar tab can be filtered to "Simple" (user friendly: the more > important for photograph) and to "Full" (all metadata). > - All metadata groups are more visible than old Exif viewer. > > The implementation is based on 2 parts : > > -> One metadata extractor witch detect the file type and use a dedicaced > loader to construct Exiv2 metadata container. Actually JPEG, PNG and CRW > files are supported. I have planed to do TIFF/DNG files and any others RAW > files like NEF (Paco if you is interresed (:=)))) and MRW. The > implementation is similar to Digikam::DImg container (about loader)... > > -> A large collection of widgets to display metadata in sidebar. > > I will provide a patch against svn in a near future... > Here we are a patch against current digikam from svn 'trunk' branch : http://digikam3rdparty.free.fr/misc.tarballs/metadata.diff Gilles Caulier _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by F.J.Cruz
Le Mardi 28 Février 2006 12:22, F.J.Cruz a écrit :
> El Martes, 28 de Febrero de 2006 11:09, Gilles Caulier escribió: > > Hi all digiKam users/team, > > > > Like you have seen last week, I have started a new implementation of > > metadata viewer using libExiv2 instead the current Exif viewer using > > libkexif. > > > > A fresh screenshot can be seen here : > > > > http://digikam3rdparty.free.fr/Screenshots/digikam0.9.0-alpha6.png > > > > After any days of indeep testing, the implementation is more mature. Like > > you can see in this screenshot, we have : > > > > - A standard Exif metatada viewer. > > - An Exif Maker Notes viewer > > - An IPTC metadata viewer. > > - Support of CRW metadata (thanks exiv2) > > - Support of Raw profiles embedded (Exif/IPTC) in PNG files built by > > ImageMagick during JPEG -> PNG conversion. > > - Each sidebar tab can be filtered to "Simple" (user friendly: the more > > important for photograph) and to "Full" (all metadata). > > - All metadata groups are more visible than old Exif viewer. > > > > The implementation is based on 2 parts : > > > > -> One metadata extractor witch detect the file type and use a dedicaced > > loader to construct Exiv2 metadata container. Actually JPEG, PNG and CRW > > files are supported. I have planed to do TIFF/DNG files and any others > > RAW files like NEF (Paco if you is interresed (:=)))) and MRW. The > > implementation is similar to Digikam::DImg container (about loader)... > > Of course,I'm very interested on metadata support in digiKam, especially > NEF files since I'm owner of a D50.In fact, along this last week I've been > having a look to exiv2 code and I want to make you some questions: > > - How are you going to implement metadata infor for files that are not > implemented in exiv2 yet? The better way that i have identifed to add better RAW file support is to re-use implementation from ExifProbe project : http://www.virtual-cafe.com/~dhh/tools.d/exifprobe.d/exifprobe.html I think that only a simple exif/markernote extraction is enought in digiKam at this moment. > Actually exiv2 has support only for CRW files > (one of the two Canon RAW formats, the other one is CR2), altough there are > files with makernotes specifications for a lot of manufacturers, so if I > want to implement metadata extraction for NEF files, have I to implement > the equivalent to crwimage in Exiv2? this can be a hard work if we have to > do this for all the manufacturers who provide RAW format. The ExifProbe have a very well documentated source code about. Each file format is separated cleanly. I think we can trying to use it. Each Digikam::DMetadata::loader are separate too. We can add new image file format loader progressivly without any risk. > > - What's about "write-access" on iptc data? With Exiv2 you can write IPTC tag in image, CRW included. > > - Which of all these changes are for 0.9.0? Right question. I need any report about my patch with the current implementation before to commit anything. Gilles _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
El Martes, 28 de Febrero de 2006 14:08, Gilles Caulier escribió:
> Le Mardi 28 Février 2006 12:22, F.J.Cruz a écrit : > > El Martes, 28 de Febrero de 2006 11:09, Gilles Caulier escribió: > > > Hi all digiKam users/team, > > > > > > Like you have seen last week, I have started a new implementation of > > > metadata viewer using libExiv2 instead the current Exif viewer using > > > libkexif. > > > > > > A fresh screenshot can be seen here : > > > > > > http://digikam3rdparty.free.fr/Screenshots/digikam0.9.0-alpha6.png > > > > > > After any days of indeep testing, the implementation is more mature. > > > Like you can see in this screenshot, we have : > > > > > > - A standard Exif metatada viewer. > > > - An Exif Maker Notes viewer > > > - An IPTC metadata viewer. > > > - Support of CRW metadata (thanks exiv2) > > > - Support of Raw profiles embedded (Exif/IPTC) in PNG files built by > > > ImageMagick during JPEG -> PNG conversion. > > > - Each sidebar tab can be filtered to "Simple" (user friendly: the more > > > important for photograph) and to "Full" (all metadata). > > > - All metadata groups are more visible than old Exif viewer. > > > > > > The implementation is based on 2 parts : > > > > > > -> One metadata extractor witch detect the file type and use a > > > dedicaced loader to construct Exiv2 metadata container. Actually JPEG, > > > PNG and CRW files are supported. I have planed to do TIFF/DNG files and > > > any others RAW files like NEF (Paco if you is interresed (:=)))) and > > > MRW. The implementation is similar to Digikam::DImg container (about > > > loader)... > > > > Of course,I'm very interested on metadata support in digiKam, especially > > NEF files since I'm owner of a D50.In fact, along this last week I've > > been having a look to exiv2 code and I want to make you some questions: > > > > - How are you going to implement metadata infor for files that are not > > implemented in exiv2 yet? > > The better way that i have identifed to add better RAW file support is to > re-use implementation from ExifProbe project : > > http://www.virtual-cafe.com/~dhh/tools.d/exifprobe.d/exifprobe.html > > I think that only a simple exif/markernote extraction is enought in digiKam > at this moment. > > > Actually exiv2 has support only for CRW files > > (one of the two Canon RAW formats, the other one is CR2), altough there > > are files with makernotes specifications for a lot of manufacturers, so > > if I want to implement metadata extraction for NEF files, have I to > > implement the equivalent to crwimage in Exiv2? this can be a hard work if > > we have to do this for all the manufacturers who provide RAW format. > > The ExifProbe have a very well documentated source code about. Each file > format is separated cleanly. I think we can trying to use it. > > Each Digikam::DMetadata::loader are separate too. We can add new image file > format loader progressivly without any risk. > > > - What's about "write-access" on iptc data? > > With Exiv2 you can write IPTC tag in image, CRW included. > > > - Which of all these changes are for 0.9.0? > > Right question. I need any report about my patch with the current > implementation before to commit anything. Sorry, I can't (or don't know how to) apply your pathc, it give me some errors: patching file libs/imageproperties/imagepropertiessidebar.cpp Hunk #1 FAILED at 1. Hunk #2 FAILED at 48. Hunk #3 FAILED at 74. Hunk #4 FAILED at 86. Hunk #5 FAILED at 109. 5 out of 5 hunks FAILED -- saving rejects to file libs/imageproperties/imagepropertiessidebar.cpp.rej patching file libs/widgets/metadata/makernotewidget.h patching file libs/widgets/metadata/exifwidget.cpp patching file libs/widgets/metadata/iptcwidget.cpp patching file libs/widgets/metadata/exifwidget.h patching file libs/widgets/metadata/metadatalistview.cpp patching file libs/widgets/metadata/iptcwidget.h patching file libs/widgets/metadata/metadatalistview.h patching file libs/widgets/metadata/mdkeylistviewitem.cpp patching file libs/widgets/metadata/mdkeylistviewitem.h patching file libs/widgets/metadata/metadatawidget.cpp patching file libs/widgets/metadata/metadatalistviewitem.cpp patching file libs/widgets/metadata/Makefile.am patching file libs/widgets/metadata/makernotewidget.cpp patching file libs/widgets/metadata/metadatawidget.h patching file libs/widgets/metadata/metadatalistviewitem.h patching file libs/widgets/Makefile.am Reversed (or previously applied) patch detected! Assume -R? [n] Apply anyway? [n] Skipping patch. 2 out of 2 hunks ignored -- saving rejects to file libs/widgets/Makefile.am.rej patching file libs/Makefile.am patch unexpectedly ends in middle of line patch: **** malformed patch at line 4316: This output happens for other files to patch too. Paco. _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Le Mardi 28 Février 2006 14:23, F.J.Cruz a écrit :
> El Martes, 28 de Febrero de 2006 14:08, Gilles Caulier escribió: > > Le Mardi 28 Février 2006 12:22, F.J.Cruz a écrit : > > > El Martes, 28 de Febrero de 2006 11:09, Gilles Caulier escribió: > > > > Hi all digiKam users/team, > > > > > > > > Like you have seen last week, I have started a new implementation of > > > > metadata viewer using libExiv2 instead the current Exif viewer using > > > > libkexif. > > > > > > > > A fresh screenshot can be seen here : > > > > > > > > http://digikam3rdparty.free.fr/Screenshots/digikam0.9.0-alpha6.png > > > > > > > > After any days of indeep testing, the implementation is more mature. > > > > Like you can see in this screenshot, we have : > > > > > > > > - A standard Exif metatada viewer. > > > > - An Exif Maker Notes viewer > > > > - An IPTC metadata viewer. > > > > - Support of CRW metadata (thanks exiv2) > > > > - Support of Raw profiles embedded (Exif/IPTC) in PNG files built by > > > > ImageMagick during JPEG -> PNG conversion. > > > > - Each sidebar tab can be filtered to "Simple" (user friendly: the > > > > more important for photograph) and to "Full" (all metadata). > > > > - All metadata groups are more visible than old Exif viewer. > > > > > > > > The implementation is based on 2 parts : > > > > > > > > -> One metadata extractor witch detect the file type and use a > > > > dedicaced loader to construct Exiv2 metadata container. Actually > > > > JPEG, PNG and CRW files are supported. I have planed to do TIFF/DNG > > > > files and any others RAW files like NEF (Paco if you is interresed > > > > (:=)))) and MRW. The implementation is similar to Digikam::DImg > > > > container (about loader)... > > > > > > Of course,I'm very interested on metadata support in digiKam, > > > especially NEF files since I'm owner of a D50.In fact, along this last > > > week I've been having a look to exiv2 code and I want to make you some > > > questions: > > > > > > - How are you going to implement metadata infor for files that are not > > > implemented in exiv2 yet? > > > > The better way that i have identifed to add better RAW file support is to > > re-use implementation from ExifProbe project : > > > > http://www.virtual-cafe.com/~dhh/tools.d/exifprobe.d/exifprobe.html > > > > I think that only a simple exif/markernote extraction is enought in > > digiKam at this moment. > > > > > Actually exiv2 has support only for CRW files > > > (one of the two Canon RAW formats, the other one is CR2), altough there > > > are files with makernotes specifications for a lot of manufacturers, so > > > if I want to implement metadata extraction for NEF files, have I to > > > implement the equivalent to crwimage in Exiv2? this can be a hard work > > > if we have to do this for all the manufacturers who provide RAW format. > > > > The ExifProbe have a very well documentated source code about. Each file > > format is separated cleanly. I think we can trying to use it. > > > > Each Digikam::DMetadata::loader are separate too. We can add new image > > file format loader progressivly without any risk. > > > > > - What's about "write-access" on iptc data? > > > > With Exiv2 you can write IPTC tag in image, CRW included. > > > > > - Which of all these changes are for 0.9.0? > > > > Right question. I need any report about my patch with the current > > implementation before to commit anything. > > Sorry, I can't (or don't know how to) apply your pathc, it give me some > errors: > > patching file libs/imageproperties/imagepropertiessidebar.cpp > Hunk #1 FAILED at 1. > Hunk #2 FAILED at 48. > Hunk #3 FAILED at 74. > Hunk #4 FAILED at 86. > Hunk #5 FAILED at 109. > 5 out of 5 hunks FAILED -- saving rejects to file > libs/imageproperties/imagepropertiessidebar.cpp.rej > patching file libs/widgets/metadata/makernotewidget.h > patching file libs/widgets/metadata/exifwidget.cpp > patching file libs/widgets/metadata/iptcwidget.cpp > patching file libs/widgets/metadata/exifwidget.h > patching file libs/widgets/metadata/metadatalistview.cpp > patching file libs/widgets/metadata/iptcwidget.h > patching file libs/widgets/metadata/metadatalistview.h > patching file libs/widgets/metadata/mdkeylistviewitem.cpp > patching file libs/widgets/metadata/mdkeylistviewitem.h > patching file libs/widgets/metadata/metadatawidget.cpp > patching file libs/widgets/metadata/metadatalistviewitem.cpp > patching file libs/widgets/metadata/Makefile.am > patching file libs/widgets/metadata/makernotewidget.cpp > patching file libs/widgets/metadata/metadatawidget.h > patching file libs/widgets/metadata/metadatalistviewitem.h > patching file libs/widgets/Makefile.am > Reversed (or previously applied) patch detected! Assume -R? [n] > Apply anyway? [n] > Skipping patch. > 2 out of 2 hunks ignored -- saving rejects to file > libs/widgets/Makefile.am.rej > patching file libs/Makefile.am > patch unexpectedly ends in middle of line > patch: **** malformed patch at line 4316: > > This output happens for other files to patch too. > diff file updated. Can be applied to a fresh svn checkout like this : [gilles@lserv3 digikam]$ patch -p0 < metadata.diff patching file libs/dimg/dimg.cpp patching file libs/dimg/dimg.h patching file libs/dimg/dimgloader.cpp patching file libs/dimg/loaders/pngloader.cpp patching file libs/dimg/loaders/jpegloader.cpp patching file libs/dimg/loaders/rawloader.cpp patching file libs/dimg/Makefile.am patching file libs/dimg/dimgloader.h patching file libs/dmetadata/dmetadata.cpp patching file libs/dmetadata/loaders/dmetaloader.cpp patching file libs/dmetadata/loaders/pngmetaloader.cpp patching file libs/dmetadata/loaders/jpegmetaloader.cpp patching file libs/dmetadata/loaders/dmetaloader.h patching file libs/dmetadata/loaders/tiffmetaloader.cpp patching file libs/dmetadata/loaders/pngmetaloader.h patching file libs/dmetadata/loaders/rawmetaloader.cpp patching file libs/dmetadata/loaders/jpegmetaloader.h patching file libs/dmetadata/loaders/Makefile.am patching file libs/dmetadata/loaders/tiffmetaloader.h patching file libs/dmetadata/loaders/rawmetaloader.h patching file libs/dmetadata/Makefile.am patching file libs/dmetadata/dmetadata.h patching file libs/imageproperties/imagepropertiessidebar.h patching file libs/imageproperties/imagepropertiessidebardb.cpp patching file libs/imageproperties/imagepropertiesexiftab.cpp patching file libs/imageproperties/imagepropertiesexiftab.h patching file libs/imageproperties/imagepropertiessidebarcamgui.cpp patching file libs/imageproperties/imagepropertiessidebarcamgui.h patching file libs/imageproperties/Makefile.am patching file libs/imageproperties/imagepropertiessidebar.cpp patching file libs/widgets/metadata/makernotewidget.h patching file libs/widgets/metadata/exifwidget.cpp patching file libs/widgets/metadata/iptcwidget.cpp patching file libs/widgets/metadata/exifwidget.h patching file libs/widgets/metadata/metadatalistview.cpp patching file libs/widgets/metadata/iptcwidget.h patching file libs/widgets/metadata/metadatalistview.h patching file libs/widgets/metadata/mdkeylistviewitem.cpp patching file libs/widgets/metadata/mdkeylistviewitem.h patching file libs/widgets/metadata/metadatawidget.cpp patching file libs/widgets/metadata/metadatalistviewitem.cpp patching file libs/widgets/metadata/Makefile.am patching file libs/widgets/metadata/makernotewidget.cpp patching file libs/widgets/metadata/metadatawidget.h patching file libs/widgets/metadata/metadatalistviewitem.h patching file libs/widgets/Makefile.am patching file libs/Makefile.am [gilles@lserv3 digikam]$ The new diff file is here : http://digikam3rdparty.free.fr/misc.tarballs/metadata.diff Gilles _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Gilles Caulier-2
Le Mardi 28 Février 2006 14:08, Gilles Caulier a écrit :
> Right question. I need any report about my patch with the current > implementation before to commit anything. With fresh subversion and your patch : In file included from ../../../../digikam/libs/dmetadata/dmetadata.h:30, from dmetaloader.cpp:44: ../../../../digikam/libs/dimg/dimg.h:36:28: error: digikam_export.h: Aucun fichier ou répertoire de ce type In file included from dmetaloader.cpp:44: ../../../../digikam/libs/dmetadata/dmetadata.h:31:28: error: digikam_export.h: Aucun fichier ou répertoire de ce type In file included from dmetaloader.cpp:45: dmetaloader.h:30:28: error: digikam_export.h: Aucun fichier ou répertoire de ce type ../../../../digikam/libs/dimg/rawdecodingsettings.h:29: error: invalid function declaration ..... _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Gilles Caulier-2
Hi,
Thanks for using Exiv2! On Tuesday 28 February 2006 19:39, Gilles Caulier wrote: > Le Mardi 28 Février 2006 11:09, Gilles Caulier a écrit : > > Hi all digiKam users/team, > > > > Like you have seen last week, I have started a new implementation of > > metadata viewer using libExiv2 instead the current Exif viewer using > > libkexif. > > > > A fresh screenshot can be seen here : > > > > http://digikam3rdparty.free.fr/Screenshots/digikam0.9.0-alpha6.png Nice pictures. I noticed that the metadata is shown as plain values as opposed to human readable strings, e.g., "ResolutionUnit 2" as opposed to "ResolutionUnit inch". Can the user change that with the "Level of detail" setting ("Simple" sounds like not everything is shown though)? Especially for makernotes, the more readable expressions might be more useful than plain values. You can get these easily by using the output operator for Exifdatum. > > Current Exiv2 problems (correct me if i'm wrong (:=))) : > > - The tags descriptions exist in Exiv2 but I can access it easily in my > implementation... Assuming this should read "can _not_ access it easily" and refers to the commented code in eg, ExifWidget::getTagDescription(): What about smth like this (ignoring the conversions from and to QString): try { Exiv2::ExifKey ek(key); return Exiv2::ExifTags::tagDesc(ek.tag(), ek.ifdId()); } catch (Exiv2::AnyError& e) { // not an Exif key } Admittedly, this is still not really nice. And yes, it doesn't use gettext yet. Thanks for encouraging contributions to Exiv2. i18n support is a particularly good candidate for someone who knows or would like to learn gettext. > > Here we are a patch against current digikam from svn 'trunk' branch : > > http://digikam3rdparty.free.fr/misc.tarballs/metadata.diff In DMetaLoader::loadWithExiv2() + Exiv2::ExifData& exifData = image->exifData(); ----------^ Reference to prevent copying (and similar for Iptc). + catch( Exiv2::AnyError &e ) ----------^^^ Baseclass in case future versions have more error classes + { + kdDebug() << "Cannot load metadata using Exiv2 (" << e << ")" << endl; If you wanted the error message instead of just a code ------^ + return false; + } Further down, there is this remark: + // We trying to load exif data using likexif from THM file (thumbnail) if exist, // especially provided by recent USM camera. When reading from Canon CRW files, it might be interesting to check if there is a correspoding THM file and use that instead. (At least some) Canon cameras write such files together with CRW files and they contain the complete Exif metadata instead of only a small subset, like the CRW file. Exiv2 can read Canon THM files, they are just small Jpegs. > > Gilles Caulier Regards, Andreas _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Gilles Caulier-2
Am Dienstag, 28. Februar 2006 12:39 schrieben Sie:
> > The implementation is based on 2 parts : > > > > -> One metadata extractor witch detect the file type and use a dedicaced > > loader to construct Exiv2 metadata container. Actually JPEG, PNG and CRW > > files are supported. I have planed to do TIFF/DNG files and any others > > RAW files like NEF (Paco if you is interresed (:=)))) and MRW. The > > implementation is similar to Digikam::DImg container (about loader)... > > > > -> A large collection of widgets to display metadata in sidebar. > > > > I will provide a patch against svn in a near future... > > Here we are a patch against current digikam from svn 'trunk' branch : > > http://digikam3rdparty.free.fr/misc.tarballs/metadata.diff > > Gilles Caulier uninterpreted number values instead of strings. EG for a Nikon Camera there is a FlashpixVersion string which ist shown as 48 49 48 48 probably meaning 1.00. Other things like exposure time (and many more) are displayed as a fraction (10/200) instead of a clearer value (1/20). This kind of interpretation problems happen in many other EXIF tags as well. I think to be able to see more it would be helpful if this problem could be fixed first. Another thing is that I would to change the sequence in which the dataare shown. Atthe moment the Photography information part is somewhere in the midde wheras "Image Information" and "Thumbnail" and "Iteroperability" are on top.I think the photography info is the most important and it would help to see it on top of the list. Thanks a lot Rainer -- --------------------------------------------------------------------------- Rainer Krienke, Universitaet Koblenz, Rechenzentrum, Raum A022 Universitaetsstrasse 1, 56070 Koblenz, Tel: +49 261287 -1312, Fax: -1001312 Mail: [hidden email], Web: http://www.uni-koblenz.de/~krienke Get my public PGP key: http://www.uni-koblenz.de/~krienke/mypgp.html --------------------------------------------------------------------------- _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel attachment0 (196 bytes) Download Attachment |
In reply to this post by Laurent Rathle
Le Mardi 28 Février 2006 15:29, Laurent Rathle a écrit :
> > Right question. I need any report about my patch with the current > > implementation before to commit anything. > > With fresh subversion and your patch : Sorry for the noise. I forgot a --with-extra-includes. Here you can find screenshots of the results with the jpg picture I sent you : http://thamms.org/~lolo/index.php?path=Digikam/ _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Gilles Caulier-2
El Martes, 28 de Febrero de 2006 14:08, Gilles Caulier escribió:
> Le Mardi 28 Février 2006 12:22, F.J.Cruz a écrit : > > > > Of course,I'm very interested on metadata support in digiKam, especially > > NEF files since I'm owner of a D50.In fact, along this last week I've > > been having a look to exiv2 code and I want to make you some questions: > > > > - How are you going to implement metadata infor for files that are not > > implemented in exiv2 yet? > > The better way that i have identifed to add better RAW file support is to > re-use implementation from ExifProbe project : > > http://www.virtual-cafe.com/~dhh/tools.d/exifprobe.d/exifprobe.html > > I think that only a simple exif/markernote extraction is enought in digiKam > at this moment. > > > Actually exiv2 has support only for CRW files > > (one of the two Canon RAW formats, the other one is CR2), altough there > > are files with makernotes specifications for a lot of manufacturers, so > > if I want to implement metadata extraction for NEF files, have I to > > implement the equivalent to crwimage in Exiv2? this can be a hard work if > > we have to do this for all the manufacturers who provide RAW format. > > The ExifProbe have a very well documentated source code about. Each file > format is separated cleanly. I think we can trying to use it. > > Each Digikam::DMetadata::loader are separate too. We can add new image file > format loader progressivly without any risk. > I want to write this stuff for nef files, but I need you give me some tips about how to implement it (following the ideas you described up) > > - What's about "write-access" on iptc data? > > With Exiv2 you can write IPTC tag in image, CRW included. > > > - Which of all these changes are for 0.9.0? > > Right question. I need any report about my patch with the current > implementation before to commit anything. About the new exif/makernotes/iptc viewer looks fine but there is a lot of work to do and not only for other raw files. There is some fields and a lot of values that are not in "human-readable" format so we need a "dictionary" to translate this stuff to something that anybody can understand. If we have exiftool as reference, you can understand what I'm talking about. So if you give me some tips, as I've said, I can start to implement metadata stuff for nef files (or other files format you want), until we have a final decision about color management issue. Paco. _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Le Mercredi 1 Mars 2006 17:15, F.J.Cruz a écrit :
> El Martes, 28 de Febrero de 2006 14:08, Gilles Caulier escribió: > > Le Mardi 28 Février 2006 12:22, F.J.Cruz a écrit : > > > Of course,I'm very interested on metadata support in digiKam, > > > especially NEF files since I'm owner of a D50.In fact, along this last > > > week I've been having a look to exiv2 code and I want to make you some > > > questions: > > > > > > - How are you going to implement metadata infor for files that are not > > > implemented in exiv2 yet? > > > > The better way that i have identifed to add better RAW file support is to > > re-use implementation from ExifProbe project : > > > > http://www.virtual-cafe.com/~dhh/tools.d/exifprobe.d/exifprobe.html > > > > I think that only a simple exif/markernote extraction is enought in > > digiKam at this moment. > > > > > Actually exiv2 has support only for CRW files > > > (one of the two Canon RAW formats, the other one is CR2), altough there > > > are files with makernotes specifications for a lot of manufacturers, so > > > if I want to implement metadata extraction for NEF files, have I to > > > implement the equivalent to crwimage in Exiv2? this can be a hard work > > > if we have to do this for all the manufacturers who provide RAW format. > > > > The ExifProbe have a very well documentated source code about. Each file > > format is separated cleanly. I think we can trying to use it. > > > > Each Digikam::DMetadata::loader are separate too. We can add new image > > file format loader progressivly without any risk. > > I want to write this stuff for nef files, but I need you give me some tips > about how to implement it (following the ideas you described up) > Well to start, i will use the code from this program : http://pages.quicksilver.net.nz/pepe/d70/Nikon_D70_on_Linux.html#exif the file http://pages.quicksilver.net.nz/pepe/d70/neftags2jpg.tar.bz2 is a small c implementation witch uses exiv2 ! It's extract any tags from a NEF file and contruct an Exif data container using Exiv2. You need to backport this code and put it on a new file to link with the dmetadata::rawloader. You can certainly get more tags using ExifProbe implementation, but you need to study ExifProbe implementation. It's more complicated. > > > - What's about "write-access" on iptc data? > > > > With Exiv2 you can write IPTC tag in image, CRW included. > > > > > - Which of all these changes are for 0.9.0? > > > > Right question. I need any report about my patch with the current > > implementation before to commit anything. > > About the new exif/makernotes/iptc viewer looks fine but there is a lot of > work to do and not only for other raw files. There is some fields and a lot > of values that are not in "human-readable" format so we need a > "dictionary" to translate this stuff to something that anybody can > understand. If we have exiftool as reference, you can understand what I'm > talking about. > > So if you give me some tips, as I've said, I can start to implement > metadata stuff for nef files (or other files format you want), until we > have a final decision about color management issue. Yes i seen. Look like Exiv2 author have send any tips on the ML to improve this problem. I will fix it. Gilles _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
El Miércoles, 1 de Marzo de 2006 17:49, Caulier Gilles escribió:
> Le Mercredi 1 Mars 2006 17:15, F.J.Cruz a écrit : > > El Martes, 28 de Febrero de 2006 14:08, Gilles Caulier escribió: > > > Le Mardi 28 Février 2006 12:22, F.J.Cruz a écrit : > > > > Of course,I'm very interested on metadata support in digiKam, > > > > especially NEF files since I'm owner of a D50.In fact, along this > > > > last week I've been having a look to exiv2 code and I want to make > > > > you some questions: > > > > > > > > - How are you going to implement metadata infor for files that are > > > > not implemented in exiv2 yet? > > > > > > The better way that i have identifed to add better RAW file support is > > > to re-use implementation from ExifProbe project : > > > > > > http://www.virtual-cafe.com/~dhh/tools.d/exifprobe.d/exifprobe.html > > > > > > I think that only a simple exif/markernote extraction is enought in > > > digiKam at this moment. > > > > > > > Actually exiv2 has support only for CRW files > > > > (one of the two Canon RAW formats, the other one is CR2), altough > > > > there are files with makernotes specifications for a lot of > > > > manufacturers, so if I want to implement metadata extraction for NEF > > > > files, have I to implement the equivalent to crwimage in Exiv2? this > > > > can be a hard work if we have to do this for all the manufacturers > > > > who provide RAW format. > > > > > > The ExifProbe have a very well documentated source code about. Each > > > file format is separated cleanly. I think we can trying to use it. > > > > > > Each Digikam::DMetadata::loader are separate too. We can add new image > > > file format loader progressivly without any risk. > > > > I want to write this stuff for nef files, but I need you give me some > > tips about how to implement it (following the ideas you described up) > > Well to start, i will use the code from this program : > > http://pages.quicksilver.net.nz/pepe/d70/Nikon_D70_on_Linux.html#exif > > the file http://pages.quicksilver.net.nz/pepe/d70/neftags2jpg.tar.bz2 is a > small c implementation witch uses exiv2 ! It's extract any tags from a NEF > file and contruct an Exif data container using Exiv2. > > You need to backport this code and put it on a new file to link with the > dmetadata::rawloader. > > You can certainly get more tags using ExifProbe implementation, but you > need to study ExifProbe implementation. It's more complicated. > > > > > - What's about "write-access" on iptc data? > > > > > > With Exiv2 you can write IPTC tag in image, CRW included. > > > > > > > - Which of all these changes are for 0.9.0? > > > > > > Right question. I need any report about my patch with the current > > > implementation before to commit anything. > > > > About the new exif/makernotes/iptc viewer looks fine but there is a lot > > of work to do and not only for other raw files. There is some fields and > > a lot of values that are not in "human-readable" format so we need a > > "dictionary" to translate this stuff to something that anybody can > > understand. If we have exiftool as reference, you can understand what I'm > > talking about. > > > > So if you give me some tips, as I've said, I can start to implement > > metadata stuff for nef files (or other files format you want), until we > > have a final decision about color management issue. > > Yes i seen. Look like Exiv2 author have send any tips on the ML to improve > this problem. I will fix it. > > Gilles Ok, I'll try to start with neftags2jpg stuff. Paco. _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Gilles Caulier-2
El Miércoles, 1 de Marzo de 2006 17:49, Caulier Gilles escribió:
> Le Mercredi 1 Mars 2006 17:15, F.J.Cruz a écrit : > > El Martes, 28 de Febrero de 2006 14:08, Gilles Caulier escribió: > > > Le Mardi 28 Février 2006 12:22, F.J.Cruz a écrit : > > > > Of course,I'm very interested on metadata support in digiKam, > > > > especially NEF files since I'm owner of a D50.In fact, along this > > > > last week I've been having a look to exiv2 code and I want to make > > > > you some questions: > > > > > > > > - How are you going to implement metadata infor for files that are > > > > not implemented in exiv2 yet? > > > > > > The better way that i have identifed to add better RAW file support is > > > to re-use implementation from ExifProbe project : > > > > > > http://www.virtual-cafe.com/~dhh/tools.d/exifprobe.d/exifprobe.html > > > > > > I think that only a simple exif/markernote extraction is enought in > > > digiKam at this moment. > > > > > > > Actually exiv2 has support only for CRW files > > > > (one of the two Canon RAW formats, the other one is CR2), altough > > > > there are files with makernotes specifications for a lot of > > > > manufacturers, so if I want to implement metadata extraction for NEF > > > > files, have I to implement the equivalent to crwimage in Exiv2? this > > > > can be a hard work if we have to do this for all the manufacturers > > > > who provide RAW format. > > > > > > The ExifProbe have a very well documentated source code about. Each > > > file format is separated cleanly. I think we can trying to use it. > > > > > > Each Digikam::DMetadata::loader are separate too. We can add new image > > > file format loader progressivly without any risk. > > > > I want to write this stuff for nef files, but I need you give me some > > tips about how to implement it (following the ideas you described up) > > Well to start, i will use the code from this program : > > http://pages.quicksilver.net.nz/pepe/d70/Nikon_D70_on_Linux.html#exif > > the file http://pages.quicksilver.net.nz/pepe/d70/neftags2jpg.tar.bz2 is a > small c implementation witch uses exiv2 ! It's extract any tags from a NEF > file and contruct an Exif data container using Exiv2. I've found a first problem: Nikon has, as far i know, 3 implementations for NEF format, but this little program looks like is usefull for one of them only. Paco. _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Bugzilla from ahuggel@gmx.net
Le Mardi 28 Février 2006 04:51 PM, Andreas Huggel a écrit :
> Hi, > > Thanks for using Exiv2! > > On Tuesday 28 February 2006 19:39, Gilles Caulier wrote: > > Le Mardi 28 Février 2006 11:09, Gilles Caulier a écrit : > > > Hi all digiKam users/team, > > > > > > Like you have seen last week, I have started a new implementation of > > > metadata viewer using libExiv2 instead the current Exif viewer using > > > libkexif. > > > > > > A fresh screenshot can be seen here : > > > > > > http://digikam3rdparty.free.fr/Screenshots/digikam0.9.0-alpha6.png > > Nice pictures. I noticed that the metadata is shown as plain values as > opposed to human readable strings, e.g., "ResolutionUnit 2" as opposed to > "ResolutionUnit inch". Can the user change that with the "Level of detail" > setting ("Simple" sounds like not everything is shown though)? Especially > for makernotes, the more readable expressions might be more useful than > plain values. You can get these easily by using the output operator for > Exifdatum. I have tried to do it like this : for (Exiv2::ExifData::iterator md = exifData.begin(); md != exifData.end(); ++md) { ... Exiv2::Exifdatum ed = exifData[md->key().c_str()]; ... } ... but after, i need to do what exactly ? And another question : how to get a more user friendly value of tag. The Exif data are sometime uninterpreted number values instead of strings. EG for a Nikon Camera there is a FlashpixVersion string which ist shown as 48 49 48 48 probably meaning 1.00. Other things like exposure time (and many more) are displayed as a fraction (10/200) instead of a clearer value (1/20). This kind of interpretation problems happen in many other EXIF tags as well. There is a way in Exiv2 to solve it or i need to polish the Exiv2 output in digiKam ? > > > Current Exiv2 problems (correct me if i'm wrong (:=))) : > > > > - The tags descriptions exist in Exiv2 but I can access it easily in my > > implementation... > > Assuming this should read "can _not_ access it easily" and refers to the > commented code in eg, ExifWidget::getTagDescription(): What about smth like > this (ignoring the conversions from and to QString): > > try { > Exiv2::ExifKey ek(key); > return Exiv2::ExifTags::tagDesc(ek.tag(), ek.ifdId()); > } > catch (Exiv2::AnyError& e) { > // not an Exif key > } > > Admittedly, this is still not really nice. And yes, it doesn't use gettext > yet. Ok descriptions implemented. Work fine. > > Thanks for encouraging contributions to Exiv2. i18n support is a > particularly good candidate for someone who knows or would like to learn > gettext. > > > Here we are a patch against current digikam from svn 'trunk' branch : > > > > http://digikam3rdparty.free.fr/misc.tarballs/metadata.diff > > In DMetaLoader::loadWithExiv2() > > + Exiv2::ExifData& exifData = image->exifData(); > ----------^ > Reference to prevent copying (and similar for Iptc). > > + catch( Exiv2::AnyError &e ) > ----------^^^ Baseclass in case future versions have more error > classes > + { > + kdDebug() << "Cannot load metadata using Exiv2 (" << e << ")" << > endl; > If you wanted the error message instead of just a code ------^ > + return false; > + } > Ok, i will fix it. > Further down, there is this remark: > > + // We trying to load exif data using likexif from THM file (thumbnail) > if exist, > // especially provided by recent USM camera. > > When reading from Canon CRW files, it might be interesting to check if > there is a correspoding THM file and use that instead. (At least some) > Canon cameras write such files together with CRW files and they contain the > complete Exif metadata instead of only a small subset, like the CRW file. > Exiv2 can read Canon THM files, they are just small Jpegs. > This job is now implemented in digiKam camera interface. If a .thm file is found, i will use this file to display metadata. For example, with my Minolta 5D, all RAW files are associed with a small .thm file. Thanks for you help Andreas Gilles Caulier _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
El Miércoles, 1 de Marzo de 2006 23:06, Caulier Gilles escribió:
> Le Mardi 28 Février 2006 04:51 PM, Andreas Huggel a écrit : > > Hi, > > > > Thanks for using Exiv2! > > > > On Tuesday 28 February 2006 19:39, Gilles Caulier wrote: > > > Le Mardi 28 Février 2006 11:09, Gilles Caulier a écrit : > > > > Hi all digiKam users/team, > > > > > > > > Like you have seen last week, I have started a new implementation of > > > > metadata viewer using libExiv2 instead the current Exif viewer using > > > > libkexif. > > > > > > > > A fresh screenshot can be seen here : > > > > > > > > http://digikam3rdparty.free.fr/Screenshots/digikam0.9.0-alpha6.png > > > > Nice pictures. I noticed that the metadata is shown as plain values as > > opposed to human readable strings, e.g., "ResolutionUnit 2" as opposed to > > "ResolutionUnit inch". Can the user change that with the "Level of > > detail" setting ("Simple" sounds like not everything is shown though)? > > Especially for makernotes, the more readable expressions might be more > > useful than plain values. You can get these easily by using the output > > operator for Exifdatum. > > I have tried to do it like this : > > for (Exiv2::ExifData::iterator md = exifData.begin(); md != > exifData.end(); ++md) > { > ... > Exiv2::Exifdatum ed = exifData[md->key().c_str()]; > > ... > } > > ... but after, i need to do what exactly ? > > And another question : how to get a more user friendly value of tag. The > Exif data are sometime uninterpreted number values instead of strings. EG > for a Nikon Camera there is a FlashpixVersion string which ist shown as 48 > 49 48 48 probably meaning 1.00. Other things like exposure time (and many > more) are displayed as a fraction (10/200) instead of a clearer value > (1/20). This kind of interpretation problems happen in many other EXIF tags > as well. > In Nikon NEF files (and probably other raw formats) there are some "fields" that are composite tags, for example, LensID is constructed as a Composite tag from the raw hex values of 8 other tags: LensIDNumber, LensFStops, MinFocalLength, MaxFocalLength, MaxApertureAtMinFocal, MaxApertureAtMaxFocal, MCUVersion and LensType, in that order. Paco. _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Gilles Caulier-2
Caulier Gilles wrote:
>And another question : how to get a more user friendly value of tag. The Exif >data are sometime uninterpreted number values instead of strings. EG for a >Nikon Camera there is a FlashpixVersion string which ist shown as 48 49 48 48 >probably meaning 1.00. Other things like exposure time (and many more) are >displayed as a fraction (10/200) instead of a clearer value (1/20). This kind >of interpretation problems happen in many other EXIF tags as well. > >There is a way in Exiv2 to solve it or i need to polish the Exiv2 output in >digiKam ? > > for (Exiv2::ExifData::const_iterator md = exifData.begin(); md != end; ++md) { std::ostringstream os; os << *md; // then work with os.str() } This provides the more readable tag values, it will take care of many but not all of these issues, because not all tags have a "pretty-print-function" and in some cases you may want more logic e.g. to choose a tag depending on its availability. E.g., for Exposure time try the ExposureTime tag, if it doesn't exist, try ShutterSpeedValue. If a pretty-print-function is missing, let me know, it can easily be added. All that is needed is a function which is registered in the tag lookup table. For example, look for print0x0112 in tags.[ch]pp. For sample code to print a summary of the Exif data, see Print::printSummary() in actions.cpp (used in the exiv2 utility). -ahu. _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by F.J.Cruz
Le Mercredi 1 Mars 2006 22:32, F.J.Cruz a écrit :
> El Miércoles, 1 de Marzo de 2006 17:49, Caulier Gilles escribió: > > Le Mercredi 1 Mars 2006 17:15, F.J.Cruz a écrit : > > > El Martes, 28 de Febrero de 2006 14:08, Gilles Caulier escribió: > > > > Le Mardi 28 Février 2006 12:22, F.J.Cruz a écrit : > > > > > Of course,I'm very interested on metadata support in digiKam, > > > > > especially NEF files since I'm owner of a D50.In fact, along this > > > > > last week I've been having a look to exiv2 code and I want to make > > > > > you some questions: > > > > > > > > > > - How are you going to implement metadata infor for files that are > > > > > not implemented in exiv2 yet? > > > > > > > > The better way that i have identifed to add better RAW file support > > > > is to re-use implementation from ExifProbe project : > > > > > > > > http://www.virtual-cafe.com/~dhh/tools.d/exifprobe.d/exifprobe.html > > > > > > > > I think that only a simple exif/markernote extraction is enought in > > > > digiKam at this moment. > > > > > > > > > Actually exiv2 has support only for CRW files > > > > > (one of the two Canon RAW formats, the other one is CR2), altough > > > > > there are files with makernotes specifications for a lot of > > > > > manufacturers, so if I want to implement metadata extraction for > > > > > NEF files, have I to implement the equivalent to crwimage in Exiv2? > > > > > this can be a hard work if we have to do this for all the > > > > > manufacturers who provide RAW format. > > > > > > > > The ExifProbe have a very well documentated source code about. Each > > > > file format is separated cleanly. I think we can trying to use it. > > > > > > > > Each Digikam::DMetadata::loader are separate too. We can add new > > > > image file format loader progressivly without any risk. > > > > > > I want to write this stuff for nef files, but I need you give me some > > > tips about how to implement it (following the ideas you described up) > > > > Well to start, i will use the code from this program : > > > > http://pages.quicksilver.net.nz/pepe/d70/Nikon_D70_on_Linux.html#exif > > > > the file http://pages.quicksilver.net.nz/pepe/d70/neftags2jpg.tar.bz2 is > > a small c implementation witch uses exiv2 ! It's extract any tags from a > > NEF file and contruct an Exif data container using Exiv2. > > I've found a first problem: Nikon has, as far i know, 3 implementations for > NEF format, but this little program looks like is usefull for one of them > only. > Well, neftags2jpg is a wrong way... Is ExifProbe tool work properly with 3 nef file version ? Gilles _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Gilles Caulier-2
---- Gilles Caulier <[hidden email]> escribió:
> Le Mercredi 1 Mars 2006 22:32, F.J.Cruz a écrit : > > El Miércoles, 1 de Marzo de 2006 17:49, Caulier Gilles escribió: > > > Le Mercredi 1 Mars 2006 17:15, F.J.Cruz a écrit : > > > > El Martes, 28 de Febrero de 2006 14:08, Gilles Caulier escribió: > > > > > Le Mardi 28 Février 2006 12:22, F.J.Cruz a écrit : > > > > > > Of course,I'm very interested on metadata support in digiKam, > > > > > > especially NEF files since I'm owner of a D50.In fact, along this > > > > > > last week I've been having a look to exiv2 code and I want to make > > > > > > you some questions: > > > > > > > > > > > > - How are you going to implement metadata infor for files that are > > > > > > not implemented in exiv2 yet? > > > > > > > > > > The better way that i have identifed to add better RAW file support > > > > > is to re-use implementation from ExifProbe project : > > > > > > > > > > http://www.virtual-cafe.com/~dhh/tools.d/exifprobe.d/exifprobe.html > > > > > > > > > > I think that only a simple exif/markernote extraction is enought in > > > > > digiKam at this moment. > > > > > > > > > > > Actually exiv2 has support only for CRW files > > > > > > (one of the two Canon RAW formats, the other one is CR2), altough > > > > > > there are files with makernotes specifications for a lot of > > > > > > manufacturers, so if I want to implement metadata extraction for > > > > > > NEF files, have I to implement the equivalent to crwimage in Exiv2? > > > > > > this can be a hard work if we have to do this for all the > > > > > > manufacturers who provide RAW format. > > > > > > > > > > The ExifProbe have a very well documentated source code about. Each > > > > > file format is separated cleanly. I think we can trying to use it. > > > > > > > > > > Each Digikam::DMetadata::loader are separate too. We can add new > > > > > image file format loader progressivly without any risk. > > > > > > > > I want to write this stuff for nef files, but I need you give me some > > > > tips about how to implement it (following the ideas you described up) > > > > > > Well to start, i will use the code from this program : > > > > > > http://pages.quicksilver.net.nz/pepe/d70/Nikon_D70_on_Linux.html#exif > > > > > > the file http://pages.quicksilver.net.nz/pepe/d70/neftags2jpg.tar.bz2 is > > > a small c implementation witch uses exiv2 ! It's extract any tags from a > > > NEF file and contruct an Exif data container using Exiv2. > > > > I've found a first problem: Nikon has, as far i know, 3 implementations for > > NEF format, but this little program looks like is usefull for one of them > > only. > > > > Well, neftags2jpg is a wrong way... > > Is ExifProbe tool work properly with 3 nef file version ? > Have a nice day. Paco _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Bugzilla from ahuggel@gmx.net
Le Jeudi 2 Mars 2006 02:29, vous avez écrit :
> Caulier Gilles wrote: > >And another question : how to get a more user friendly value of tag. The > > Exif data are sometime uninterpreted number values instead of strings. EG > > for a Nikon Camera there is a FlashpixVersion string which ist shown as > > 48 49 48 48 probably meaning 1.00. Other things like exposure time (and > > many more) are displayed as a fraction (10/200) instead of a clearer > > value (1/20). This kind of interpretation problems happen in many other > > EXIF tags as well. > > > >There is a way in Exiv2 to solve it or i need to polish the Exiv2 output > > in digiKam ? > > Exiv2::ExifData::const_iterator end = exifData.end(); > for (Exiv2::ExifData::const_iterator md = exifData.begin(); md != > end; ++md) { > std::ostringstream os; > os << *md; > // then work with os.str() > } > ok. I have used this way. All tags value are displayed nicely now. thanks (:=)) > This provides the more readable tag values, it will take care of many > but not all of these issues, because not all tags have a > "pretty-print-function" and in some cases you may want more logic e.g. > to choose a tag depending on its availability. E.g., for Exposure time > try the ExposureTime tag, if it doesn't exist, try ShutterSpeedValue. > > If a pretty-print-function is missing, let me know, it can easily be > added. All that is needed is a function which is registered in the tag > lookup table. For example, look for print0x0112 in tags.[ch]pp. > > For sample code to print a summary of the Exif data, see > Print::printSummary() in actions.cpp (used in the exiv2 utility). right. I will take a look. Ok, we have improved the "tag values" output. Now, still the problem to do an user friendly output of "tag names" like : DateTimeOriginal ==> Image timestamp. In ExifWidget::decodeMetadata() my implementation is : ... for (Exiv2::ExifData::iterator md = exifData.begin(); md != exifData.end(); ++md) { QString key = QString::fromLocal8Bit(md->key().c_str()); // Decode the tag value with a user friendly output. std::ostringstream os; os << *md; QString value = QString::fromLocal8Bit(os.str().c_str()); // We apply a filter to get only standard Exif tags, not maker notes. if (stdExifFilter.contains(key.section(".", 1, 1))) metaDataMap.insert(key, value); } There is a way to make it automaticly using Exiv2 ? Gilles _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Free forum by Nabble | Edit this page |