hierarchically structured keywords - database and exiftool

Started by Archive, May 12, 2010, 08:54:07 AM

Previous topic - Next topic

Archive

[Originally posted by ramueller on 2007-07-30 14:02:59-07]

Dear All,

My wife uses Jasc After Shot to manage her pictures on her windows machine, and I have Digikam on Linux running. Both programs have the "must-have" advantage, that you can generate hierarchically structured keywords and select the keywords for a given picture with a mouseclick. So far, so good. But both programs have the eminent disadvantage, that these keywords are saved in a database, separated from the pictures. Worst thing is with After Shot; no one says, where your database is saved and which file you have to include in your regularly backups. When you put your pictures on an CD, you get into problems to keep up your database. With Digikam it's a little better, because the database is kept in your home directory.

My idea was to keep the keywords together with the picture in the EXIF comment. Now I learned that there exists a tag called "keywords". Perfectly, exact that what I wanted! But to use it on a daily basis, there should be the possibility to

1. generate hierarchically structered keywords. The list should show up together with the thumbnails and allow to define the keywords assigned to a picture with a mouseclick. Exiftool could then be used to write the keywords into the image file.

2. write an index file which contains the picture file names together with the asssociated keywords by reading the albums, be it on hard disc or cd or whatever.

3. find the pictures by using that index file when keywords are given (best would be, as in After Shot, select the keywords by mouseclick).

I know, that these items are not the target of Exiftool, but some other programs could use Exiftool to realize these features.

So, in short, I am looking for a program with the user friendlieness of After Shot or Digikam, but with the keywords stored in the imagefile and not in a separate database. A separate database should only exist in form of the index file which is easyly reconstructed from the pictures in case it is lost.

Does anyone has knowledge of such a piece of software???

Thanks for understanding - Richard

Archive

[Originally posted by bogdan on 2007-07-30 16:21:13-07]

Hi Richard,

I believe I know what you mean. The only problem is: keywords in metadata (inside of image files) are not (can't be) hierarchical. As you say, there's a "keywords" tag in IPTC part of metadata, but this tag just holds (key)words separated with semicolon.

Some (serious DAM) applications keep keywords hierarchical inside their database. But when you "export" those keywords into imagefiles, keywords are just plain written into IPTC or XMP section -if you loose database, you loose hierarchy (but you keep keywords in this case, though).

With other words: there's no standardized way to have keywords hierarchically inside imagefile metadata.

Latest version of Adobe Lightroom writes keywords into XMP metadata section, where hierarchy is preserved AFAIK. But as Lightroom is quite new product, I doubt that any other application read those keywords that way (as hierarchical).

Bogdan

Archive

[Originally posted by ramueller on 2007-07-30 17:19:38-07]

Hi Bogdan,

you need a kind of syntax. An example. I have a picture of a dog I photographed in Leeuwarden, named DSC0001.jpg:
 

I have some keywords in my keyword list and mark those which are appropriated (x): (1)

Location (x)

|_ Netherlands (x)

|  |_ Friesland (x)

|     |_ Leeuwarden (x)

|  |_ North Holland

|_ Spain

   |_ Barcelona

Animals (x)

|_ Cats  

|_ Dogs (x)  

 

Now the marked keywords are taken and concatenated to the following string:

Location{Netherlands{Friesland{Leeuwarden}}};Animals{Dogs}

Exiftool takes this string and this command is executed:

$ exiftool keywords="Location{Netherlands{Friesland{Leeuwarden}}};Animals{Dogs}" DSC0001.jpg

When I read these data, exiftool gives this line to a program, which has  to re-interprete this as hierarchical. Couldn't this be a way to put hierarchical structure into the keyword tag?

Richard  

(1) works best with equidistant fonts as Courier

Archive

[Originally posted by bogdan on 2007-07-30 18:40:42-07]

Richard,

First needed to be said: it's not a good practice to put any location name ("location","salt lake city", etc.)into keywords tag. Because it is assumed, that any image is taken at some location anyway, so there's no need to put word "Location" into keywords tag -especially because there allready are location dedicated tags inside IPTC and XMP section (and there they are usually read-out hierarchically).

But I assume you have just made an example of how to make (any) keywords hierarchical. Of course there are the ways to do that... but, after doing all that work, I really see no benefit. Keywords are ment for searching particular set of images by image content criteria, for example:
 find "sunrise" AND "mountain".

With your approach, things can get complicated... what if cat and dog are on the same photo? And there may be much more complicated combinations to handle with.

My opinion on that: yes, it's good to have proper keywords (and other tags) inside image files, but they should be managed by some application.

Greetings,

Bogdan

Archive

[Originally posted by ramueller on 2007-07-30 20:20:33-07]

Hello Bogdan,

ACK with location, but it was just an example. A picture containing cats _and_ dogs: Animals{{cats}{dogs}}.

 yes, you're right, the keywords inside the image files should be managed by an application. But I have not found any program, let alone an Open Source program, doing this. My starting point was finding such an application...

Richard

Archive

[Originally posted by bogdan on 2007-07-31 15:30:44-07]

Hi Richard,

I have an impression, that you have the skill/need for "customizing".... So, if you havent't done yet, then take a look on "iMatch" from www.photools.com

iMatch is very powerfull and full customizable photo database management, where I think $60 can be very good investment (but you should try trial version before). And it is worth to mention, that iMatch is very regulary updated with good support. IMO, iMatch is really ment for pofessional usage.

Another (not expensive) option is FotoAlbum from www.fototime.com ($30) -it has some nice features and is quite easy to use.

The only freeware I know of, are: "Picasa" on picasa.google.com and "idImager Lite" on www.idimager.com
 

Again, keywords are just keywords (used for searching particular images) -they are not ment to be hierarchical. In DAM software (image database software), you usually create sets (called albums, libraries, etc.) of images, which are usually allways hierarchical -these sets contain images by any criteria (being keywords, locations, image status, etc.).

Greetings,

Bogdan

Archive

[Originally posted by ramueller on 2007-07-31 19:50:17-07]

Hello Bogdan,

thanks for your response. My point of view regarding keywords is a little bit different, and let me just say some words to illuminate:
I have a lot of pictures of biological subjects, in the past mostly flowering plants, now more water organisms. These objects have a scientific name and are classified hierarchically (family, genus, species). My approach is to include family, genus and species as keywords. I could use a program which finds the family to a given species and adds the family's name as keyword. So far so good. That works without having the keywords in structured form within the metadata of the picture. The same works with geographical data, biotope types and so on. But let me go farther: I want to have the possibility to reconstruct the hierarchically structured keyword list from the keywords in the metadata. (But you nearly have convinced me, boolean search is of course possible without this structure, the only necessity is to have the keywords of the higher, more general level in the metadata too).

DAM software usually relies on "albums". In my eyes this is a bad approach. I'd have to store pictures in more than one album. Of course I could do this with symbolical links, but that's getting rather complicated and needs much manual work. But I think this discussion is getting a little OT... But never mind, thanks for your opinion!

Regards, Richard

Archive

[Originally posted by ramueller on 2007-08-01 10:50:20-07]

Thanks for pointing my view to iMatch - it does exactly what I wanted - hierarchically keywords, which can be written into the image itself, reconstruct databases from the image files and so on. It has one shortcoming - it does not run on Linux (I tried to do it with wine, but it did not work. Other uses succeeded, but with a lot of work and instabilities).

Richard