Hi all,
To support better metadata, especially Exif and IPTC, we need to use a new lib. Exiv2 seem to be the better choose actually, to manipulate EXIF and IPTC metadata from image file. http://home.arcor.de/ahuggel/exiv2/ Actually, Exiv2 support : - Exif data from JPEG files with a large suppport of special marker notes from constructors. - IPTC data from JPEG files - Exif data from CRW RW file (Canon tm) In Digikam::DImg, metadata are just stored like bytes array (DImg is a metadata container, no a metadata parser). It's easy to move this metadata from an original image to a target image. Actually, JPEG<->PNG Exif/IPTC metadata preservation is complete. If you convert a JPEG file including Exif data to a PNG file using Image Editor (and vis-versa), you can see the Exif metadata including to PNG file with Exif tab from main interface. Look here : http://digikam3rdparty.free.fr/Screenshots/digikam0.9.0-alpha4.png Exif/IPTC are store to PNG using standard ImageMagick Raw profile tag... But we need more metadata preservation : - RAW Exif/IPTC extraction ==> http://www.rags-int-inc.com/PhotoTechStuff/RawStandards/RawSummary.html - TIFF/EP Exif/IPTC manipulation. - DNG Exif/IPTC manipulation (DNG==TIFF/EP like file. We can plan this file format for the future). Exiv2 will support others image file format in the future, especially more RAW files and TIFF/EP files. In all case, Extracting RAW Exif metadata is possible using dcraw::parse.c method. This way is used in neftags2jpeg program dedicaced to extract Exif from NEF file : http://pages.quicksilver.net.nz/pepe/d70/Nikon_D70_on_Linux.html#exif neftags2jpeg program using Exiv2 to store like a byte array Exif informations (:=)))... In digiKam, this way can be used to make a RAW file parser to extract Exif data until that Exiv2 support better RAW file format. To get a complete list of RAW file tags, we can get any inspiration from the great exifprobe program : http://www.virtual-cafe.com/~dhh/tools.d/exifprobe.d/exifprobe.html If we using Exiv2 for 0.9.0, we will using 2 lib about Exif : Exiv2 and libkexif (using libexif). Sure in the future, all code depending of libkexif must be ported to Exiv2, but this can do later 0.9.0... Note : Exiv2 Exif bytes array data is compatible with libkexif. We can extract exif metadata using Exiv2 and displaying that using libkexif without problem... Any suggestions welcome. Gilles Caulier _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
El Martes, 14 de Febrero de 2006 15:55, Gilles Caulier escribió:
> Hi all, > > To support better metadata, especially Exif and IPTC, we need to use a new > lib. Exiv2 seem to be the better choose actually, to manipulate EXIF and > IPTC metadata from image file. > > http://home.arcor.de/ahuggel/exiv2/ > > Actually, Exiv2 support : > > - Exif data from JPEG files with a large suppport of special marker notes > from constructors. > - IPTC data from JPEG files > - Exif data from CRW RW file (Canon tm) > > In Digikam::DImg, metadata are just stored like bytes array (DImg is a > metadata container, no a metadata parser). It's easy to move this metadata > from an original image to a target image. Actually, JPEG<->PNG Exif/IPTC > metadata preservation is complete. If you convert a JPEG file including > Exif data to a PNG file using Image Editor (and vis-versa), you can see the > Exif metadata including to PNG file with Exif tab from main interface. Look > here : > > http://digikam3rdparty.free.fr/Screenshots/digikam0.9.0-alpha4.png > > Exif/IPTC are store to PNG using standard ImageMagick Raw profile tag... > > But we need more metadata preservation : > > - RAW Exif/IPTC extraction > ==> http://www.rags-int-inc.com/PhotoTechStuff/RawStandards/RawSummary.html > - TIFF/EP Exif/IPTC manipulation. > - DNG Exif/IPTC manipulation (DNG==TIFF/EP like file. We can plan this file > format for the future). > > Exiv2 will support others image file format in the future, especially more > RAW files and TIFF/EP files. > > In all case, Extracting RAW Exif metadata is possible using dcraw::parse.c > method. This way is used in neftags2jpeg program dedicaced to extract Exif > from NEF file : > > http://pages.quicksilver.net.nz/pepe/d70/Nikon_D70_on_Linux.html#exif > > neftags2jpeg program using Exiv2 to store like a byte array Exif > informations (:=)))... > > In digiKam, this way can be used to make a RAW file parser to extract Exif > data until that Exiv2 support better RAW file format. To get a complete > list of RAW file tags, we can get any inspiration from the great exifprobe > program : > > http://www.virtual-cafe.com/~dhh/tools.d/exifprobe.d/exifprobe.html > > If we using Exiv2 for 0.9.0, we will using 2 lib about Exif : Exiv2 and > libkexif (using libexif). Sure in the future, all code depending of > libkexif must be ported to Exiv2, but this can do later 0.9.0... > > Note : Exiv2 Exif bytes array data is compatible with libkexif. We can > extract exif metadata using Exiv2 and displaying that using libkexif > without problem... > > Any suggestions welcome. > > Gilles Caulier After I have seen some possible choices, I think that exiv2 is the best one at this moments, so I agree with Gilles. To Gilles: if I get to finish de icc stuf some day I would like to help you with metadata code :-/ Paco. _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Gilles Caulier-2
> - RAW Exif/IPTC extraction
Probably you already heard of it. Exiftool (http://www.sno.phy.queensu.ca/~phil/exiftool/) seems very good and handles quite much (at least it handles the exif of my nikon D70 raw files, and on the site there are many many others listed, have a look at it!). The only problem could be that it is written in perl. -Dennis _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Le Mardi 14 Février 2006 20:34, Dennis Gnad a écrit :
> > - RAW Exif/IPTC extraction > > Probably you already heard of it. Exiftool > (http://www.sno.phy.queensu.ca/~phil/exiftool/) seems very good and handles > quite much (at least it handles the exif of my nikon D70 raw files, and on > the site there are many many others listed, have a look at it!). The only > problem could be that it is written in perl. > Yes i know it. The Exiftool tags doc is excelent, but i don't understand why this tool hasn't been written in C/C++ for any performance reasons. We cannot using Exifttol in digiKam. We using C++... Gilles _______________________________________________ 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 14 Février 2006 16:43, F.J.Cruz a écrit :
> El Martes, 14 de Febrero de 2006 15:55, Gilles Caulier escribió: > > Hi all, > > > > To support better metadata, especially Exif and IPTC, we need to use a > > new lib. Exiv2 seem to be the better choose actually, to manipulate EXIF > > and IPTC metadata from image file. > > > > http://home.arcor.de/ahuggel/exiv2/ > > > > Actually, Exiv2 support : > > > > - Exif data from JPEG files with a large suppport of special marker notes > > from constructors. > > - IPTC data from JPEG files > > - Exif data from CRW RW file (Canon tm) > > > > In Digikam::DImg, metadata are just stored like bytes array (DImg is a > > metadata container, no a metadata parser). It's easy to move this > > metadata from an original image to a target image. Actually, JPEG<->PNG > > Exif/IPTC metadata preservation is complete. If you convert a JPEG file > > including Exif data to a PNG file using Image Editor (and vis-versa), you > > can see the Exif metadata including to PNG file with Exif tab from main > > interface. Look here : > > > > http://digikam3rdparty.free.fr/Screenshots/digikam0.9.0-alpha4.png > > > > Exif/IPTC are store to PNG using standard ImageMagick Raw profile tag... > > > > But we need more metadata preservation : > > > > - RAW Exif/IPTC extraction > > ==> > > http://www.rags-int-inc.com/PhotoTechStuff/RawStandards/RawSummary.html - > > TIFF/EP Exif/IPTC manipulation. > > - DNG Exif/IPTC manipulation (DNG==TIFF/EP like file. We can plan this > > file format for the future). > > > > Exiv2 will support others image file format in the future, especially > > more RAW files and TIFF/EP files. > > > > In all case, Extracting RAW Exif metadata is possible using > > dcraw::parse.c method. This way is used in neftags2jpeg program dedicaced > > to extract Exif from NEF file : > > > > http://pages.quicksilver.net.nz/pepe/d70/Nikon_D70_on_Linux.html#exif > > > > neftags2jpeg program using Exiv2 to store like a byte array Exif > > informations (:=)))... > > > > In digiKam, this way can be used to make a RAW file parser to extract > > Exif data until that Exiv2 support better RAW file format. To get a > > complete list of RAW file tags, we can get any inspiration from the great > > exifprobe program : > > > > http://www.virtual-cafe.com/~dhh/tools.d/exifprobe.d/exifprobe.html > > > > If we using Exiv2 for 0.9.0, we will using 2 lib about Exif : Exiv2 and > > libkexif (using libexif). Sure in the future, all code depending of > > libkexif must be ported to Exiv2, but this can do later 0.9.0... > > > > Note : Exiv2 Exif bytes array data is compatible with libkexif. We can > > extract exif metadata using Exiv2 and displaying that using libkexif > > without problem... > > > > Any suggestions welcome. > > > > Gilles Caulier > > After I have seen some possible choices, I think that exiv2 is the best one > at this moments, so I agree with Gilles. > > To Gilles: if I get to finish de icc stuf some day I would like to help you > with metadata code :-/ of course, no problem. The first is to have all viewpoint about from all... If you want to study Exif/IPTC/DNG/TIFF-EP/ etc., i recommend to print and read these links : TIFF - TIFF/EP : ftp://ftp.remotesensing.org/pub/libtiff/TIFF6.pdf http://www.awaresystems.be/imaging/tiff/tifftags.html nota last libtiff support already all TIFF/EP tags. DNG : http://www.adobe.com/products/dng/pdfs/dng_spec.pdf nota libtiff will support all DNG tags normally. Exif/IPTC : http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/ http://park2.wakwak.com/~tsuruzoh/Computer/Digicams/exif-e.html http://www.iptc.org/pages/index.php Gilles _______________________________________________ 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 14 Februar 2006 20:50 schrieb Caulier Gilles:
> Le Mardi 14 Février 2006 20:34, Dennis Gnad a écrit : > > > - RAW Exif/IPTC extraction > > > > Probably you already heard of it. Exiftool > > (http://www.sno.phy.queensu.ca/~phil/exiftool/) seems very > > good and handles quite much (at least it handles the exif of > > my nikon D70 raw files, and on the site there are many many > > others listed, have a look at it!). The only problem could be > > that it is written in perl. > > Yes i know it. The Exiftool tags doc is excelent, but i don't > understand why this tool hasn't been written in C/C++ for any > performance reasons. (ok, another try ;-) ) simple question, simple answer: **** e4l: How come you started writing ExifTool? PH: It evolved from a few routines I wrote for an image cataloguing utility (http://owl.phy.queensu.ca/~phil/icat/) that I wrote initially to maintain the images in the SNO web site in 2001. That was my introduction to Perl -- before that I was mainly a C++ programmer. Since then, I have done some rather substantial projects in Perl, and have really come to enjoy programming in this language. Now I find it hard to live without the automatic memory handling, hash lookups, and regular expressions. e4l: ExifTool is a Perl library with a comand line tool as backend. On your homepage you write that this helps to envolve ExifTool that fast. Now, with 5.00 ready, can you imagine to port this to a c/c++-lib? PH: When I decided to add the writing features to ExifTool last December, I considered rewriting the project in C++ since the work required to add the writing abilities would be many times the effort of writing the original utility. But even if I ignored the cost of rewriting the existing code, it would have been twice the work to do this project in C++, so I decided to use Perl. **** > We cannot using Exifttol in digiKam. We using C++... Too bad that there are no scripting hooks so tasks like metatag handling can be temporary handled by 1st class scripts as long as the C/C++ libs are still so limited. I would also start writing a wrapper C++-class for exiftool in any way you like as I do not see a performance problem. In digiKam current metatag handling only works on one single photo. So with a little bit smart code handling fast pic-to-pic clicks in album view every script ist fast enough for reading and writing a single file. Slower handling is better than no handling. ;-) Bye Thorsten _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Gilles Caulier-2
---- Thorsten Schnebeck <[hidden email]> escribió:
> Am Dienstag 14 Februar 2006 20:50 schrieb Caulier Gilles: > > Le Mardi 14 Février 2006 20:34, Dennis Gnad a écrit : > > > > - RAW Exif/IPTC extraction > > > > > > Probably you already heard of it. Exiftool > > > (http://www.sno.phy.queensu.ca/~phil/exiftool/) seems very > > > good and handles quite much (at least it handles the exif of > > > my nikon D70 raw files, and on the site there are many many > > > others listed, have a look at it!). The only problem could be > > > that it is written in perl. > > > > Yes i know it. The Exiftool tags doc is excelent, but i don't > > understand why this tool hasn't been written in C/C++ for any > > performance reasons. > > (ok, another try ;-) ) > > simple question, simple answer: > **** > e4l: How come you started writing ExifTool? > > PH: It evolved from a few routines I wrote for an image > cataloguing utility > (http://owl.phy.queensu.ca/~phil/icat/) that I wrote initially to > maintain the images in the SNO web site in 2001. That was my > introduction to Perl -- before that I was mainly a C++ programmer. > Since then, I have done some rather substantial projects in Perl, > and have really come to enjoy programming in this language. Now > I find it hard to live without the automatic memory handling, > hash lookups, and regular expressions. > > e4l: ExifTool is a Perl library with a comand line tool as > backend. On your homepage you write that this helps to envolve > ExifTool that fast. Now, with 5.00 ready, can you imagine to port > this to a c/c++-lib? > > PH: When I decided to add the writing features to ExifTool last > December, I considered rewriting the project in C++ since the > work required to add the writing abilities would be many times > the effort of writing the original utility. But even if I > ignored the cost of rewriting the existing code, it would have > been twice the work to do this project in C++, so I decided to > use Perl. > **** > > We cannot using Exifttol in digiKam. We using C++... > > Too bad that there are no scripting hooks so tasks like metatag > handling can be temporary handled by 1st class scripts as long as > the C/C++ libs are still so limited. > > I would also start writing a wrapper C++-class for exiftool in any > way you like as I do not see a performance problem. In digiKam > current metatag handling only works on one single photo. So with > a little bit smart code handling fast pic-to-pic clicks in album > view every script ist fast enough for reading and writing a > single file. Slower handling is better than no handling. ;-) > > Bye > > Thorsten > > _______________________________________________ > Digikam-devel mailing list > [hidden email] > https://mail.kde.org/mailman/listinfo/digikam-devel Well, I agree exiftool is a very good way to get metadata from images, if there is not speed issue and you want/can write a wrapper, I think it could be a good idea. Paco _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Free forum by Nabble | Edit this page |