How does PhotoStructure extract keywords from my photos and videos?
PhotoStructure uses a bunch of methods to pull out keywords from your photos and videos.
Keywords from metadata #
PhotoStructure extracts keywords from the following metadata tags:
Categories(this is typically XML-encoded)
XPKeywords(these are keywords added by the Windows Explorer)
This set is configurable in v1.0.0.
Metadata keyword extraction can be disabled with the
Keywords from sidecars #
PhotoStructure looks for metadata in
.MIE, and Google Takeout
.json sidecars. PhotoStructure supports both full name and base name sidecar
names. Matching is done case-insensitively.
As an example:
IMG_123.JPG will inherit tags from both
Newer files will overwrite the values from older files, so by editing a sidecar, that value will “win.”
Keywords from path names #
Tags found in filenames or parent directories that follow
-- are added
automatically. Here are a couple examples:
- All files found in the
/Users/bob/Pictures/2019-02-14/--event travel/directory would be tagged with
- The file
/home/karen/2018-11-23/P317812--ocean.jpgwould be tagged with
- Filename tags can be hierarchical by using the
keywordPathSeparatorssetting: for example,
/home/alice/Pictures/--event|wedding,people/example.jpgwould be tagged with
Path name keyword extraction can be disabled with the
Multiple keywords #
PhotoStructure splits keywords by commas and semicolons. For example,
car, blue, tree will be interpreted as having the keywords
This is configurable via the
Hierarchical keywords #
All of PhotoStructure’s tags are “hierarchical,” rather than “flat.” Read more about PhotoStructure’s hierarchical tags.
PhotoStructure looks for “path separator” characters in keywords. By default,
⊃ are considered “path separators.” This
set can be changed by the
This allows for tags like
Flora ⊃ Fruit ⊃ Orange, or
Fauna > Oceanic > Pelican.
Where do these keywords go? #
PhotoStructure looks for one or more path separators in a keyword. If none are found, the keyword is “flat.” If it finds one or more of these characters, it considers the keyword to be “hierarchical.”
Non-hierarchical, “flat” keywords are added to the
Keywords root tag (which
you can visit via the navigation menu). As an example, an image with the
keywords “blue” and “sky” will result in the asset being tagged with
Hierarchical keywords are added directly. As an example, an image tagged with
Family|Einstein|Albert will introduce a new
Family “root tag.”