4.12. Bildanalyse mittels des intranda LayoutWizzards

Das Goobi-Plugin LayoutWizzard erlaubt eine automatische Bildanalyse von Digitalisaten zur Bildaufbereitung, zusammen mit einer Computer-unterstützten Validierung der Ergebnisse. Mit Hilfe des intranda TaskManagers kann die rechen- und zeitaufwändige automatische Analyse, sowie die abschließende Speicherung der aufbereiteten Digitalisate auf externe Maschinen ausgelagert werden.

Dieses Plugin unterteilt sich in zwei Komponenten: LayoutWizzardAnalyse und LayoutWizzardSave. Erstere übernimmt die eigentliche Bildanalyse, während letztere die aufbereiteten Bilder in einem Ausgabeordner (üblicherweise der Derivate-Ordner des Goobi-Vorganges) abspeichert. Beide Komponenten werden im Folgenden kurz separat beschrieben.

LayoutWizzardAnalyse

Der Aufruf der Bildanalyse mittels des LayoutWizzards muss aus einem Workflowschritt folgendermaßen erfolgen:

/usr/bin/java -jar /opt/digiverso/itm/bin/TaskClient.jar
-itm http://localhost:8080/itm/service
-t LayoutWizzardAnalyse
-n Left-To-Right,individual-pages
-s {origpath}
-d {tiffpath}
-gid {processid}
-i {stepid}
-T {processtitle}
-e

Wenn vorhanden, übernimmt dieser Schritt Analyseparameter aus der Analysedatei im Vorgangsordner des Goobi-Vorganges:

imageData.ser

Andernfalls verwendet er die Parameter aus der in der Plugin-Konfiguration angegebenen LayoutWizzard-Konfigurationsdatei (siehe Abschnitt Konfiguration).

Der Schritt berechnet für alle Bilder im Eingabeordner (-s) die Drehung der Seite, Position der Seitenkanten und der Buchfalz. Diese Daten werden anschließend in oben genannter Analysedatei für spätere Workflow-Schritte gespeichert.

Sollte bei der Analyse ein Fehler auftreten, wird der Vorgang abgebrochen und die Fehlermeldung an Goobi gesendet.

LayoutWizzardSave

Das Speichern der aufbereiteten Bilder mittels des LayoutWizzards muss aus einem Workflowschritt folgendermaßen erfolgen:

/usr/bin/java -jar /opt/digiverso/itm/bin/TaskClient.jar
-itm http://localhost:8080/itm/service
-t LayoutWizzardSave
-n none
-s {origpath}
-d {tiffpath}
-gid {processid}
-i {stepid}
-T {processtitle}
-e

Dieser Schritt liest die Analyseergebnisse der Analysedatei im Vorgangsordner des Goobi-Vorganges aus:

imageData.ser

Diese muss in einem vorhergehenden Analyseschritt, entweder in Goobi oder ebenfalls im TaskManager, erzeugt worden sein. Anschließend werden gerade-gerichtete und zugeschnittene Versionen der Ausgangsbilder im Ausgabeordner (-d) als unkomprimierte Tiff-Dateien gespeichert. Sollte es dabei, z.B. wegen ungültiger Analysewerte, zu einem Fehler kommen, wird der Vorgang abgebrochen und die Analysedatei gelöscht, damit in einem Korrekturschritt neue Werte erzeugt werden können. Ansonsten wird die Analysedatei für eine eventuelle Wiederholung des Schrittes beibehalten

Die für beide Komponenten zu übergebenden Parameter haben folgende Bedeutungen:

Parameter

Mögliche Goobi Variable

Bedeutung

-itm

http://localhost/itm/service

URL zur Schnittstelle des intranda TaskManagers

-e, --returnError

-

Wenn angegeben, beendet sich der TaskClient mit einem Fehlercode, um das automatische Fortschreiten im Workflow zu unterbinden

-p

