EyeEm Autotagger

For the most up-to-date documentation, please visit docs.brix.ch

The EyeEm Autotagger makes the EyeEm services available in CELUM: Automated tagging, captions and aesthetic score. The service can be triggered via context-menu or automatically. Currently only tagging in English is supported, but with the Auto Translator plugin, tags can be translated automatically. If English is available, then tags are added in English and the default system language (if it is not English) because the default system language is required, if English isn't available then only the default system language is set (like this tags cannot be translated with the Auto Translator).

Properties

To be configured in {home}/appserver/conf/custom.properties

eyeem.license

type: string, required: yes, default: -

The license key for the plugin (product: eyeem), provided by brix.

eyeem.allowedUserGroupIds

type: comma-separated list of user group ids, required: no, default: -

The user group ids which are allowed to use this extension (super admins are always entitled).

eyeem.threads

type: integer, required: no, default: 10

The number of threads in the thread pool, that are processing the asset changes and initiating the automated tagging, has to be >= 2.

eyeem.debounceTimeInSeconds

type: integer, required: no, default: 5

The debounce time in seconds. E.g. 5 means that for 5s all changes that happen on an asset are collected and then processed at once. This has the advantage that if 10 relevant changes happen one after another within an interval of 5s, the EyeEm service is still only asked once and not 10 times.

eyeem.url

type: url, required: yes, default: https://vision-api.eyeem.com/v1

API-URL for the EyeEm service.

eyeem.clientId

type: string, required: yes, default: -

The EyeEm client id.

eyeem.clientSecret

type: string, required: yes, default: -

The EyeEm client secret.

eyeem.tagsInfoFieldId

type: integer, required: no, default: -

The id of the node reference information field for the EyeEm tags. Required to be able to use this service.

eyeem.captionInfoFieldId

type: integer, required: no, default: -

The id of the (localized) text (area) information field for the EyeEm caption. All types of text information fields are supported. Required to be able to use this service.

eyeem.aestheticScoreInfoFieldId

type: integer, required: no, default: -

The id of the number (score shown as percentage 0 to 100) or double (actual score between 0 and 1) information field. Required to be able to use this service.

eyeem.tagsThreshold

type: double, required: no, default: 0

Only tags with a certainty (a number between 0 and 1) >= the threshold will be added.

eyeem.contextMenu

type: boolean, required: no, default: true

Whether the context menu should be available (for the allowed user groups) or not.

eyeem.automate

type: boolean, required: no, default: false

Whether images should be tagged automatically or not.

type: string, required: no, default: documents=false&videos=false&audios=false&others=false (all images)

Search expression, only tag images within the scope (for automation and initialize task).

eyeem.search.userId

type: integer, required: no, default: api-user

User id of the user to perform the search with (only assets visible to this user will be found).

eyeem.tags.partition.threshold

type: integer, required: no, default: 100

Nodes are partitioned if the number of children in a node (which are not intermediate nodes) becomes greater than the threshold. Like this the GUI doesn't freeze if you try to open the tag tree. A number <= 0 prevents the partitioning.

Installation

The information fields below have to be added to all the asset types which should be available for the EyeEm Tagger. Each information field corresponds to one of the EyeEm services, it is possible to add only some of them and not all three. The fields can be added to an existing or a new fieldset. Tags will be created inside the root node for the EyeEm tags. After this modification follow the standard installation guide.

    <nodereference id="?" name="eyeem_tags">
        <labels>
            <label lang="en">EyeEm tags</label>
            <label lang="de">EyeEm-Tags</label>
        </labels>
        <!-- create a root node for the keywords and enter its id below -->
        <rootnode maxSelections="-1" showRoot="false" showNodeTree="false">?</rootnode>
    </nodereference>

    <text id="?" name="eyeem_caption">
        <labels>
            <label lang="en">EyeEm caption</label>
            <label lang="de">EyeEm-Beschriftung</label>
        </labels>
    </text>

    <double id="?" name="eyeem_aesthetic_score">
        <labels>
            <label lang="en">EyeEm aesthetic score</label>
            <label lang="de">EyeEm ästhetische Wertung</label>
        </labels>
    </double>

Compatibility Matrix

EyeEm Autotagger CELUM
1.0.1 5.13.4 (tested with 6.4)

Release Notes

1.0.1

Released 2020-05-03

1.1.0

Released 2020-03-26

Added node partitioner

Initial version