The LayoutWizzard workflow in Goobi generally consists of several Goobi workflow steps that work together. A typical LayoutWizzard workflow as part of a Goobi workflow might look like the following:
In the first step (in this example Automatic Image Analysis
) an automatic layout analysis of the images is performed to check the rotation, the content area and the position of the book fold. This is usually done in an external TaskManager to relieve the strain on Goobi's system resources. In the second step (LayoutWizzard
in this example), the results of the analysis are then checked manually and, if necessary, corrected. This is done within a separate user interface that has been installed as a Goobi plug-in. As soon as this manual check has been completed, the automatic saving (referred to here as Automatic image cropping
) of the cropped derivatives takes place, based on the data previously analyzed and possibly adjusted. This saving also usually takes place within the TaskManager.
Since the individual workflow steps of the LayoutWizzard work on a common database of configuration and analysis data, the data must be kept persistent at least for the duration of the LayoutWizard workflow. This is done in the imageData.xml
file in the Goobi operations folder. As an example, such a complete path to this file would read accordingly:
This file contains all configuration settings for the corresponding process as well as the analysis data for each image, from which the derivatives are created in the final saving step.
The installation consists of a total of four program libraries that must be accessible in Apache Tomcat or Goobi:
layoutwizzard.jar
In the lib
folder of the Goobi webapp in the Tomcat
plugin_intranda_step_LayoutWizzard.jar
In the plugins/step
folder in the Goobi working directory
plugin_intranda_step_LayoutWizzard-GUI.jar
In the plugins/GUI
folder in the Goobi working directory
In addition to these program files, two configuration files are required, one for the Goobi plug-in and one for the underlying LayoutWizzard program library.
The configuration file of the plugin plugin_LayoutWizzardPlugin.xml
must be located in the config
configuration directory within the Goobi working directory. This is usually the path to the file:
Within this configuration file the path to the actual central configuration of the LayoutWizard is specified. The structure of this file looks like this:
The actual configuration file specifies various parameters for the layout analysis process. These parameters are listed as examples in the following configuration file. As defined in the plugin configuration file, it is located under the following path:
As an example, this configuration file has the following content:
For details on customizing the configurations, see the Configuration section.
The central configuration of the LayoutWizzard takes place in a separate configuration file. This file can be located anywhere in the file system, because its path can be specified in any program component of the LayoutWizzard. Usually the path to this central configuration file is as follows:
The content of such a configuration looks exemplary as follows:
The configuration consists of some general settings and several <analysis>
blocks. The <analysis>
blocks mainly control the settings for the automatic analysis. Different projects or tasks can use different settings by passing the id of the <analysis>
block to the automatic analysis.
General settings always affect all operations and are not overwritten by operation-specific settings.
The following list of general configuration paths is not complete. However, it contains all configurations that must be individually adapted for an installation.
previews/previewsPerPage
Number of images per page in the Goobi LayoutWizzard plugin preview
previews/previewHeight
Height of the thumbnail file in pixels displayed in the preview view. Smaller images allow faster display, but have a lower resolution.
previews/largePreviewWidth
Width in pixels of the thumbnail file displayed for the single-page view of the Goobi LayoutWizzard plugin Smaller images allow faster display, but have a lower resolution.
processingThreads
The maximum number of simultaneously running analysis or storage processes. This applies to Goobi and TaskManager separately. The images are processed sequentially for each operation. However, simultaneous processing may occur if several LayoutWizard jobs are running in parallel in the TaskManager.
analsisTimeout/duration
This value specifies the maximum time for analyzing or saving an image after which the execution for the image should be aborted. An analysis that was interrupted due to timeouts is noted, but the analysis of the following images is continued. The missing analysis data can be added in the manual control. However, a canceled save always ends the TaskManager job with an error. Useful values for the timeout are between 4 seconds and about one minute, depending on the performance and reliability of the system and the size and complexity of the images to be analyzed.
analysisTimeout/unit
This value defines the time unit in which analysisTimeout/duration is specified. Possible values are MICROSECONDS
, MILLISECONDS
, SECONDS
and MINUTES
.
saving/defaultCompression
This value determines the compression level that is used by default for saving the derivatives. Valid values here are NONE
or JPEG
. The quality
attribute specifies the compression quality for JPEG compression. It must be between 0
and 100
.
saving/overwriteExistingImages
This value can be used to determine whether existing image derivatives should be overwritten during saving.
saving/ignoreImageMetadataErrors
Here you can specify whether the derivatives should also be saved if not all image metadata can be transferred. This can happen, for example, if unknown metadata exists for the Java image library. It is therefore advisable to always leave this value set to false
as long as this setting is not explicitly required.
Each <analysis>
block has an attribute id
that controls which block is used for a particular analysis. The last block must have the id="default"
. Settings from this block are always used if no analysis id is passed to an analysis call, or if a setting is not configured in the actually used block. All other blocks consist accordingly of the subset of configurations that differ from the default
configuration.
The following settings can exist in each <analysis>
block:
info/label
This is the name of the analysis setting in the plugin interface.
pageMode
externalCommands/@use
At this point it is determined whether the generation of images for the analysis and storage of the derivatives should be done by an external program. This can speed up the image generation considerably under certain circumstances, but it can also be more error-prone, since the generation then takes place outside of Java.
externalCommands/convert
This value defines the console command to call the external program for generating images. The execution specifics are appended to this command, following the format of ImageMagick
. The called program must therefore be able to be called with parameters compatible with ImageMagick
.
analysisStep
This value contains all internal parameters of the respective automatic analysis step.
analysisStep/@name
This defines the internal name of the block. It must correspond to one of the following values:
PAGESKEW
: Align Page
CONTENTAREA
: Cutting the page
BOOKSPINE
: Detect the book spine
analysisStep/@use
This value can be used to determine whether an analysis step should be used. The value false
deactivates the analysis step.
analysisStep/@order
At this point the sequence of the analysis step within the entire analysis is determined.
The settings in the <analysisStep>
blocks concern specific parameters of the analysis algorithms. They are not described further here. However, users can potentially adjust any parameter in the interface. If the settings made in this way prove sufficient to be adopted in the configuration, the corresponding block in the configuration file can be set to the new value. The appropriate parameter block can be determined by finding the <analysisStep>
for the respective analysis step in the configuration file and changing the block with the internal parameter name there. The internal parameter name is displayed in the user interface as a tooltip when the mouse pointer is held over the label of the changed parameter.
Additionally, all analysis parameter blocks can have the visibility
attribute, which controls the visibility of the parameter in the user interface. If this attribute is missing, the default value HIDDEN
is used.
VISIBLE
The parameter is always visible in the interface when the corresponding step is selected.
HIDDEN
The parameter is only visible in the user interface when the analysis step block in the user interface is in extended mode.
INVISIBLE
The parameter is not displayed at all in the interface.
As the installation, configuration and technical operation require more detailed explanations, these are described in the individual chapters of this documentation. The following chapters on technical details are available:
This value defines the default page mode to be used. The specifications valid for this are defined within the .
The configuration file of the Goobi Step plug-in, which is the user interface for LayoutWizzard, must be located in the config
directory of the Goobi installation. Its file name in current Goobi versions is plugin_intranda_step_LayoutWizzard.xml
.
Usually the full path to this configuration file is as follows:
The content of this configuration file is structured as follows:
ATTENTION: Please make sure that the correct path to the LayoutWizzard configuration file within the<layout-wizzard-config-path>
element is specified here.