0 – 10

Priorität zur Verarbeitung dieses Jobs

-gid

{processid}

ID des Goobi-Vorgangs

-i

{stepid}

Die ID des Arbeitsschrittes, der den Aufruf startet

-T, --title

{processtitle}

Der Vorgangstitel in Goobi, für den der Aufruf gestartet wird

-t, --jobtype

LayoutWizzardAnalyse, LayoutWizzardSave

Der Typ des Jobs

-n, --templatename

Left-To-Right, individual-pages

Komma-separierte Liste von Bearbeitungsparametern (siehe Abschnitt Templates) für LayoutWizzardAnalyse. Ohne Bedeutung für LayoutWizzardSave.

-s, --source

{origpath}

Pfad zum Verzeichnis des zu bearbeitenden Bilder

-d, --destination

{tifpath}

Pfad zum Zielverzeichnis, in dem die bearbeiteten Bilder gespeichert werden sollen (nur für LayoutWizzardSave erforderlich)

Templates

Der Analyseschritt akzeptiert zwei Parameter als Template, die z.B. aus Vorgangseigenschaften des Goobi-Vorgangs ausgelesen werden können. Sie können dem Parameter -t angefügt werden. Die zur Verfügung stehenden Parameter sind in folgender Tabelle aufgeführt.

Parameter

Mögliche Werte

Bedeutung

Orientation

Left-To-Right

Das Digitalisat wurde von links nach rechts digitalisiert, also in Leserichtung der meisten europäischen Sprachen.

Left-To-Right

Das Digitalisat wurde von rechts nach links digitalisiert, also in Leserichtung von semitischen Sprachen wie Arabisch oder Hebräisch.

PageMode

individual-pages

Das Digitalisat wurde ausschließlich in Einzelseiten gescannt.

double-pages

Das Digitalisat wurde ausschließlich in Doppelseiten gescannt.

double-pages-with-individual-covers

Das Digitalisat wurde in Doppelseiten gescannt, abgesehen von der jeweils ersten und letzten Seite (üblicherweise den Buchdeckeln).

Werden Parameter auf diese Weise übergeben, müssen alle möglichen Parameter als Komma-separierte Liste in der angegebenen Reihenfolge übergeben werden, also immer in der folgenden Form:

<Orientation>,<PageMode>

Konfiguration

Das Plugin verwendet eine Konfigurationsdatei, die im config-Ordner des TaskManager Plugins liegen muss, also überlichweise unter folgendem Pfad:

/opt/digiverso/itm/plugins/config/

Der Dateiname muss dabei folgendermaßen lauten:

plugin_LayoutWizzard.xml

Ihr Inhalt besteht aus dem Pfad zur LayoutWizzard-Konfigurationsdatei als einzigem Parameter:

<config_plugin>
<layout-wizzard-config-path>
/opt/digiverso/LayoutWizzard/config/layoutwizzard_config.xml
</layout-wizzard-config-path>
</config_plugin>

Das Plugin stoppen

Wenn das Plugin gestoppt wird, wird das aktuell bearbeitete Bild fertig analysiert bzw. gespeichert und eine Ergebnisdatei geschrieben. Nach einem Neustart des Plugins setzt die unterbrochene Bearbeitung nach dem zuletzt bearbeiteten Bild fort. Alle Bilder werden in einem eigenen Prozess im Tomcat-Server bearbeitet. Um die aktuelle Bearbeitung eines Bildes zu unterbrechen, muss daher der Tomcat selbst neu gestartet werden. Dann wird der so unterbrochene TaskManager-Job jedoch nicht weiter bearbeitet sondern muss manuell abgebrochen und neu gestartet werden. Nach einer in der LayoutWizzard-Konfiguration festgesetzten Zeit wird jedoch die Bearbeitung eines Bildes automatisch unterbrochen, so dass ein Tomcat-Neustart in der Regel nicht notwendig ist.