Installation
Programmbibliotheken
Die Installation besteht aus insgesamt vier Programmbibliotheken, die im Apache Tomcat bzw. in Goobi erreichbar sein müssen:
Konfigurationsdateien
Neben diesen Programmdateien werden zwei Konfigurationsdateien benötigt, eine für das Goobi-Plugin, und eine für die zugrundeliegende LayoutWizzard-Programmbibliothek.
Plugin-Konfiguration
Die Konfigurationsdatei des Plugins plugin_LayoutWizzardPlugin.xml
muss im Konfigurationsverzeichnis config
innerhalb des Goobi-Arbeitsverzeichnisses liegen. Üblicherweise handelt es sich hierbei um diesen Pfad zur Datei:
/opt/digiverso/goobi/config/plugin_LayoutWizzardPlugin.xml
Innerhalb dieser Konfigurationsdatei wird der Pfad zur eigentlichen zentralen Konfiguration des LayoutWizzards angegeben. Der Aufbau dieser Datei sieht dabei folgendermaßen aus:
<!-- Goobi Plugin configuration file -->
<config_plugin>
<config>
<!-- which projects to use for (can be more then one, otherwise use *) -->
<project>*</project>
<!-- which steps to use for (can be more then one, otherwise use *) -->
<step>*</step>
<!-- The absolute path to the layoutwizzard_config.xml to use -->
<layout-wizzard-config-path>
/opt/digiverso/LayoutWizzard/layoutwizzard_config.xml
</layout-wizzard-config-path>
<!-- The initial view of the LayoutWizzard Plugin. Can be one of
* PREVIEW: The preview page of the plugin, displaying all pages in a vertical list
* SINGLEVIEW: The single view page of the plugin, displaying all settings and the first page
* SIMPLECROP: A zoomable cropping view for processes with few large images. Does not support spne cropping-->
<startPage>PREVIEW</startPage>
<!-- The initial viewing mode if the PREVIEW view. One of
* ALTERNATING to see only left/right images per page
* DOUBLE_PAGE to see opposite pages next to each other -->
<previewMode>ALTERNATING</previewMode>
<!-- Config for appearance of single/large image -->
<singleImage>
<!-- Config for frame around the crop area -->
<cropFrame>
<!-- Thickness of frame -->
<linewidth>2</linewidth>
<!-- Color of frame -->
<linecolor>#00fa9a</linecolor>
<!-- Radius around the frame in which the frame can be selected for drag/resize -->
<clickradius>20</clickradius>
<!-- The color filling the area outside the crop frame in the Save View -->
<fillcolor>#ffffff</fillcolor>
</cropFrame>
<!-- Config for line marking the spine position -->
<spineMarker>
<!-- Thickness of line -->
<linewidth>2</linewidth>
<!-- Color of line -->
<linecolor>#ff0000</linecolor>
<!-- Radius around the line in which the line can be selected for dragging -->
<clickradius>20</clickradius>
</spineMarker>
</singleImage>
<!-- Config for appearance of images in preview mode -->
<preview>
<!-- Config for frame around the crop area -->
<cropFrame>
<!-- Thickness of frame -->
<linewidth>2</linewidth>
<!-- Color of frame -->
<linecolor>#00fa9a</linecolor>
<!-- Radius around the frame in which the frame can be selected for drag/resize -->
<clickradius>20</clickradius>
<!-- The color filling the area outside the crop frame in the Save View -->
<fillcolor>#f1f2f3</fillcolor>
</cropFrame>
<!-- Config for line marking the spine position -->
<spineMarker>
<!-- Thickness of line -->
<linewidth>2</linewidth>
<!-- Color of line -->
<linecolor>#ff0000</linecolor>
<!-- Radius around the line in which the line can be selected for dragging -->
<clickradius>20</clickradius>
</spineMarker>
</preview>
<!-- Display cropping control elements in preview mode -->
<previewCroppingOptions>
<show>true</show>
</previewCroppingOptions>
<!-- Display the option to select page orientation in preview mode (may be prone to errors) -->
<previewOrientationSelect>
<show>false</show>
</previewOrientationSelect>
<!-- Options for Global cropping options -->
<globalCroppingOptions>
<!-- Display Global cropping options in single page mode -->
<show>true</show>
<!-- Unit to display crop frame coordinates in. One of
* μm
* mm
* cm
* in -->
<unit>mm</unit>
<!-- Settings for keyboard controls of crop frame. set use="true" to allow changing crop frame using keyboard shortcuts -->
<keyboardControls use="true">
<!-- Key(s) to keep pressed when moving the frame. Can be SHIFT, CTRL or ALT -->
<moveMaskKey>SHIFT</moveMaskKey>
<moveMaskKey>CTRL</moveMaskKey>
<!-- Key(s) to keep pressed when resizing the frame. Can be SHIFT, CTRL or ALT -->
<resizeMaskKey>SHIFT</resizeMaskKey>
<!-- Amount of units (see above) to move the frame for each key press event -->
<stepSize>0.1</stepSize>
</keyboardControls>
</globalCroppingOptions>
<!-- Display information about the the cropping/deskewing value of the current step -->
<info show="true">
<!-- Display format for spine location. {f} is a floating number, {u} the appropriate unit -->
<spine>
<format>Falz: {f}{u}</format>
</spine>
</info>
</config>
</config_plugin>
LayoutWizzard-Konfiguration
Die eigentliche Konfigurationsdatei gibt für den Vorgang der Layoutanalyse verschiedene Parameter vor. Diese Parameter sind beispielhaft in der folgenden Konfigurationsdatei aufgeführt. Sie befindet sich, wie in der Plugin-Konfigurationsdatei definiert, unter folgendem Pfad:
/opt/digiverso/intranda/LayoutWizzard/layoutwizzard_config.xml
Beispielhaft hat diese Konfigurationsdatei den folgenden Inhalt:
<!-- intranda Layout Wizzard configuration file -->
<config>
<contentServerUrl>http://demo03.intranda.com/goobi/cs/cs</contentServerUrl>
<defaultOutputFolderSuffix>media</defaultOutputFolderSuffix>
<analysisImagesBasePath>/home/florian/LayoutWizzard/samples/</analysisImagesBasePath>
<previews>
<previewsPerPage>100</previewsPerPage>
<maxPreviewsCached>10000</maxPreviewsCached>
<previewWidth>700</previewWidth>
<imageHeightLarge>800</imageHeightLarge>
</previews>
<outliers>
<errorMultiplier>3.0</errorMultiplier>
<weightExponent>2.0</weightExponent>
</outliers>
<saving>
<defaultCompression quality="85">NONE</defaultCompression>
<overwriteExistingImages>true</overwriteExistingImages>
</saving>
<analysis id="firstPageLeft">
<firstPageOrientation>LEFT</firstPageOrientation>
</analysis>
<analysis id="firstPageRight">
<firstPageOrientation>RIGHT</firstPageOrientation>
</analysis>
<analysis>
<analysisStep name="PAGESKEW" type="edges" use="true">
<saveAnalysisImages visibility="INVISIBLE" path="DESKEW">false</saveAnalysisImages>
<deskewerMode visibility="VISIBLE">ALL_EDGES</deskewerMode>
<lineFinderMode>CONTOURS</lineFinderMode>
<lineGroupingMode>GROUP_BY_DISTANCE</lineGroupingMode>
<featureSizeThreshold>10.0</featureSizeThreshold>
<analysisImageSize>300</analysisImageSize>
<lowerCannyThreshold>70</lowerCannyThreshold>
<cannyRatio>2</cannyRatio>
<distanceResolution>1</distanceResolution>
<angleResolution>1</angleResolution>
<minHoughLineLength>10</minHoughLineLength>
<houghLineThreshold>50</houghLineThreshold>
<maxHoughLineGapSize>2</maxHoughLineGapSize>
<maxLineAngleDeviation>5</maxLineAngleDeviation>
<maxLineDistance>7</maxLineDistance>
<rimAreaToIgnoreLines>0.0</rimAreaToIgnoreLines>
</analysisStep>
<analysisStep name="CONTENTAREA" use="true">
<analysisImageSize>0</analysisImageSize>
<saveAnalysisImages visibility="INVISIBLE" path="edgeDetection">false</saveAnalysisImages>
<bitonalThreshold>150</bitonalThreshold>
<bitonalInvert>false</bitonalInvert>
<featureSizeThreshold>10.0</featureSizeThreshold>
<contentPadding visibility="VISIBLE">0</contentPadding>
</analysisStep>
<analysisStep name="BOOKSPINE" use="true">
<analysisImageSize>400</analysisImageSize>
<saveAnalysisImages visibility="INVISIBLE" path="spineDetection">false</saveAnalysisImages>
<lineFinderMode>CONTOURS</lineFinderMode>
<lineGroupingMode visibility="INVISIBLE">GROUP_BY_DISTANCE</lineGroupingMode>
<croppingAggressiveness visibility="VISIBLE">BALANCED</croppingAggressiveness>
<lowerCannyThreshold>40</lowerCannyThreshold>
<cannyRatio>2</cannyRatio>
<distanceResolution>1</distanceResolution>
<angleResolution>1</angleResolution>
<minHoughLineLength>20</minHoughLineLength>
<houghLineThreshold>10</houghLineThreshold>
<maxHoughLineGapSize>4</maxHoughLineGapSize>
<maxLineAngleDeviation>5</maxLineAngleDeviation>
<maxLineDistance>5</maxLineDistance>
<featureSizeThreshold>0.1</featureSizeThreshold>
<rimAreaToIgnoreLines>0.0125</rimAreaToIgnoreLines>
<maxGroupAngleDeviation visibility="INVISIBLE">10</maxGroupAngleDeviation>
<spineOffset visibility="VISIBLE">5</spineOffset>
</analysisStep>
</analysis>
</config>
Details über die Anpassung der Konfigurationen finden sich im Abschnitt zur Konfiguration.
Last updated