From 8efcc6874a1a27a4138aaf293acc431b3551ba00 Mon Sep 17 00:00:00 2001 From: Elisabeth Engl Date: Tue, 7 Apr 2020 17:00:30 +0200 Subject: [PATCH 01/43] correct workflow --- site/de/setup.md | 555 ++++++++++++++++++++++ site/de/user_guide.md | 423 +++++++++++++++++ site/de/workflows.md | 1039 +++++++++++++++++++++++++++++++++++++++++ site/en/workflows.md | 345 +++++++++----- 4 files changed, 2247 insertions(+), 115 deletions(-) create mode 100644 site/de/setup.md create mode 100644 site/de/user_guide.md create mode 100644 site/de/workflows.md diff --git a/site/de/setup.md b/site/de/setup.md new file mode 100644 index 000000000..2bdb82d87 --- /dev/null +++ b/site/de/setup.md @@ -0,0 +1,555 @@ +--- +layout: page +lang: de +lang-ref: setup +toc: true +--- + +# OCR-D-Installationsanleitung + +Die OCR-D-Software ist eine modulare Sammlung mehrerer Projekte (genannt _Module_) +mit vielen Werkzeugen pro Modul (genannt _Prozessoren_), die frei kombiniert werden können, +um den für die OCR-Bearbeitung Ihrer Inhalte am besten geeigneten Workflow zu erreichen. + +Alle [OCR-D-Module] (https://github.com/topics/ocr-d) folgen der gleichen. +[Schnittstelle](https://ocr-d.github.io/cli) und einem einheitlichen Prinzip. Sobald man +verstanden hat, wie ein Projekt installiert und benutzt wird, kann man auch alle anderen installieren und +verwenden. + +## Installation + +Es gibt vier Möglichkeiten, die OCR-D-Module zu installieren: + + 1. Verwendung der [`ocrd/all` Docker-Modul-Sammlung](https://hub.docker.com/r/ocrd/all) (**empfohlen**) + 2. Die Verwendung von `ocrd/all` zur lokalen Installation von OCR-D-Modulen + 3. Module einzeln über Docker oder nativ installieren (nicht empfohlen) + 4. Verwendung des [OCR-D Framework mit Docker](https://github.com/VolkerHartmann/ocrd_framework) zur Installation aller verfügbaren Prozessoren, des Taverna-Workflows und des lokalen Forschungsdatenrepositoriums + +Wir empfehlen die Verwendung des Docker-Images, da dies abgesehen von +der [Installation von Docker](https://hub.docker.com/r/ocrd/all) +keine Änderungen an dem Host-System erfordert. + +Module einzeln zu installieren, ist nicht empfehlenswert. Hier wird es schwierig, die +Software auf dem neuesten Stand zu halten und sicherzustellen, dass die Module in funktionsfähigen und interoperablen Versionen vorliegen. + +## ocrd_all + +Das [`ocrd_all`](https://github.com/OCR-D/ocrd_all) Projekt ist aus der +OCR-D-Community heraus entstanden und wird jetzt vom OCR-D-Koordinationsteam betreut. Diese Lösung rationalisiert +die native Installation von OCR-D-Modulen mit einem vielseitigen Makefile-Ansatz. +Neben der lokalen Installation des vollständigen OCR-D-Module ist es auch Basis für die +[`ocrd/all`](https://hub.docker.com/r/ocrd/all) auf DockerHub verfügbaren Docker-Images, +die alle sofort einsetzbaren OCR-D-Module enthalten. + +Technisch gesehen ist `ocrd_all` ein Git-Repository, das die gesamte benötigte Software +als Git-Submodule in bestimmten Revisionen enthält. Auf diese Weise kann sichergestellt werden, +dass die Software-Werkzeuge in einer stabilen Version vorliegen und interoperabel sind. + +## ocrd_all über Docker + +### mini medi maxi + +Es gibt drei Versionen des [`ocrd/all`](https://hub.docker.com/r/ocrd/all) Image: +`minimum`, `medium` und `maximum`. Sie unterscheiden sich in der Anzahl der enthaltenen Module +und damit in der Größe des Bildes. Die `minimum-` oder `medium`-Images können verwendet werden, wenn +für Ihre Workflows mit Sicherheit nicht alle OCR-D-Module benötigt werden. Andernfalls +empfehlen wir, das große, vollständige "maximum"-Image zu verwenden. + +Die folgende Tabelle zeigt, welche Module in welcher Image-Version enthalten sind: + + +| Module | `minimum` | `medium` | `maximum` | +| ----- | ---- | ---- | ---- | +| core | ☑ | ☑ | ☑ | +| ocrd_cis | ☑ | ☑ | ☑ | +| ocrd_im6convert | ☑ | ☑ | ☑ | +| ocrd_repair_inconsistencies | ☑ | ☑ | ☑ | +| ocrd_tesserocr | ☑ | ☑ | ☑ | +| tesserocr | ☑ | ☑ | ☑ | +| workflow-configuration | ☑ | ☑ | ☑ | +| cor-asv-ann | - | ☑ | ☑ | +| dinglehopper | - | ☑ | ☑ | +| format-converters | - | ☑ | ☑ | +| ocrd_calamari | - | ☑ | ☑ | +| ocrd_keraslm | - | ☑ | ☑ | +| ocrd_olena | - | ☑ | ☑ | +| ocrd_segment | - | ☑ | ☑ | +| tesseract | - | ☑ | ☑ | +| ocrd_anybaseocr | - | - | ☑ | +| ocrd_kraken | - | - | ☑ | +| ocrd_ocropy | - | - | ☑ | +| ocrd_pc_segmentation | - | - | ☑ | +| ocrd_typegroups_classifier | - | - | ☑ | +| sbb_textline_detector | - | - | ☑ | +| cor-asv-fst | - | - | ☑ | + +### Fetch docker image + +To fetch the `maximum` version of the `ocrd/all` Docker image: + +```sh +docker pull ocrd/all:maximum +``` + +Replace `maximum` accordingly if you want the `minimum` or `medium` variant. + +### Updating docker image + +To update the docker images to their latest version, just run the `docker pull` command again: + +```sh +docker pull ocrd/all: +``` + +This can even be set up as a cron-job to ensure the image is always up-to-date. + +## ocrd_all natively + +The `ocrd_all` project contains a sophisticated Makefile to install or compile +prerequisites as necessary, set up a virtualenv, install the core software, +install OCR-D modules and more. Detailed documentation [can be found in its +README](https://github.com/OCR-D/ocrd_all). + +### Prerequisites + +There are some [system requirements](https://github.com/OCR-D/ocrd_all#system-packages) for ocrd_all. + +You need to have `git` and `make` installed to make use of `ocrd_all`: + +```sh +sudo apt install git make +``` + +It is easiest to install all the possible system requirements by calling `make deps-ubuntu` as root: + +```sh +sudo make deps-ubuntu +``` + +### Cloning the repository + +Clone the repository and all its submodules: + +```sh +git clone --recursive https://github.com/OCR-D/ocrd_all +cd ocrd_all +``` + +### Updating the repository + +As `ocrd_all` is in [active +development](https://github.com/OCR-D/ocrd_all/commits/master), it is wise to +regularly update the repository and its submodules: + +```sh +git pull +git submodule sync +git submodule update --init --recursive +``` + +### Installing with ocrd_all + +You can either install + 1. all the software at once with the `all` target (equivalent to the [`maximum` Docker version](#mini-medi-maxi)) + 2. modules individually by using an executable from that module as the target or : + 3. modules invidually by using the project name for the `OCRD_MODULES` variable: + +```sh +make all # Installs all the software (recommended) + +make ocrd-tesserocr-binarize # Install ocrd_tesserocr which contains ocrd-tesserocr-binarize +make ocrd-cis-ocropy-binarize # Install ocrd_cis which contains ocrd-cis-ocropy-binarize + +make all OCRD_MODULES="ocrd_tesserocr ocrd_cis" # Will install both ocrd_tesserocr and ocrd_cis +``` + +## Individual installation + +With all variants of individual module installation, it will be up to you to +keep the repositories up-to-date and installed. We therefore discourage +individual installation of modules and recommend using ocrd_all as outlined above.. + +### Individual Docker container + +This is the best option if you want full control over which modules you +actually intend to use while still profiting from the simple installation of +Docker containers. + +You need to have [Docker](https://docs.docker.com/install/linux/docker-ce/ubuntu/) + +All OCR-D modules are also [published as Docker containers to DockerHub](https://hub.docker.com/u/ocrd). To find the docker +image for a module, replace the `ocrd_` prefix with `ocrd/`: + +```sh +docker pull ocrd/tesserocr # Installs ocrd_tesserocr +docker pull ocrd/olena # Installs ocrd_olena +``` + +To run the containers, please see [the notes on translating native command line +calls to docker calls above](#translating-native-commands-to-docker-calls). Make sure the image +name matches the executable. For example to run the same example in the dedicated `ocrd_tesserocr` container: + +```sh +docker run -u $(id -u) -w /data -v $PWD:/data -- ocrd/tesserocr ocrd-tesserocr-segment-region -I OCR-D-IMG -O OCR-D-SEG-BLOCK-DOCKER +``` + +### Native installation + +> **NOTE** +> +> ocrd_tesserocr requires **tesseract-ocr >= 4.1.0**. But the Tesseract packages +> bundled with **Ubuntu < 19.10** are too old. If you are on Ubuntu 18.04 LTS, +> please enable [Alexander Pozdnyakov PPA](https://launchpad.net/~alex-p/+archive/ubuntu/tesseract-ocr), +> which has up-to-date builds of tesseract and its dependecies: +> +> ```sh +> sudo add-apt-repository ppa:alex-p/tesseract-ocr +> sudo apt-get update +> ``` + +#### virtualenv + +* **Always install python modules into a virtualenv** +* **Never run `pip`/`pip3` as root** + +First install Python 3 and `venv`: + +```sh +sudo apt install python3 python3-venv +``` + +```sh +# If you haven't created the venv yet: +python3 -m venv ~/venv +# Activate the venv +source ~/venv/bin/activate +``` + +Once you have activated the virtualenv, you should see `(venv)` prepended to +your shell prompt. + +#### From PyPI + +This is the best option if you want to use the stable, released version of individual modules. + +However, many modules require a number of non-Python (system) packages. For the +exact list of packages you need to look at the README of the module in +question. (If you are not on Ubuntu >= 18.04, then your requirements may +deviate from that.) + +For example to install `ocrd_tesserocr` from PyPI: + +```sh +sudo apt-get install git python3 python3-pip python3-venv libtesseract-dev libleptonica-dev tesseract-ocr-eng tesseract-ocr wget +pip3 install ocrd_tesserocr +``` + +Many ocrd modules conventionally contain a Makefile with a `deps-ubuntu` target that can handle calls to `apt-get` for you: + +```sh +sudo make deps-ubuntu +``` + +#### From git + +This is the best option if you want to change the source code or install the latest, unpublished changes. + +```sh +git clone https://github.com/OCR-D/ocrd_tesserocr +cd ocrd_tesserocr +sudo make deps-ubuntu # or manually with apt-get +make deps # or pip3 install -r requirements +make install # or pip3 install . +``` + +If you intend to develop a module, it is best to install the module editable: + +```sh +pip install -e . +``` + +This way, you won't have to reinstall after making changes. + +## Testing the installation + +For example, let's fetch a document from the [OCR-D GT Repo](https://ocr-d-repo.scc.kit.edu/api/v1/metastore/bagit/): + +```sh +wget 'https://ocr-d-repo.scc.kit.edu/api/v1/dataresources/736a2f9a-92c6-4fe3-a457-edfa3eab1fe3/data/wundt_grundriss_1896.ocrd.zip' +unzip wundt_grundriss_1896.ocrd.zip +cd data +``` + +### Test native installation + +This section applies if you installed the software natively, either [via +`ocrd_all`](#ocrd_all-natively) or [on a per-module basis](#native-installation). + +First, activate your venv: + +```sh +# Activate the venv +source ~/venv/bin/activate +``` + +Let's segment the images in file group `OCR-D-IMG` into regions (creating a +first [PAGE-XML](https://github.com/PRImA-Research-Lab/PAGE-XML) file group +`OCR-D-SEG-BLOCK`): + +```sh +ocrd-tesserocr-segment-region -I OCR-D-IMG -O OCR-D-SEG-BLOCK +``` + +### Test Docker installation + +This section applies if you installed the software as docker container(s), either [via +`ocrd_all`](#ocrd_all-via-docker) or [on a per-module basis](#individual-docker-container). + +You can spin up a docker container, mounting the current working directory like this: + +```sh +docker run -u $(id -u) -w /data -v $PWD:/data -- ocrd/all:maximum ocrd-tesserocr-segment-region -I OCR-D-IMG -O OCR-D-SEG-BLOCK-DOCKER +``` + +Note that the CLI is exactly the same, the only difference is the prefix to instruct Docker, as [explained above](#mini-medi-maxi) + +## Installation of OCR-D Research Data Repository + +It's highly recommended to install the research data repository via Docker. [See link for further information](https://github.com/OCR-D/repository_metastore/blob/master/installDocker/installation.md) + +```sh +git clone https://github.com/OCR-D/repository_metastore +cd repository_metastore/installDocker +bash installRepo.sh ~/ocrd/repository +cd ~/ocrd/repository/docker +docker-compose up & +# To stop research data repository +docker-compose stop +``` + +### Testing the installation + +The write access to the service is secured with a password, which is preset +when you use the docker installation. There is an 'ingest' user for ingesting +files. (Password: `ingest`) + +1. Upload zipped BagIt container to metastore. +```sh +curl -u ingest:ingest -v -F "file=@zippedBagItContainer" http://localhost:8080/api/v1/metastore/bagit +``` +2. List all BagIt containers. +```sh +curl -XGET -H "Accept:application/json" http://localhost:8080/api/v1/metastore/bagit +``` +3. List all METS files. +```sh +curl -XGET http://localhost:8080/api/v1/metastore/mets +``` +4. List all METS files with title 'Der Herold'. +```sh +curl -XGET -H "Accept:application/json" "http://localhost:8080/api/v1/metastore/mets/title?title=Der%20Herold" +``` +5. Download zipped BagIt container from metastore. (use one URL of the list printed above) +```sh +curl -XGET http://localhost:8090/api/v1/dataresources/123..../data/zippedBagItContainer > bagDownload.zip +``` +You may also try this URL in a browser. (http://localhost:8080/api/v1/metastore/bagit) + +## Installation Taverna Workflow + +### Why using Taverna? + +Taverna creates a 'metadata' sub directory containing collected output of all +processors: all intermediate METS files and a provenance file containing all +provenance of the workflow including start/end time of processor/workflow, used +input group(s), used parameters and created output group(s). + +There are two ways to install taverna workflow. +1 'Local' installation +2. Docker installation + +### 'Local' installation + +```sh +git clone https://github.com/OCR-D/taverna_workflow.git +cd taverna_workflow/ +bash installTaverna.sh ~/ocrd/taverna +``` + +#### Testing the installation + +To check if the installation works fine you can start a first test. + +```sh +cd ~/ocrd/taverna +bash startWorkflow.sh parameters_all.txt +[...] +Outputs will be saved to the directory: /.../Execute_OCR_D_workfl_output +# The processed workspace should look like this: +ls -1 workspace/example/data/ +metadata +mets.xml +OCR-D-GT-SEG-BLOCK +OCR-D-GT-SEG-PAGE +OCR-D-IMG +OCR-D-IMG-BIN +OCR-D-IMG-BIN-OCROPY +OCR-D-OCR-CALAMARI_GT4HIST +OCR-D-OCR-TESSEROCR-BOTH +OCR-D-OCR-TESSEROCR-FRAKTUR +OCR-D-OCR-TESSEROCR-GT4HISTOCR +OCR-D-SEG-LINE +OCR-D-SEG-REGION +``` + +Each sub folder starting with 'OCR-D-OCR' should now contain 4 files with the +detected full text. + +### Docker installation + +```sh +wget https://raw.githubusercontent.com/OCR-D/taverna_workflow/master/Dockerfile +docker build -t ocrd/taverna . +mkdir ~/docker/ocrd/taverna +cd ~/docker/ocrd/taverna +docker run -v `pwd`:/data ocrd/taverna init +``` + +#### Testing the installation + +To check if the installation works fine you can start a first test. + +```sh +cd ~/docker/ocrd/taverna +docker run --network="host" -v `pwd`:/data ocrd/taverna testWorkflow +[...] +Outputs will be saved to the directory: /.../Execute_OCR_D_workfl_output +# The processed workspace should look like this: +ls -1 workspace/example/data/ +metadata +mets.xml +OCR-D-GT-SEG-BLOCK +OCR-D-GT-SEG-PAGE +OCR-D-IMG +OCR-D-IMG-BIN +OCR-D-IMG-BIN-OCROPY +OCR-D-OCR-CALAMARI_GT4HIST +OCR-D-OCR-TESSEROCR-BOTH +OCR-D-OCR-TESSEROCR-FRAKTUR +OCR-D-OCR-TESSEROCR-GT4HISTOCR +OCR-D-SEG-LINE +OCR-D-SEG-REGION +``` + +Each sub folder starting with 'OCR-D-OCR' should now contain 4 files with the detected full text. + +## Running a small workflow without taverna + +### With PyPI and workflow engine from core + +The [core package](https://github.com/OCR-D/core) will be installed with every +OCR-D module package, but you can also install it manually: + +```sh +pip3 install ocrd +``` + +Its CLI `ocrd` contains a simple workflow engine, available with the `ocrd process` command, which allows you to chain multiple OCR-D processor calls into simple sequential workflows. + +For example, let's combine the ocropy-based binarization of the +[ocrd_cis](https://github.com/cisocrgroup/ocrd_cis) module project with the segmentation and recognition +in [ocrd_tesserocr](https://github.com/OCR-D/ocrd_tesserocr). + +First, install ocrd_cis, too: + +```sh +# Install ocrd_cis +pip3 install ocrd_cis # with pip +``` + +Next, install a suitable OCR model for Tesseract: + +```sh +# Install OCR model into Tesseract datapath +sudo apt-get install tesseract-ocr-script-frak +``` + +Now we can define the workflow (as a list of processor calls in abbreviated +form, and a number of parameter files where defaults are insufficient): + +```sh +# Create parameter files +echo '{ "model": "Fraktur" }' > param-tess-fraktur.json + +# Run workflow +ocrd process \ + 'cis-ocropy-binarize -I OCR-D-IMG -O OCR-D-SEG-PAGE' \ + 'tesserocr-segment-region -I OCR-D-SEG-PAGE -O OCR-D-SEG-BLOCK' \ + 'tesserocr-segment-line -I OCR-D-SEG-BLOCK -O OCR-D-SEG-LINE' \ + 'tesserocr-recognize -I OCR-D-SEG-LINE -O OCR-D-OCR-TESSEROCR -p param-tess-fraktur.json' +``` + +## Installation of the whole OCR-D Framework + +To install the complete OCR-D framework docker is highly recommended. + +```sh +wget https://github.com/VolkerHartmann/ocrd_framework/blob/master/install_OCR-D_framework.sh +bash install_OCR-D_framework.sh ~/ocrd_framework +``` + +Now there exists several folders + +- repository - Contains all files of repository and the databases +- taverna - Contains all files workspaces and configuration of workflows + +### Prepare '/etc/hosts' for accessing files in repository via browser + +```sh +echo '127.0.0.1 kitdm20' | sudo tee -a /etc/hosts +``` + +#### Testing the installation + +To check if the installation works fine you can start a first test. + +```sh +# Start repo in a shell +cd ~/ocrd_framework/repository +docker-compose up +``` + +```sh +cd ~/ocrd_framework/taverna +docker run --network="host" -v `pwd`:/data ocrd/taverna testWorkflow +[...] +Outputs will be saved to the directory: /.../Execute_OCR_D_workfl_output +# The processed workspace should look like this: +ls -1 workspace/example/data/ +metadata +mets.xml +OCR-D-GT-SEG-BLOCK +OCR-D-GT-SEG-PAGE +OCR-D-IMG +OCR-D-IMG-BIN +OCR-D-IMG-BIN-OCROPY +OCR-D-OCR-CALAMARI_GT4HIST +OCR-D-OCR-TESSEROCR-BOTH +OCR-D-OCR-TESSEROCR-FRAKTUR +OCR-D-OCR-TESSEROCR-GT4HISTOCR +OCR-D-SEG-LINE +OCR-D-SEG-REGION +``` + +Each sub folder starting with 'OCR-D-OCR' should now contain 4 files with the detected full text. + +#### Check results in browser + +After the workflow all results are ingested to the research data repository. +The repository is available at http://localhost:8080/api/v1/metastore/bagit + +#### Configure your own workflow + +For defining your own workflow with taverna please refer to the +[README](https://github.com/OCR-D/taverna_workflow/blob/master/README.MD#configure-your-own-workflow) + diff --git a/site/de/user_guide.md b/site/de/user_guide.md new file mode 100644 index 000000000..c63496592 --- /dev/null +++ b/site/de/user_guide.md @@ -0,0 +1,423 @@ +--- +layout: page +author: Elisabeth Engl +date: 2020-02-04T19:16:54+01:00 +lang: en +lang-ref: from-novice-to-pro +toc: true +--- + +# User Guide for Non-IT Users + +The following guide provides a detailed description how to use the OCR-D-Software. There are two options on running the software. You can either use the [OCR-D-Docker-solution](https://ocr-d.github.io/en/setup#ocrd_all-via-docker), or you can [install the Software](https://ocr-d.github.io/en/setup#ocrd_all-natively). Note that the two options require different prerequisites as detailed in the very next two paragraphs. The [third preparatory step](#preparing-a-workspace) is obligatory for both Docker and Non-Docker users! + +Furthermore, Docker commands have a [different syntax than native calls](#translating-native-commands-to-docker-calls). This guide always states native calls first and then provides the respective command for Docker users. + +## Prerequisites and Preparations + +### Setup docker + +If you want to use the OCR-D-Docker-solution, [Docker](https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-using-the-repository) and [docker compose](https://docs.docker.com/compose/install/) have to be installed. + +After installing docker you have to set up daemon and add user to the group 'docker' + +```sh +# Start docker daemon at startup +sudo systemctl enable docker +# Add user to group 'docker' +sudo usermod -aG docker $USER +``` + +warning Please log out and log in again. + +To test access to docker try the following command: + +```sh +docker ps +``` + +Now you should see an (empty) list of available images. + +For installing docker images please refer to the [setup guide](setup.html). + +### Virtual environment (without docker) + +If you don't want to use Docker, you should activate the +virtualenv before starting to work with the OCR-D-software. This has either been installed automatically if you installed the +software via ocrd_all, or you should have [installed it yourself](https://packaging.python.org/tutorials/installing-packages/#creating-virtual-environments) before +installing the OCR-D-software individually. + +```sh +source ~/venv/bin/activate +``` + +Once you have activated the virtualenv, you should see `(venv)` prepended to +your shell prompt. + +When you are done with your OCR-D-work, you can use `deactivate` to deactivate +your venv. + +### Preparing a workspace + +OCR-D processes digitized images in so-called workspaces, special directories +which contain the images to be processed and their corresponding METS file. Any +files generated while processing these images with the OCR-D-software will also +be stored in this directory. + +How you prepare a workspace depends on whether you already have or don't have a +METS file with the paths to the images you want to process. For usage within +OCR-D your METS file should look similar to [this example](example_mets.md). + +#### Already existing METS + +If you already have a METS file as indicated above, you can create a workspace +and load the pictures to be processed with the following command: + +```sh +ocrd workspace clone [URL of your mets.xml] +## alternatively using docker +docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd workspace clone [URL of your mets.xml] +``` + +In most cases, METS files indicate several picture formats. For OCR-D you will +only need one format. We strongly recommend using the format with the highest +resolution. Optionally, you can specify to only load the file group needed: + +List all existing groups: + +```sh +ocrd workspace -d [/path/to/your/workspace] list-group +## alternatively using docker +docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd workspace -d /data list-group +``` + +Download all files of one group: + +```sh +ocrd workspace -d [/path/to/your/workspace] find --file-grp [selected file group] --download +## alternatively using docker +docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd workspace -d /data find --file-grp [selected file group] --download +``` + +You can also optionally specify a particular name for your workspace. If you +don't, it will simply generate a name by itself. + +#### Non-existing METS + +If you don't have a METS file or it doesn't suffice the OCR-D-requirements you +can generate it with the following commands. First, you have to create a +workspace: + +```sh +ocrd workspace init [/path/to/your/workspace] +## alternatively using docker +mkdir -p [/path/to/your/workspace] +docker run --rm -u $(id -u) -v [/path/to/your/workspace]:/data -w /data -- ocrd/all:maximum ocrd workspace init /data +``` + +Then you can change into your workspace and set a unique ID + +```sh +workspace$ ocrd workspace set-id 'unique ID' +## alternatively using docker +docker run --rm -u $(id -u) -v [/path/to/your/workspace]:/data -w /data -- ocrd/all:maximum ocrd set-id 'unique ID' +``` + +and copy the folder containing your pictures to be processed into the workspace: + +```sh +cp -r [/path/to/your/pictures] . +``` +**Note:** All pictures must have the same format (tif, jpg, ...) + +Now you can add your pictures to the METS. When creating the workspace, a blank +METS file was created, too, to which you can add the pictures to be processed. + +You can do this manually with the following command: + +```sh +ocrd workspace add -g [ID of the physical page, has to start with a letter] -G [name of picture folder in your workspace] -i [ID of the scanned page] -m image/[format of your picture] [/path/to/your/picture/in/workspace] +## alternatively using docker +docker run --rm -u $(id -u) -v [/path/to/workspace]:/data -w /data -- ocrd/all:maximum ocrd workspace add -g [ID of the physical page, has to start with a letter] -G [name of picture folder in your workspace] -i [ID of the scanned page] -m image/[format of your picture] [relative/path/to/your/picture/in/workspace] +``` + +Your command could e.g. look like this: + +```sh +ocrd workspace add -g P_00001 -G OCR-D-IMG -i OCR-D-IMG_00001 -m image/tif OCR-D-IMG/00001.tif +## alternatively using docker +docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd workspace add -g P_00001 -G OCR-D-IMG -i OCR-D-IMG_00001 -m image/tif OCR-D-IMG/00001.tif +``` + +If you have many pictures to be added to the METS, you can do this automatically with a for-loop: + +```sh +for i in [/path/to/your/picture/folder/in/workspace]/*.[file ending of your pictures]; do base= `basename ${i} .[file ending of your pictures]`; ocrd workspace add -G [name of picture folder in your workspace] -i OCR-D-IMG_${base} -g P_${base} -m image/[format of your pictures] ${i}; done +## alternatively using docker +for i in [relative/path/to/your/picture/folder/in/workspace]/*.[file ending of your pictures]; do base= `basename ${i} .[file ending of your pictures]`; docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd workspace add -G [name of picture folder in your workspace] -i OCR-D-IMG_${base} -g P_${base} -m image/[format of your pictures] ${i}; done +``` + +warning If the file names of the images starts with a number, at least one of the following characters must be placed in front of its name for parameter 'i': [a-z,A-Z,_,-] (e.g.: 'OCR-D-IMG_\_') + +Your for-loop could e.g. look like this: + +```sh +for i in OCR-D-IMG/*.tif; do base=`basename ${i} .tif`; ocrd workspace add -G OCR-D-IMG -i OCR-D-IMG_${base} -g P_${base} -m image/tif ${i}; done +## alternatively using docker +for i in OCR-D-IMG/*.tif; do base=`basename ${i} .tif`;docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd workspace add -G OCR-D-IMG -i OCR-D-IMG_${base} -g P_${base} -m image/tif ${i}; done +``` + +In the end, your METS file should look like this [example METS](example_mets.md). + +## Using the OCR-D-processors + +### OCR-D-Syntax + +There are several ways for invoking the OCR-D-processors. However, all of those +ways make use of the following syntax: + +```sh +-I Input-Group # folder of the files to be processed +-O Output-Group # folder for the output of your processor +-p parameter.json # indication of parameters for a particular processor +``` + +For some processors parameters are purely optional, other processors as e.g. `ocrd-tesserocr-recognize` won't work without one or several parameters. + +### Calling a single processor +If you just want to call a single processor, e.g. for testing purposes, you can go into your workspace and use the following command: +```sh +ocrd-[processor needed] -I [Input-Group] -O [Output-Group] -p [path to parameter.json]' +## alternatively using docker +docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd-[processor needed] -I [Input-Group] -O [Output-Group] -p [path to parameter.json]' +``` +Your command could e.g. look like this: +```sh +ocrd-tesserocr-recognize -I OCR-D-SEG-LINE -O OCR-D-OCR-TESSEROCR -p param-tess-fraktur.json +## alternatively using docker +docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd-tesserocr-recognize -I OCR-D-SEG-LINE -O OCR-D-OCR-TESSEROCR -p param-tess-fraktur.json +``` + +**Note:** For processors using multiple input-, or output groups you have to use a comma separated list. + +E.g.: + +```sh +ocrd-anybaseocr-crop -I OCR-D-IMG -O OCR-D-BIN,OCR-D-IMG-BIN +## alternatively using docker +docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd-anybaseocr-crop -I OCR-D-IMG -O OCR-D-BIN,OCR-D-IMG-BIN +``` + +The [`parameter.json`](`parameter.json`) file can be created with the following command: + +``` +echo '{ "[parameter]": "[specification]" }' > [name of your param.json file] +``` + +Instead of calling a `parameter.json` file you can also directly +write down the parameters when invoking a processor: + +```sh +-p '{"[parameter]": "[value]"}' +``` + +**Note:** If multiple parameters are necessary they have to be separated by a comma. (No comma after the last parameter!) + +E.g.: + +```sh +-p '{"[param1]": "[value1]", "[param2]": "[value2]", "[param3]": "[value3]"}' +``` + +### Calling several processors + +#### ocrd-process + +If you quickly want to specify a particular workflow on the CLI, you can use +ocrd-process, which has a similar syntax as calling single processors. + +```sh +ocrd process \ + '[processor needed without prefix 'ocrd-'] -I [Input-Group] -O [Output-Group]' \ + '[processor needed without prefix 'ocrd-'] -I [Input-Group] -O [Output-Group] -p [parameter.json]' +## alternatively using docker +docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd process \ + '[processor needed without prefix 'ocrd-'] -I [Input-Group] -O [Output-Group]' \ + '[processor needed without prefix 'ocrd-'] -I [Input-Group] -O [Output-Group] -p [parameter.json]' +``` + +Your command could e.g. look like this: + +```sh +ocrd process \ + 'cis-ocropy-binarize -I OCR-D-IMG -O OCR-D-SEG-PAGE' \ + 'tesserocr-segment-region -I OCR-D-SEG-PAGE -O OCR-D-SEG-BLOCK' \ + 'tesserocr-segment-line -I OCR-D-SEG-BLOCK -O OCR-D-SEG-LINE' \ + 'tesserocr-recognize -I OCR-D-SEG-LINE -O OCR-D-OCR-TESSEROCR -p param-tess-fraktur.json' +## alternatively using docker +docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd process \ + 'cis-ocropy-binarize -I OCR-D-IMG -O OCR-D-SEG-PAGE' \ + 'tesserocr-segment-region -I OCR-D-SEG-PAGE -O OCR-D-SEG-BLOCK' \ + 'tesserocr-segment-line -I OCR-D-SEG-BLOCK -O OCR-D-SEG-LINE' \ + 'tesserocr-recognize -I OCR-D-SEG-LINE -O OCR-D-OCR-TESSEROCR -p param-tess-fraktur.json' +``` + +**Note:** In contrast to calling a single processor, for ocrd-process you leave +out the prefix `ocrd-` before the name of a particular processor. + +#### Taverna + +Taverna is a more sophisticated workflow-software which allows you to specify a +particular workflow in a file and call this workflow, or rather its file, on +several workspaces. + +Note that Taverna is not included in your [`ocrd_all`](https:/github.com/OCR-D/ocrd_all) installation. Therefore, you still might have to install it following this [setup guide](setup.md). + +Taverna comes with several predefined workflows which can help you getting started. These are stored in the `/conf` directory. + +1. parameters.txt (best results without gpu) +2. parameters_fast.txt (good results for slower computers) +3. parameters_gpu.txt (best results with gpu) + +**Note:** Those workflows are only tested with a limited set of pages of the 17./18. century. Results may be worse for other prints. + +For every workflow at least two files are needed: A `workflow_configuration` file contains a particular workflow which is invoked by a `parameters` file. For calling a workflow via Taverna, change into the `Taverna` folder and use the following command: + +```sh +bash startWorkflow.sh [particular parameters.txt] [/path/to/your/workspace] +## alternatively using docker +docker run --rm --network="host" -v $PWD:/data -- ocrd/taverna process [particular parameters.txt] [relative/path/to/your/workspace] +``` + +The images in your indicated workspace will be processed and the respective +output will be saved into the same workspace. + +When you want to adjust a workflow for better results on your particular +images, you should start off by copying the original `workflow_configuration` +and `parameters` files. To this end, change to the `/conf` subdirectory of +`Taverna` and use the following commands: + +```sh +conf$ cp workflow_configuration.txt [name of your new workflow_configuration.txt] +conf$ cp parameters.txt [name of your new parameters.txt] +``` + +Open the new `parameters.txt` file with an editor like e.g. Nano and change the +name of the old `workflow_configuration.txt` specified in this file to the name +of your new `workflow_configuration.txt` file: + +```sh +nano [name of your new workflow_configuration.txt] +``` + +Then open your new `workflow_configuration.txt` file respectively and adjust it to your needs by exchanging or adding the specified processors of parameters. The first column contains the name of the processor, the following two columns indicate the names of the input and the output filegroups. The forth column for group-ID can be left blank. In the last column you can indicate the log level. + +If your processor requires a parameter, it has to be specified in the fith column. As with parameters when calling processors directly on the CLI, there are two ways how to specify them. You can either call a `json` file which should be stored in Taverna's subdirectory `models`. See [Calling a single processor](TODO) on how to create `json` files. Alternatively, you can directly write down the parameter needed using the following syntax: + +```sh +{\"[param1]\":\"[value1]\",\"[param2]\":\"[value2]\",\"[param3]\":\"[value3]\"} +e.g. +{\"level-of-operation\":\"page\"} +``` + +**Note:** Avoid white spaces and escape double quotes with backslash. + +For information on the available processors see [section at the end](#get-more-information-about-processors). + + + +#### workflow-config + + +workflow-configuration is another tool for specifying OCR-D-workflows. It allows you to run workflows which are configured and controlled via GNU makefiles. In contrast to Taverna it is included in ocrd_all, therefore you most likely already installed it with the other OCR-D-processors. + +The `workflow-configuration` directory already contains several workflows, which were tested against the Ground Truth provided by OCR-D. For the CER of those workflows in our tests see [the table on GitHub](https://github.com/bertsky/workflow-configuration#usage). + +**Note:** Those workflows are configured for GT-data, i.e. they expect preprocessed images which were already segmented at least down to line level. If you want to run them on raw images, you have to add some preprocessing and segmentation steps first. Otherwise they will fail. + +In order to run a workflow, change into the `workflow_configuration` directory and call the desired configuration file on your workspace(s): + +```sh +make -f [name_of_your_workflow.mk] [/path/to/your/workspace1] [/path/to/your/workspace2] +``` + +As indicated in the command above, you can run a workflow on several workspaces by listing them after one another. The images in your indicated workspace(s) will be processed and the respective +output along with the log files will be saved into the same workspace(s). + +When you want to adjust a workflow for better results on your particular +images, you should start off by copying the original `workflow.mk` +file: + +```sh +cp workflow.mk [name_of_your_new_workflow_configuration.mk] +``` + +Then open your new `workflow.mk` file with an editor like e.g. Nano and exchange or add the processors or parameters to your needs: + +```sh +nano [name_of_your_new_workflow_configuration.mk] +``` + +You can write new rules by using file groups as prerequisites/targets in the normal GNU make syntax. The first target defined must be the default goal that builds the very last file group for that configuration. Alternatively a variable `.DEFAULT_GOAL` pointing to that target can be set anywhere in the makefile. + +**Note:** Also see the [extensive Readme of workflow-configuration](https://github.com/bertsky/workflow-configuration#usage) on how to adjust the preconfigured workflows to your needs. + +#### Translating native commands to docker calls +The native calls presented above are simple to translate to commands based on the +docker images by prepending the boilerplate telling Docker which image to use, +which user to run as, which files to bind to a container path etc. + +For example a call to +[`ocrd-tesserocr-binarize`](https://github.com/OCR-D/tesserocr) might natively +look like this: + +```sh +ocrd-tesserocr-segment-region -I OCR-D-IMG -O OCR-D-SEG-BLOCK +``` + +To run it with the [`ocrd/all:maximum`] Docker container: + +```sh +docker run -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd-tesserocr-segment-region -I OCR-D-IMG -O OCR-D-SEG-BLOCK + \_________/ \___________/ \______/ \_________________/ \___________________________________________________________/ + (1) (2) (3) (4) (5) +``` + +* (1) tells Docker to run the container as the calling user instead of root +* (2) tells Docker to bind the current working directory as the `/data` folder in the container +* (3) tells Docker to change the container's working directory to `/data` +* (4) tells docker which image to run +* (5) is the unchanged call to `ocrd-tesserocr-segment-region` + +It can also be useful to delete the container after creation with the `--rm` +parameter. + +### Specifying New OCR-D-Workflows + +When you want to specify a new workflow adapted to the features of particular +images, we recommend using an exisiting workflow as specified in `Taverna` or +`workflow-config` as starting point. You can adjust it to your needs by +exchanging or adding the specified processors of parameters. For an overview on +the existing processors, their tasks and features, see the [next section](#get-more-information-about-processors) and our [workflow guide](workflows.html). + + + + +### Get more Information about Processors + +To get all available processors you might use the autocomplete in your preferred console. + +**Note:** Activate virtual environment first. + +Type 'ocrd-' followed by `TAB` to get a list of all available processors. + +To get further information about one processor type + +```sh +[name_of_selected_processor] -J +## alternatively using docker +docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum [name_of_selected_processor] -J +``` + + + diff --git a/site/de/workflows.md b/site/de/workflows.md new file mode 100644 index 000000000..9fafc8f7f --- /dev/null +++ b/site/de/workflows.md @@ -0,0 +1,1039 @@ +--- +layout: page +author: Volker Hartmann, Elisabeth Engl +date: 2020-02-20T10:14:34+01:00 +lang: en +lang-ref: workflow +toc: true +--- + +# Workflows +There are several steps necessary to get the fulltext of a scanned print. The whole OCR process is shown in the following figure: + +![](/assets/Funktionsmodell.png) + +The following instruction describes all steps of the OCR workflow. Depending on your particular print or rather images not all of those steps will be necessary to obtain good results. Whether a step is required or optional is indicated in the description of each step. + +## Image Optimization +Prepare image for better OCR. + + +### Step 1: Binarization +First, all the images should be binarized. Many of the following processors require binarized images. Note that some segmentation algorithms seem to produce better results using the original image. + +This processor takes a scanned colored /gray scale document image as input and produces a black and white binarized image. This step should separate the background from the foreground. + + + + + + + + +
+ + + +
+ + +#### Available processors + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ProcecssorParameterRemarkCall
ocrd-anybaseocr-binarizeFastocrd-anybaseocr-binarize -I OCR-D-IMG -O OCR-D-BIN
ocrd-cis-ocropy-binarizeocrd-cis-ocropy-binarize -I OCR-D-IMG -O OCR-D-BIN
ocrd-olena-binarize +

+ {"impl": "sauvola"} +

+

+{"impl": "sauvola-ms"} +

+

+{"impl": "sauvola-ms-fg"} +

+

+{"impl": "sauvola-ms-split"} +

+

+{"impl": "kim"} +

+

+{"impl": "wolf"} +

+

+{"impl": "niblack"} +

+

+{"impl": "singh"} +

+

+{"impl": "otsu"} +

+
Recommendedocrd-olena-binarize -I OCR-D-IMG -O OCR-D-BIN -p'{"impl": "sauvola"}'
+ +### Step 2: Denoising + +This processor removes artifacts from the binarized image. + +May not be necessary for all prints. + + + + + + + + + + + + + + + +
  
+ + + +
+ +#### Available processors + + + + + + + + + + + + + + + + + + +
ProcessorParameterRemarksCall
ocrd-cis-ocropy-denoise{“level-of-operation”:”page”} ocrd-cis-ocropy-denoise -I OCR-D-BIN -O OCR-D-DENOISE
+ +### Step 3: Deskewing + +This processor takes a document image as input and does the skew correction of +that document. The input images have to be binarized for this module to work. + + + + + + + + + + + + + + + +
  
+ + + +
+ +#### Available processors + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ProcessorParameterRemarksCall
ocrd-anybaseocr-deskew  ocrd-anybaseocr-deskew -I OCR-D-DENOISE -O OCR-D-DESKEW-PAGE
ocrd-tesserocr-deskew{"operation_level”:”page”}Fastocrd-tesserocr-deskew -I OCR-D-DENOISE -O OCR-D-DESKEW-PAGE -p'{"operation_level”:”page”}'
ocrd-cis-ocropy-deskew{“level-of-operation”:”page”}ocrd-cis-ocropy-deskew -I OCR-D-DENOISE -O OCR-D-DESKEW-PAGE -p'{“level-of-operation”:”page”}'Recommended
+ +### Step 4: Dewarping + +This processor takes a document image as input and makes the text line straight if its curved. The input image has to be binarized for the module to work. + + + + + + + + + + + + + + + +
  
+ + + +
+ +#### Available processors + + + + + + + + + + + + + + + + + + +
ProcessorParameterRemarksCall
ocrd-anybaseocr-dewarp + +
+{
+  "pix2pixHD":"/path/to/pix2pixHD/",
+  "model_name":"/path/to/pix2pixHD/models"
+}
+      
+
+
For available models take a look at this site
Parameter model_name is missleading. Given directory has to contain a file named ‘latest_net_G.pth’
GPU required!
+ ocrd-anybaseocr-dewarp -I OCR-D-DESKEW-PAGE -O OCR-D-DEWARP-PAGE -p '{\"pix2pixHD\":\"/path/to/pix2pixHD/\",\"model_name\":\"/path/to/pix2pixHD/models\"}' +
+ +### Step 5: Cropping + +This processor takes a document image as input and crops/selects the page +content area only (i.e. it removes textual noise as well as any other noise +around the page content area). + + + + + + + + + + + + + + + +
  
+ + + +
+ + +#### Available processors + + + + + + + + + + + + + + + + + + +
ProcessorParameterRemarksCall
ocrd-anybaseocr-crop The input image has to be binarized and
should be deskewed for the module to work.
ocrd-anybaseocr-crop -I OCR-D-DEWARP-PAGE -O OCR-D-CROP
+ +## Layout Analysis + +Now the image should be optimized for segmentation. + +### Step 6: Text segmentation (page) + +This processor takes an (optimized) document image as an input and segments the +image into the different text blocks. During this step a classification (text, +marginalia, image, ...) should also be done. + + + + + + + + + + + + + + + +
  
+ + + +
+ + +#### Available processors + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ProcessorParameterRemarksCall
ocrd-tesserocr-segment-region Should also work for original images!?ocrd-tesserocr-segment-region -I OCR-D-CROP -O OCR-D-SEG-REG
ocrd-anybaseocr-block-segmentation
+{
+  "block_segmentation_model": "/path/to/mrcnn",
+  "block_segmentation_weights": "/path/to/model/block_segmentation_weights.h5"
+}
+      
+
For available models take a look at this site
Should also work for original images!?
ocrd-anybaseocr-block-segmentation -I OCR-D-CROP -O OCR-D-SEG-REG -p '{"block_segmentation_model": "/path/to/mrcnn","block_segmentation_weights": "/path/to/model/block_segmentation_weights.h5"}'
ocrd-cis-ocropy-segment{"level-of-operation":"page"} ocrd-cis-ocropy-segment -I OCR-D-CROP -O OCR-D-SEG-REG -p '{"level-of-operation":"page"}'
+ +## Image Optimization (on Block Level) + +Now the blocks should be optimized for OCR. + +### Step 7: Binarization + +This processor takes a scanned colored /gray scale block as input and produces +a black and white binarized image. This step should separate the background +from the foreground. + +The binarization should be at least executed once (on page/block/line level). + + +#### Available processors + + + + + + + + + + + + + + + + + + +
ProcessorParameterRemarksCall
ocrd-tesserocr-binarize{"operation_level":"region"} ocrd-tesserocr-binarize -I OCR-D-SEG-REG -O OCR-D-BIN-REG -p '{"operation_level":"region"}'
+ +### Step 8: Deskewing + +This processor takes an image as input and does the skew correction for all text blocks. + + + + + + + + + + + + + + + +
  
+ + + +
+ +#### Available processors + + + + + + + + + + + + + + + + + + +
ProcessorParameterRemarksCall
ocrd-cis-ocropy-deskew{"level-of-operation":"region"} ocrd-cis-ocrd-anybaseocr-deskew -I OCR-D-BIN-REG -O OCR-D-DESKEW-REG -p '{"level-of-operation":"region"}'
+ +### Step 9: Cliping + +This processor can be used to remove intrusions of neighbouring segments in +regions / lines of a workspace. It runs a (ad-hoc binarization and) connected +component analysis on every text region / line of every PAGE in the input file +group, as well as its overlapping neighbours. For each binary object of +conflict, it determines whether it belongs to the neighbour, and can therefore +be clipped to white. It references the resulting segment image files in the +output PAGE (as AlternativeImage). + +TODO: add images + +#### Available processors + + + + + + + + + + + + + + + + + + +
ProcessorParameterRemarksCall
ocrd-cis-ocropy-clip{"level-of-operation":"region"} ocrd-cis-ocropy-clip -I OCR-D-DESKEW-REG -O OCR-D-CLIP-REG -p '{"level-of-operation":"region"}'
+ +### Step 10: Line segmentation + +This processor can be used to segment regions into lines. It runs a (ad-hoc +binarization and) line segmentation on every text region of every PAGE in the +input file group, and adds a TextLine element with the resulting polygon +outline to the annotation of the output PAGE. + + + + + + + + + + + + + + + +
  
+ + + +
+ +#### Available processors + + + + + + + + + + + + + + + + + + + + + + + + +
ProcessorParameterRemarksCall
ocrd-cis-ocropy-segment{"level-of-operation":"region"} ocrd-cis-ocropy-segment -I OCR-D-CLIP-REG -O OCR-D-SEG-LINE -p '{"level-of-operation":"region"}'
ocrd-tesserocr-segment-line  ocrd-tesserocr-segment-line -I OCR-D-CLIP-REG -O OCR-D-SEG-LINE
+ +### Step 11: Line correction + +This processor can be used to correct the segmented lines. + +TODO: add images + +#### Available processors + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ProcessorParameterRemarksCall
ocrd-cis-ocropy-clip{"level-of-operation":"line"} ocrd-cis-ocropy-clip -I OCR-D-SEG-LINE -O OCR-D-CLIP-LINE -p '{"level-of-operation":"line"}'
ocrd-cis-ocropy-resegment  ocrd-cis-ocropy-resegment -I OCR-D-SEG-LINE -O OCR-D-RESEG
ocrd-segment-repair{"sanitize":true} ocrd-segment-repair -I OCR-D-SEG-LINE -O OCR-D-SEG-REPAIR -p '{"sanitize":true}'
+ +### Step 12: Dewarping (on line level) + +This processor can be used to dewarp the segmented lines. + + + + + + + + + + + + + + + +
  
+ + + +
+ +#### Available processors + + + + + + + + + + + + + + + + + + + + + + + + +
ProcessorParameterRemarksCall
ocrd-anybaseocr-dewarp{"operation_level":"line",
"pix2pixHD":"/path/to/pix2pixHD/",
"model_name":"/path/to/pix2pixHD/models"}
For available models take a look at this site
Parameter ‘model_name’ is missleading. Given directory has to contain a file named ‘latest_net_G.pth’
GPU required!
ocrd-anybaseocr-dewarp -I OCR-D-CLIP-LINE -O OCR-D-DEWARP-LINE -p '{"operation_level":"line","pix2pixHD":"/path/to/pix2pixHD/","model_name":"/path/to/pix2pixHD/models"}'
ocrd-cis-ocropy-dewarp  ocrd-cis-ocropy-dewarp -I OCR-D-CLIP-LINE -O OCR-D-DEWARP-LINE
+ +## Text Recognition and Optimization + +### Step 13: Text recognition + +This processor recognizes text in segmented lines. + + +#### Available processors + + + + + + + + + + + + + + + + + + + + + + + + +
ProcessorParameterRemarksCall
ocrd-tesserocr-recognize +

+ + {"textequiv_level": "glyph", "overwrite_words": true,"model": "Fraktur"} + +

+

+ + {"textequiv_level": "glyph", "overwrite_words": true, "model": "GT4HistOCR_50000000.997_191951"} + +

+
Recommended
Model can be found here
00000/tessdata_best/GT4HistOCR_50000000.997_191951.traineddata)
ocrd-tesserocr-recognize -I OCR-D-DEWARP-LINE -O OCR-D-OCR -p '{"model": "Fraktur"}'
ocrd-calamari-recognize + +{"checkpoint":"/path/to/models/\*.ckpt.json"} + + + Recommended
Model can be found here +
ocrd-calamari-recognize -I OCR-D-DEWARP-LINE -O OCR-D-OCR -p '{"checkpoint": "Fraktur"}'
+ + +**Note:** For `ocrd-tesserocr` the environment variable `TESSDATA_PREFIX` has +to be set to point to the directory where the used models are stored. (The +directory should at least contain the following models: `deu.traineddata`, +`eng.taineddata`, `osd.traineddata`) + +## Post Correction (Optional) + +### Step 14: Text aligning + +This processor alignes texts from multiple OCR-engines in one PAGE.xml. + + +#### Available processors + + + + + + + + + + + + + + + + + + +
ProcessorParameterRemarksCall
ocrd-cis-align  ocrd-cis-align -I OCR-D-OCR1,OCR-D-OCR2 -O OCR-D-ALIGN
+ +### Step 15: Post correction + +This processor tries to optimize the recognized text. + +**See also: ToDo reference to the result inside talk on final workshop** + +#### Available processors + + + + + + + + + + + + + + + + + + + + + + + +
ProcessorParameterRemarksCall
ocrd-cor-asv-ann-process{“textequiv_level”:”line”,”model_file”:”/path/to/model/model.h5”}Models can be found hereocrd-cor-asv-ann-process -I OCR-D-ALIGN -O OCR-D-PROCESS -p '{“textequiv_level”:”line”,”model_file”:”/path/to/model/model.h5”}'
ocrd-cis-post-correct.sh???Not tested yet!ocrd-cis-post-correct.sh -I OCR-D-ALIGN -O OCR-D-CORRECT
+ +## Analysis (Optional) + +If Ground Truth data is available, the OCR can be analysed. + +### Step 16: Analysis + +This processor can be used to analyse the output of the OCR. + +#### Available processors + + + + + + + + + + + + + + + + + + +
ProcessorParameterRemarksCall
ocrd-dinglehopper First input group should point to the ground truth.ocrd-dinglehopper -I OCR-D-GT,OCR-D-OCR -O OCR-D-EVAL
+ +# Recommendations + +All processors, with the exception of those for post-correction, were tested on +selected pages of some prints from the 17th and 18th century. + +The results vary quite a lot from page to page. In most cases, segmentation is a problem. + +These recommendations may also work well for other prints of those centuries. + +Note that for our test pages, not all steps described above werde needed to obtain the best results. +Depending on your particular images, you might want to include those processors again for better results. + + +## Best results for selected pages + +The following workflow has produced best results for 'simple' pages (e.g. [this +page](https://ocr-d-repo.scc.kit.edu/api/v1/dataresources/dda89351-7596-46eb-9736-593a5e9593d3/data/bagit/data/OCR-D-IMG/OCR-D-IMG_0004.tif)) (CER ~1%). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StepProcessorParameter
1ocrd-olena-binarize{"impl": "sauvola-ms-split"}
2ocrd-cis-ocropy-denoise{"level-of-operation":"page"}
3ocrd-anybaseocr-deskew
5ocrd-anybaseocr-crop
6ocrd-cis-ocropy-segment{"level-of-operation":"page"}
8ocrd-cis-ocropy-deskew{"level-of-operation":"region"}
9ocrd-cis-ocropy-clip{"level-of-operation":"region"}
10ocrd-cis-ocropy-segment{"level-of-operation":"region"}
11ocrd-cis-ocropy-resegment
12ocrd-cis-ocropy-dewarp
13ocrd-calamari-recognize{"checkpoint":"/path/to/models/\*.ckpt.json"}
+ +### Example with ocrd-process + +```sh +ocrd process \ + "olena-binarize -I OCR-D-IMG -O OCR-D-BIN -p '{\"impl\": \"sauvola-ms-split\"}'" \ + "cis-ocropy-denoise -I OCR-D-BIN -O OCR-D-BIN-DENOISE -p '{\"level-of-operation\":\"page\"}'" \ + "anybaseocr-deskew -I OCR-D-BIN-DENOISE -O OCR-D-BIN-DENOISE-DESKEW" \ + "anybaseocr-crop -I OCR-D-BIN-DENOISE-DESKEW -O OCR-D-CROP" \ + "cis-ocropy-segment -I OCR-D-CROP -O OCR-D-SEG-REG -p '{\"level-of-operation\":\"page\"}'" \ + "cis-ocropy-deskew -I OCR-D-SEG-REG -O OCR-D-SEG-REG-DESKEW -p '{\"level-of-operation\":\"region\"}'" \ + "cis-ocropy-clip -I OCR-D-SEG-REG-DESKEW -O OCR-D-SEG-REG-DESKEW-CLIP -p '{\"level-of-operation\":\"region\"}'" \ + "cis-ocropy-segment -I OCR-D-SEG-REG-DESKEW-CLIP -O OCR-D-SEG-LINE -p '{\"level-of-operation\":\"region\"}'" \ + "cis-ocropy-resegment -I OCR-D-SEG-LINE -O OCR-D-SEG-LINE-RESEG" \ + "cis-ocropy-dewarp -I OCR-D-SEG-LINE-RESEG -O OCR-D-SEG-LINE-RESEG-DEWARP" \ + "calamari-recognize -I OCR-D-SEG-LINE-RESEG-DEWARP -O OCR-D-OCR -p '{\"checkpoint\":\"/path/to/models/*.ckpt.json\"}'" +``` + + + +## Good results for all pages + +Overall the results are good for all kind of pages. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StepProcessorParameter
1ocrd-olena-binarize{"impl": "sauvola-ms-split"}
2ocrd-cis-ocropy-denoise{"level-of-operation":"page"}
3ocrd-anybaseocr-deskew
5ocrd-anybaseocr-crop
6ocrd-cis-ocropy-segment{"level-of-operation":"page"}
10ocrd-tesserocr-segment-line
11ocrd-cis-ocropy-clip{"level-of-operation":"line"}
12ocrd-cis-ocropy-dewarp
13ocrd-tesserocr-recognize{"textequiv_level":"glyph",
"overwrite_words":true,
+ "model":"GT4HistOCR_50000000.997_191951"}
+ +### Example with ocrd-process + +```sh +ocrd process \ + "olena-binarize -I OCR-D-IMG -O OCR-D-BIN -p '{\"impl\": \"sauvola-ms-split\"}'" \ + "cis-ocropy-denoise -I OCR-D-BIN -O OCR-D-BIN-DENOISE -p '{\"level-of-operation\":\"page\"}'" \ + "anybaseocr-deskew -I OCR-D-BIN-DENOISE -O OCR-D-BIN-DENOISE-DESKEW" \ + "anybaseocr-crop -I OCR-D-BIN-DENOISE-DESKEW -O OCR-D-CROP" \ + "cis-ocropy-segment -I OCR-D-CROP -O OCR-D-SEG-REG -p '{\"level-of-operation\":\"page\"}'" \ + "tesserocr-segment-line -I OCR-D-SEG-REG -O OCR-D-SEG-LINE" \ + "cis-ocropy-clip -I OCR-D-SEG-LINE -O OCR-D-SEG-LINE-CLIP -p '{\"level-of-operation\":\"line\"}'" \ + "cis-ocropy-dewarp -I OCR-D-SEG-LINE-CLIP -O OCR-D-SEG-LINE-CLIP-DEWARP" \ + "tesserocr-recognize -I OCR-D-SEG-LINE-CLIP-DEWARP -O OCR-D-OCR -p '{\"textequiv_level\":\"glyph\",\"overwrite_words\":true,\"model\":\"GT4HistOCR_50000000.997_191951\"}'" +``` + + + +## Good results for slower processors + +If your computer is not that powerful you may try this workflow. It works fine for simple pages and produces also good results in shorter time. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StepProcessorParameter
1ocrd-olena-binarize{"impl": "sauvola-ms-split"}
2ocrd-cis-ocropy-denoise{"level-of-operation":"page"}
3ocrd-anybaseocr-deskew
5ocrd-anybaseocr-crop
6ocrd-tesserocr-segment-region
8ocrd-cis-ocropy-deskew{"level-of-operation":"region"}
10ocrd-cis-ocropy-segment{"level-of-operation":"region"}
12ocrd-cis-ocropy-dewarp
13ocrd-tesserocr-recognize{"textequiv_level":"glyph",
"overwrite_words":true,
+ "model":"GT4HistOCR_50000000.997_191951"}
+ +### Example with ocrd-process + +```sh +ocrd process \ + "olena-binarize -I OCR-D-IMG -O OCR-D-BIN -p '{\"impl\": \"sauvola-ms-split\"}'" \ + "cis-ocropy-denoise -I OCR-D-BIN -O OCR-D-BIN-DENOISE -p '{\"level-of-operation\":\"page\"}'" \ + "anybaseocr-deskew -I OCR-D-BIN-DENOISE -O OCR-D-DESKEW-PAGE" \ + "anybaseocr-crop -I OCR-D-DESKEW-PAGE -O OCR-D-CROP" \ + "tesserocr-segment-region -I OCR-D-CROP -O OCR-D-SEG-REG" \ + "cis-ocropy-deskew -I OCR-D-SEG-REG -O OCR-D-SEG-REG-DESKEW -p '{\"level-of-operation\":\"region\"}'" \ + "cis-ocropy-segment -I OCR-D-SEG-REG-DESKEW -O OCR-D-SEG-LINE -p '{\"level-of-operation\":\"region\"}'" \ + "cis-ocropy-dewarp -I OCR-D-SEG-LINE -O OCR-D-SEG-LINE-DEWARP" \ + "tesserocr-recognize -I OCR-D-SEG-LINE-DEWARP -O OCR-D-OCR -p '{\"textequiv_level\":\"glyph\",\"overwrite_words\":true,\"model\":\"GT4HistOCR_50000000.997_191951\"}'" +``` diff --git a/site/en/workflows.md b/site/en/workflows.md index 5b15ede96..7394aab8c 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -14,14 +14,14 @@ There are several steps necessary to get the fulltext of a scanned print. The wh The following instruction describes all steps of the OCR workflow. Depending on your particular print or rather images not all of those steps will be necessary to obtain good results. Whether a step is required or optional is indicated in the description of each step. -## Image Optimization -Prepare image for better OCR. +## Image Optimization (on Page Level) +At first, the image should be prepared for OCR. ### Step 1: Binarization First, all the images should be binarized. Many of the following processors require binarized images. Note that some segmentation algorithms seem to produce better results using the original image. -This processor takes a scanned colored /gray scale document image as input and produces a black and white binarized image. This step should separate the background from the foreground. +In this processing step, a scanned colored /gray scale document image is taken as input and a black and white binarized image is produced. This step should separate the background from the foreground. @@ -93,16 +93,129 @@ This processor takes a scanned colored /gray scale document image as input and p

- +
Recommendedocrd-olena-binarize -I OCR-D-IMG -O OCR-D-BIN -p'{"impl": "sauvola"}'ocrd-olena-binarize -I OCR-D-IMG -O OCR-D-BIN -p'{"impl": "sauvola-ms-split"}'
-### Step 2: Denoising -This processor removes artifacts from the binarized image. +### Step 2: Cropping -May not be necessary for all prints. +In this processing step a document image is taken as input and the page +content area only is cropped/selected (i.e. noise around the page content area is removed). + + + + + + + + + + + + + + + +
  
+ + + +
+ +#### Available processors + + + + + + + + + + + + + + + + + + +
ProcessorParameterRemarksCall
ocrd-anybaseocr-crop The input image has to be binarized and
should be deskewed for the module to work.
ocrd-anybaseocr-crop -I OCR-D-BIN -O OCR-D-CROP
+ +### Step 3: Binarization +For better results, the cropped images can be binarized again at this point or later on (on block level). + + +#### Available processors + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ProcecssorParameterRemarkCall
ocrd-anybaseocr-binarizeFastocrd-anybaseocr-binarize -I OCR-D-CROP -O OCR-D-BIN2
ocrd-cis-ocropy-binarizeocrd-cis-ocropy-binarize -I OCR-D-CROP -O OCR-D-BIN2
ocrd-olena-binarize +

+ {"impl": "sauvola"} +

+

+{"impl": "sauvola-ms"} +

+

+{"impl": "sauvola-ms-fg"} +

+

+{"impl": "sauvola-ms-split"} +

+

+{"impl": "kim"} +

+

+{"impl": "wolf"} +

+

+{"impl": "niblack"} +

+

+{"impl": "singh"} +

+

+{"impl": "otsu"} +

+
Recommendedocrd-olena-binarize -I OCR-D-CROP -O OCR-D-BIN2 -p'{"impl": "sauvola-ms-split"}'
+ + +### Step 4: Denoising + +In this processing step artifacts are removed from the binarized image. + +This may not be necessary for all prints. @@ -140,15 +253,15 @@ May not be necessary for all prints. - +
ocrd-cis-ocropy-denoise {“level-of-operation”:”page”}  ocrd-cis-ocropy-denoise -I OCR-D-BIN -O OCR-D-DENOISEocrd-cis-ocropy-denoise -I OCR-D-BIN2 -O OCR-D-DENOISE
-### Step 3: Deskewing +### Step 5: Deskewing -This processor takes a document image as input and does the skew correction of -that document. The input images have to be binarized for this module to work. +In this processing step a document image is taken as input and the skew of +that document is corrected. The input images have to be binarized for this module to work. @@ -197,15 +310,16 @@ that document. The input images have to be binarized for this module to work. - +
ocrd-cis-ocropy-deskew {“level-of-operation”:”page”}ocrd-cis-ocropy-deskew -I OCR-D-DENOISE -O OCR-D-DESKEW-PAGE -p'{“level-of-operation”:”page”}' Recommendedocrd-cis-ocropy-deskew -I OCR-D-DENOISE -O OCR-D-DESKEW-PAGE -p'{“level-of-operation”:”page”}'
-### Step 4: Dewarping +### Step 6: Dewarping -This processor takes a document image as input and makes the text line straight if its curved. The input image has to be binarized for the module to work. +In this processing step a document image is taken as input and the text line is straightened +if its curved. The input image has to be binarized for the module to work. @@ -259,64 +373,24 @@ This processor takes a document image as input and makes the text line straight
-### Step 5: Cropping - -This processor takes a document image as input and crops/selects the page -content area only (i.e. it removes textual noise as well as any other noise -around the page content area). - - - - - - - - - - - - - - - -
  
- - - -
- - -#### Available processors - - - - - - - - - - - - - - - - - - -
ProcessorParameterRemarksCall
ocrd-anybaseocr-crop The input image has to be binarized and
should be deskewed for the module to work.
ocrd-anybaseocr-crop -I OCR-D-DEWARP-PAGE -O OCR-D-CROP
## Layout Analysis -Now the image should be optimized for segmentation. +By now the image should be well prepared for segmentation. -### Step 6: Text segmentation (page) +### Step 7: Text segmentation (on Page Level) -This processor takes an (optimized) document image as an input and segments the -image into the different text blocks. During this step a classification (text, +In this processing step an (optimized) document image is taken as an input and the +image is segmented into the different text blocks. During this step a classification (text, marginalia, image, ...) should also be done. +**Note:** If you use `ocrd-tesserocr-segment-region`, you should use `ocrd-segment-repair` +afterwards to obtain better results. + +**Note:** The sbb-textline-detector does not only segment the page but also the lines within +the detected regions in one step. Therefore with this (and only with this!) processor you don't +have to segment the lines in an extra step. + @@ -353,10 +427,22 @@ marginalia, image, ...) should also be done. - - + + + + + + + + + + + + + + - + - + - +
ocrd-tesserocr-segment-region  Should also work for original images!?ocrd-tesserocr-segment-region -I OCR-D-CROP -O OCR-D-SEG-REGRecommendedocrd-tesserocr-segment-region -I OCR-D-DEWARP-PAGE -O OCR-D-SEG-REG
ocrd-segment-repair{"sanitize":true}Only to be used after `ocrd-tesserocr-segment-region`ocrd-segment-repair -I OCR-D-SEG-REG -O OCR-D-SEG-REPAIR -p '{"sanitize":true}'
ocrd-sbb-textline-detector ocrd-sbb-textline-detector -I OCR-D-DEWARP-PAGE -O OCR-D-SEG-REG -p '{"level-of-operation":"page"}'
ocrd-anybaseocr-block-segmentation
 {
@@ -366,28 +452,28 @@ marginalia, image, ...) should also be done.
       
For available models take a look at this site
Should also work for original images!?
ocrd-anybaseocr-block-segmentation -I OCR-D-CROP -O OCR-D-SEG-REG -p '{"block_segmentation_model": "/path/to/mrcnn","block_segmentation_weights": "/path/to/model/block_segmentation_weights.h5"}'ocrd-anybaseocr-block-segmentation -I OCR-D-DEWARP-PAGE -O OCR-D-SEG-REG -p '{"block_segmentation_model": "/path/to/mrcnn","block_segmentation_weights": "/path/to/model/block_segmentation_weights.h5"}'
ocrd-cis-ocropy-segment {"level-of-operation":"page"}  ocrd-cis-ocropy-segment -I OCR-D-CROP -O OCR-D-SEG-REG -p '{"level-of-operation":"page"}'ocrd-cis-ocropy-segment -I OCR-D-DEWARP-PAGE -O OCR-D-SEG-REG -p '{"level-of-operation":"page"}'
## Image Optimization (on Block Level) -Now the blocks should be optimized for OCR. +In the following steps the blocks should be optimized for OCR. -### Step 7: Binarization +### Step 8: Binarization -This processor takes a scanned colored /gray scale block as input and produces -a black and white binarized image. This step should separate the background -from the foreground. +In this processing step, a scanned colored /gray scale document image is taken as input and a black +and white binarized image is produced. This step should separate the background from the foreground. -The binarization should be at least executed once (on page/block/line level). +The binarization should be at least executed once (on page or block level). If you already binarized +your image twice on page level, you can skip this step. #### Available processors @@ -407,13 +493,47 @@ The binarization should be at least executed once (on page/block/line level). {"operation_level":"region"}   ocrd-tesserocr-binarize -I OCR-D-SEG-REG -O OCR-D-BIN-REG -p '{"operation_level":"region"}' + + + ocrd-olena-binarize + +

+ {"impl": "sauvola"} +

+

+{"impl": "sauvola-ms"} +

+

+{"impl": "sauvola-ms-fg"} +

+

+{"impl": "sauvola-ms-split"} +

+

+{"impl": "kim"} +

+

+{"impl": "wolf"} +

+

+{"impl": "niblack"} +

+

+{"impl": "singh"} +

+

+{"impl": "otsu"} +

+ + Recommended + ocrd-olena-binarize -I OCR-D-SEG-REG -O OCR-D-BIN-REG -p'{"impl": "sauvola-ms-split"}' -### Step 8: Deskewing +### Step 9: Deskewing -This processor takes an image as input and does the skew correction for all text blocks. +In this processing step an image is taken as input and the skew is corrected for all text blocks. @@ -456,14 +576,14 @@ This processor takes an image as input and does the skew correction for all text
-### Step 9: Cliping +### Step 10: Clipping -This processor can be used to remove intrusions of neighbouring segments in -regions / lines of a workspace. It runs a (ad-hoc binarization and) connected -component analysis on every text region / line of every PAGE in the input file +In this processing step intrusions of neighbouring segments in +regions / lines of a workspace can be removed. A (ad-hoc binarization and) connected +component analysis is run on every text region / line of every PAGE in the input file group, as well as its overlapping neighbours. For each binary object of -conflict, it determines whether it belongs to the neighbour, and can therefore -be clipped to white. It references the resulting segment image files in the +conflict, it is determined whether it belongs to the neighbour, and can therefore +be clipped to white. The resulting segment image files are referenced in the output PAGE (as AlternativeImage). TODO: add images @@ -489,12 +609,12 @@ TODO: add images -### Step 10: Line segmentation +### Step 11: Line segmentation -This processor can be used to segment regions into lines. It runs a (ad-hoc -binarization and) line segmentation on every text region of every PAGE in the -input file group, and adds a TextLine element with the resulting polygon -outline to the annotation of the output PAGE. +In this processing step regions are segmented into lines. A (ad-hoc +binarization and) line segmentation is run on every text region of every PAGE in the +input file group, and a TextLine element with the resulting polygon +outline is added to the annotation of the output PAGE. @@ -543,9 +663,9 @@ outline to the annotation of the output PAGE.
-### Step 11: Line correction +### Step 12: Line correction -This processor can be used to correct the segmented lines. +In this processing step the segmented lines can be corrected. TODO: add images @@ -572,19 +692,12 @@ TODO: add images   ocrd-cis-ocropy-resegment -I OCR-D-SEG-LINE -O OCR-D-RESEG - - ocrd-segment-repair - {"sanitize":true} -   - ocrd-segment-repair -I OCR-D-SEG-LINE -O OCR-D-SEG-REPAIR -p '{"sanitize":true}' - -### Step 12: Dewarping (on line level) - -This processor can be used to dewarp the segmented lines. +### Step 13: Dewarping (on Line Level) +In this processing step the segmented lines can the dewarped. @@ -617,12 +730,6 @@ This processor can be used to dewarp the segmented lines. - - - - - - @@ -632,12 +739,13 @@ This processor can be used to dewarp the segmented lines.
ocrd-anybaseocr-dewarp{"operation_level":"line",
"pix2pixHD":"/path/to/pix2pixHD/",
"model_name":"/path/to/pix2pixHD/models"}
For available models take a look at this site
Parameter ‘model_name’ is missleading. Given directory has to contain a file named ‘latest_net_G.pth’
GPU required!
ocrd-anybaseocr-dewarp -I OCR-D-CLIP-LINE -O OCR-D-DEWARP-LINE -p '{"operation_level":"line","pix2pixHD":"/path/to/pix2pixHD/","model_name":"/path/to/pix2pixHD/models"}'
ocrd-cis-ocropy-dewarp  
-## Text Recognition and Optimization +## Text Recognition -### Step 13: Text recognition +### Step 14: Text recognition This processor recognizes text in segmented lines. +An overview on the existing model repositories and short descriptions on the most important models can be found [here](TODO: add link). #### Available processors @@ -691,9 +799,13 @@ directory should at least contain the following models: `deu.traineddata`, ## Post Correction (Optional) -### Step 14: Text aligning +### Step 15: Text alignment + +In this processing step texts from multiple OCR-engines are aligned in one PAGE.xml. -This processor alignes texts from multiple OCR-engines in one PAGE.xml. +**Note:** This step is only required if you want to correct the text afterwards +by using the output of several OCR-engines as with `ocrd-cis-post-correct.sh`. +To obtain good results the input texts should be recognized in the previous step on glyph or at least on word level. #### Available processors @@ -717,9 +829,12 @@ This processor alignes texts from multiple OCR-engines in one PAGE.xml. -### Step 15: Post correction +### Step 16: Post correction + +In this processing step you can try to correct the recognized text. -This processor tries to optimize the recognized text. +**Note:** `ocrd-cor-asv-ann-process` takes the unaligned OCR text as input, whereas +`ocrd-cis-post-correct.sh` needs aligned texts. **See also: ToDo reference to the result inside talk on final workshop** @@ -738,7 +853,7 @@ This processor tries to optimize the recognized text. ocrd-cor-asv-ann-process {“textequiv_level”:”line”,”model_file”:”/path/to/model/model.h5”} Models can be found here - ocrd-cor-asv-ann-process -I OCR-D-ALIGN -O OCR-D-PROCESS -p '{“textequiv_level”:”line”,”model_file”:”/path/to/model/model.h5”}' + ocrd-cor-asv-ann-process -I OCR-D-OCR -O OCR-D-PROCESS -p '{“textequiv_level”:”line”,”model_file”:”/path/to/model/model.h5”}' ocrd-cis-post-correct.sh @@ -749,11 +864,11 @@ This processor tries to optimize the recognized text. -## Analysis (Optional) +## Evaluation (Optional) If Ground Truth data is available, the OCR can be analysed. -### Step 16: Analysis +### Step 17: Analysis This processor can be used to analyse the output of the OCR. From a364db2c9a05afa9fc37f31f1aa9082cf10e8261 Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Tue, 7 Apr 2020 17:17:25 +0200 Subject: [PATCH 02/43] Delete user_guide.md --- site/de/user_guide.md | 423 ------------------------------------------ 1 file changed, 423 deletions(-) delete mode 100644 site/de/user_guide.md diff --git a/site/de/user_guide.md b/site/de/user_guide.md deleted file mode 100644 index c63496592..000000000 --- a/site/de/user_guide.md +++ /dev/null @@ -1,423 +0,0 @@ ---- -layout: page -author: Elisabeth Engl -date: 2020-02-04T19:16:54+01:00 -lang: en -lang-ref: from-novice-to-pro -toc: true ---- - -# User Guide for Non-IT Users - -The following guide provides a detailed description how to use the OCR-D-Software. There are two options on running the software. You can either use the [OCR-D-Docker-solution](https://ocr-d.github.io/en/setup#ocrd_all-via-docker), or you can [install the Software](https://ocr-d.github.io/en/setup#ocrd_all-natively). Note that the two options require different prerequisites as detailed in the very next two paragraphs. The [third preparatory step](#preparing-a-workspace) is obligatory for both Docker and Non-Docker users! - -Furthermore, Docker commands have a [different syntax than native calls](#translating-native-commands-to-docker-calls). This guide always states native calls first and then provides the respective command for Docker users. - -## Prerequisites and Preparations - -### Setup docker - -If you want to use the OCR-D-Docker-solution, [Docker](https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-using-the-repository) and [docker compose](https://docs.docker.com/compose/install/) have to be installed. - -After installing docker you have to set up daemon and add user to the group 'docker' - -```sh -# Start docker daemon at startup -sudo systemctl enable docker -# Add user to group 'docker' -sudo usermod -aG docker $USER -``` - -warning Please log out and log in again. - -To test access to docker try the following command: - -```sh -docker ps -``` - -Now you should see an (empty) list of available images. - -For installing docker images please refer to the [setup guide](setup.html). - -### Virtual environment (without docker) - -If you don't want to use Docker, you should activate the -virtualenv before starting to work with the OCR-D-software. This has either been installed automatically if you installed the -software via ocrd_all, or you should have [installed it yourself](https://packaging.python.org/tutorials/installing-packages/#creating-virtual-environments) before -installing the OCR-D-software individually. - -```sh -source ~/venv/bin/activate -``` - -Once you have activated the virtualenv, you should see `(venv)` prepended to -your shell prompt. - -When you are done with your OCR-D-work, you can use `deactivate` to deactivate -your venv. - -### Preparing a workspace - -OCR-D processes digitized images in so-called workspaces, special directories -which contain the images to be processed and their corresponding METS file. Any -files generated while processing these images with the OCR-D-software will also -be stored in this directory. - -How you prepare a workspace depends on whether you already have or don't have a -METS file with the paths to the images you want to process. For usage within -OCR-D your METS file should look similar to [this example](example_mets.md). - -#### Already existing METS - -If you already have a METS file as indicated above, you can create a workspace -and load the pictures to be processed with the following command: - -```sh -ocrd workspace clone [URL of your mets.xml] -## alternatively using docker -docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd workspace clone [URL of your mets.xml] -``` - -In most cases, METS files indicate several picture formats. For OCR-D you will -only need one format. We strongly recommend using the format with the highest -resolution. Optionally, you can specify to only load the file group needed: - -List all existing groups: - -```sh -ocrd workspace -d [/path/to/your/workspace] list-group -## alternatively using docker -docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd workspace -d /data list-group -``` - -Download all files of one group: - -```sh -ocrd workspace -d [/path/to/your/workspace] find --file-grp [selected file group] --download -## alternatively using docker -docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd workspace -d /data find --file-grp [selected file group] --download -``` - -You can also optionally specify a particular name for your workspace. If you -don't, it will simply generate a name by itself. - -#### Non-existing METS - -If you don't have a METS file or it doesn't suffice the OCR-D-requirements you -can generate it with the following commands. First, you have to create a -workspace: - -```sh -ocrd workspace init [/path/to/your/workspace] -## alternatively using docker -mkdir -p [/path/to/your/workspace] -docker run --rm -u $(id -u) -v [/path/to/your/workspace]:/data -w /data -- ocrd/all:maximum ocrd workspace init /data -``` - -Then you can change into your workspace and set a unique ID - -```sh -workspace$ ocrd workspace set-id 'unique ID' -## alternatively using docker -docker run --rm -u $(id -u) -v [/path/to/your/workspace]:/data -w /data -- ocrd/all:maximum ocrd set-id 'unique ID' -``` - -and copy the folder containing your pictures to be processed into the workspace: - -```sh -cp -r [/path/to/your/pictures] . -``` -**Note:** All pictures must have the same format (tif, jpg, ...) - -Now you can add your pictures to the METS. When creating the workspace, a blank -METS file was created, too, to which you can add the pictures to be processed. - -You can do this manually with the following command: - -```sh -ocrd workspace add -g [ID of the physical page, has to start with a letter] -G [name of picture folder in your workspace] -i [ID of the scanned page] -m image/[format of your picture] [/path/to/your/picture/in/workspace] -## alternatively using docker -docker run --rm -u $(id -u) -v [/path/to/workspace]:/data -w /data -- ocrd/all:maximum ocrd workspace add -g [ID of the physical page, has to start with a letter] -G [name of picture folder in your workspace] -i [ID of the scanned page] -m image/[format of your picture] [relative/path/to/your/picture/in/workspace] -``` - -Your command could e.g. look like this: - -```sh -ocrd workspace add -g P_00001 -G OCR-D-IMG -i OCR-D-IMG_00001 -m image/tif OCR-D-IMG/00001.tif -## alternatively using docker -docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd workspace add -g P_00001 -G OCR-D-IMG -i OCR-D-IMG_00001 -m image/tif OCR-D-IMG/00001.tif -``` - -If you have many pictures to be added to the METS, you can do this automatically with a for-loop: - -```sh -for i in [/path/to/your/picture/folder/in/workspace]/*.[file ending of your pictures]; do base= `basename ${i} .[file ending of your pictures]`; ocrd workspace add -G [name of picture folder in your workspace] -i OCR-D-IMG_${base} -g P_${base} -m image/[format of your pictures] ${i}; done -## alternatively using docker -for i in [relative/path/to/your/picture/folder/in/workspace]/*.[file ending of your pictures]; do base= `basename ${i} .[file ending of your pictures]`; docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd workspace add -G [name of picture folder in your workspace] -i OCR-D-IMG_${base} -g P_${base} -m image/[format of your pictures] ${i}; done -``` - -warning If the file names of the images starts with a number, at least one of the following characters must be placed in front of its name for parameter 'i': [a-z,A-Z,_,-] (e.g.: 'OCR-D-IMG_\_') - -Your for-loop could e.g. look like this: - -```sh -for i in OCR-D-IMG/*.tif; do base=`basename ${i} .tif`; ocrd workspace add -G OCR-D-IMG -i OCR-D-IMG_${base} -g P_${base} -m image/tif ${i}; done -## alternatively using docker -for i in OCR-D-IMG/*.tif; do base=`basename ${i} .tif`;docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd workspace add -G OCR-D-IMG -i OCR-D-IMG_${base} -g P_${base} -m image/tif ${i}; done -``` - -In the end, your METS file should look like this [example METS](example_mets.md). - -## Using the OCR-D-processors - -### OCR-D-Syntax - -There are several ways for invoking the OCR-D-processors. However, all of those -ways make use of the following syntax: - -```sh --I Input-Group # folder of the files to be processed --O Output-Group # folder for the output of your processor --p parameter.json # indication of parameters for a particular processor -``` - -For some processors parameters are purely optional, other processors as e.g. `ocrd-tesserocr-recognize` won't work without one or several parameters. - -### Calling a single processor -If you just want to call a single processor, e.g. for testing purposes, you can go into your workspace and use the following command: -```sh -ocrd-[processor needed] -I [Input-Group] -O [Output-Group] -p [path to parameter.json]' -## alternatively using docker -docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd-[processor needed] -I [Input-Group] -O [Output-Group] -p [path to parameter.json]' -``` -Your command could e.g. look like this: -```sh -ocrd-tesserocr-recognize -I OCR-D-SEG-LINE -O OCR-D-OCR-TESSEROCR -p param-tess-fraktur.json -## alternatively using docker -docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd-tesserocr-recognize -I OCR-D-SEG-LINE -O OCR-D-OCR-TESSEROCR -p param-tess-fraktur.json -``` - -**Note:** For processors using multiple input-, or output groups you have to use a comma separated list. - -E.g.: - -```sh -ocrd-anybaseocr-crop -I OCR-D-IMG -O OCR-D-BIN,OCR-D-IMG-BIN -## alternatively using docker -docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd-anybaseocr-crop -I OCR-D-IMG -O OCR-D-BIN,OCR-D-IMG-BIN -``` - -The [`parameter.json`](`parameter.json`) file can be created with the following command: - -``` -echo '{ "[parameter]": "[specification]" }' > [name of your param.json file] -``` - -Instead of calling a `parameter.json` file you can also directly -write down the parameters when invoking a processor: - -```sh --p '{"[parameter]": "[value]"}' -``` - -**Note:** If multiple parameters are necessary they have to be separated by a comma. (No comma after the last parameter!) - -E.g.: - -```sh --p '{"[param1]": "[value1]", "[param2]": "[value2]", "[param3]": "[value3]"}' -``` - -### Calling several processors - -#### ocrd-process - -If you quickly want to specify a particular workflow on the CLI, you can use -ocrd-process, which has a similar syntax as calling single processors. - -```sh -ocrd process \ - '[processor needed without prefix 'ocrd-'] -I [Input-Group] -O [Output-Group]' \ - '[processor needed without prefix 'ocrd-'] -I [Input-Group] -O [Output-Group] -p [parameter.json]' -## alternatively using docker -docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd process \ - '[processor needed without prefix 'ocrd-'] -I [Input-Group] -O [Output-Group]' \ - '[processor needed without prefix 'ocrd-'] -I [Input-Group] -O [Output-Group] -p [parameter.json]' -``` - -Your command could e.g. look like this: - -```sh -ocrd process \ - 'cis-ocropy-binarize -I OCR-D-IMG -O OCR-D-SEG-PAGE' \ - 'tesserocr-segment-region -I OCR-D-SEG-PAGE -O OCR-D-SEG-BLOCK' \ - 'tesserocr-segment-line -I OCR-D-SEG-BLOCK -O OCR-D-SEG-LINE' \ - 'tesserocr-recognize -I OCR-D-SEG-LINE -O OCR-D-OCR-TESSEROCR -p param-tess-fraktur.json' -## alternatively using docker -docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd process \ - 'cis-ocropy-binarize -I OCR-D-IMG -O OCR-D-SEG-PAGE' \ - 'tesserocr-segment-region -I OCR-D-SEG-PAGE -O OCR-D-SEG-BLOCK' \ - 'tesserocr-segment-line -I OCR-D-SEG-BLOCK -O OCR-D-SEG-LINE' \ - 'tesserocr-recognize -I OCR-D-SEG-LINE -O OCR-D-OCR-TESSEROCR -p param-tess-fraktur.json' -``` - -**Note:** In contrast to calling a single processor, for ocrd-process you leave -out the prefix `ocrd-` before the name of a particular processor. - -#### Taverna - -Taverna is a more sophisticated workflow-software which allows you to specify a -particular workflow in a file and call this workflow, or rather its file, on -several workspaces. - -Note that Taverna is not included in your [`ocrd_all`](https:/github.com/OCR-D/ocrd_all) installation. Therefore, you still might have to install it following this [setup guide](setup.md). - -Taverna comes with several predefined workflows which can help you getting started. These are stored in the `/conf` directory. - -1. parameters.txt (best results without gpu) -2. parameters_fast.txt (good results for slower computers) -3. parameters_gpu.txt (best results with gpu) - -**Note:** Those workflows are only tested with a limited set of pages of the 17./18. century. Results may be worse for other prints. - -For every workflow at least two files are needed: A `workflow_configuration` file contains a particular workflow which is invoked by a `parameters` file. For calling a workflow via Taverna, change into the `Taverna` folder and use the following command: - -```sh -bash startWorkflow.sh [particular parameters.txt] [/path/to/your/workspace] -## alternatively using docker -docker run --rm --network="host" -v $PWD:/data -- ocrd/taverna process [particular parameters.txt] [relative/path/to/your/workspace] -``` - -The images in your indicated workspace will be processed and the respective -output will be saved into the same workspace. - -When you want to adjust a workflow for better results on your particular -images, you should start off by copying the original `workflow_configuration` -and `parameters` files. To this end, change to the `/conf` subdirectory of -`Taverna` and use the following commands: - -```sh -conf$ cp workflow_configuration.txt [name of your new workflow_configuration.txt] -conf$ cp parameters.txt [name of your new parameters.txt] -``` - -Open the new `parameters.txt` file with an editor like e.g. Nano and change the -name of the old `workflow_configuration.txt` specified in this file to the name -of your new `workflow_configuration.txt` file: - -```sh -nano [name of your new workflow_configuration.txt] -``` - -Then open your new `workflow_configuration.txt` file respectively and adjust it to your needs by exchanging or adding the specified processors of parameters. The first column contains the name of the processor, the following two columns indicate the names of the input and the output filegroups. The forth column for group-ID can be left blank. In the last column you can indicate the log level. - -If your processor requires a parameter, it has to be specified in the fith column. As with parameters when calling processors directly on the CLI, there are two ways how to specify them. You can either call a `json` file which should be stored in Taverna's subdirectory `models`. See [Calling a single processor](TODO) on how to create `json` files. Alternatively, you can directly write down the parameter needed using the following syntax: - -```sh -{\"[param1]\":\"[value1]\",\"[param2]\":\"[value2]\",\"[param3]\":\"[value3]\"} -e.g. -{\"level-of-operation\":\"page\"} -``` - -**Note:** Avoid white spaces and escape double quotes with backslash. - -For information on the available processors see [section at the end](#get-more-information-about-processors). - - - -#### workflow-config - - -workflow-configuration is another tool for specifying OCR-D-workflows. It allows you to run workflows which are configured and controlled via GNU makefiles. In contrast to Taverna it is included in ocrd_all, therefore you most likely already installed it with the other OCR-D-processors. - -The `workflow-configuration` directory already contains several workflows, which were tested against the Ground Truth provided by OCR-D. For the CER of those workflows in our tests see [the table on GitHub](https://github.com/bertsky/workflow-configuration#usage). - -**Note:** Those workflows are configured for GT-data, i.e. they expect preprocessed images which were already segmented at least down to line level. If you want to run them on raw images, you have to add some preprocessing and segmentation steps first. Otherwise they will fail. - -In order to run a workflow, change into the `workflow_configuration` directory and call the desired configuration file on your workspace(s): - -```sh -make -f [name_of_your_workflow.mk] [/path/to/your/workspace1] [/path/to/your/workspace2] -``` - -As indicated in the command above, you can run a workflow on several workspaces by listing them after one another. The images in your indicated workspace(s) will be processed and the respective -output along with the log files will be saved into the same workspace(s). - -When you want to adjust a workflow for better results on your particular -images, you should start off by copying the original `workflow.mk` -file: - -```sh -cp workflow.mk [name_of_your_new_workflow_configuration.mk] -``` - -Then open your new `workflow.mk` file with an editor like e.g. Nano and exchange or add the processors or parameters to your needs: - -```sh -nano [name_of_your_new_workflow_configuration.mk] -``` - -You can write new rules by using file groups as prerequisites/targets in the normal GNU make syntax. The first target defined must be the default goal that builds the very last file group for that configuration. Alternatively a variable `.DEFAULT_GOAL` pointing to that target can be set anywhere in the makefile. - -**Note:** Also see the [extensive Readme of workflow-configuration](https://github.com/bertsky/workflow-configuration#usage) on how to adjust the preconfigured workflows to your needs. - -#### Translating native commands to docker calls -The native calls presented above are simple to translate to commands based on the -docker images by prepending the boilerplate telling Docker which image to use, -which user to run as, which files to bind to a container path etc. - -For example a call to -[`ocrd-tesserocr-binarize`](https://github.com/OCR-D/tesserocr) might natively -look like this: - -```sh -ocrd-tesserocr-segment-region -I OCR-D-IMG -O OCR-D-SEG-BLOCK -``` - -To run it with the [`ocrd/all:maximum`] Docker container: - -```sh -docker run -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum ocrd-tesserocr-segment-region -I OCR-D-IMG -O OCR-D-SEG-BLOCK - \_________/ \___________/ \______/ \_________________/ \___________________________________________________________/ - (1) (2) (3) (4) (5) -``` - -* (1) tells Docker to run the container as the calling user instead of root -* (2) tells Docker to bind the current working directory as the `/data` folder in the container -* (3) tells Docker to change the container's working directory to `/data` -* (4) tells docker which image to run -* (5) is the unchanged call to `ocrd-tesserocr-segment-region` - -It can also be useful to delete the container after creation with the `--rm` -parameter. - -### Specifying New OCR-D-Workflows - -When you want to specify a new workflow adapted to the features of particular -images, we recommend using an exisiting workflow as specified in `Taverna` or -`workflow-config` as starting point. You can adjust it to your needs by -exchanging or adding the specified processors of parameters. For an overview on -the existing processors, their tasks and features, see the [next section](#get-more-information-about-processors) and our [workflow guide](workflows.html). - - - - -### Get more Information about Processors - -To get all available processors you might use the autocomplete in your preferred console. - -**Note:** Activate virtual environment first. - -Type 'ocrd-' followed by `TAB` to get a list of all available processors. - -To get further information about one processor type - -```sh -[name_of_selected_processor] -J -## alternatively using docker -docker run --rm -u $(id -u) -v $PWD:/data -w /data -- ocrd/all:maximum [name_of_selected_processor] -J -``` - - - From 9f7a3d1dee759a9a2edf616a0a2f839fcc17de43 Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Tue, 7 Apr 2020 17:17:47 +0200 Subject: [PATCH 03/43] Delete setup.md --- site/de/setup.md | 555 ----------------------------------------------- 1 file changed, 555 deletions(-) delete mode 100644 site/de/setup.md diff --git a/site/de/setup.md b/site/de/setup.md deleted file mode 100644 index 2bdb82d87..000000000 --- a/site/de/setup.md +++ /dev/null @@ -1,555 +0,0 @@ ---- -layout: page -lang: de -lang-ref: setup -toc: true ---- - -# OCR-D-Installationsanleitung - -Die OCR-D-Software ist eine modulare Sammlung mehrerer Projekte (genannt _Module_) -mit vielen Werkzeugen pro Modul (genannt _Prozessoren_), die frei kombiniert werden können, -um den für die OCR-Bearbeitung Ihrer Inhalte am besten geeigneten Workflow zu erreichen. - -Alle [OCR-D-Module] (https://github.com/topics/ocr-d) folgen der gleichen. -[Schnittstelle](https://ocr-d.github.io/cli) und einem einheitlichen Prinzip. Sobald man -verstanden hat, wie ein Projekt installiert und benutzt wird, kann man auch alle anderen installieren und -verwenden. - -## Installation - -Es gibt vier Möglichkeiten, die OCR-D-Module zu installieren: - - 1. Verwendung der [`ocrd/all` Docker-Modul-Sammlung](https://hub.docker.com/r/ocrd/all) (**empfohlen**) - 2. Die Verwendung von `ocrd/all` zur lokalen Installation von OCR-D-Modulen - 3. Module einzeln über Docker oder nativ installieren (nicht empfohlen) - 4. Verwendung des [OCR-D Framework mit Docker](https://github.com/VolkerHartmann/ocrd_framework) zur Installation aller verfügbaren Prozessoren, des Taverna-Workflows und des lokalen Forschungsdatenrepositoriums - -Wir empfehlen die Verwendung des Docker-Images, da dies abgesehen von -der [Installation von Docker](https://hub.docker.com/r/ocrd/all) -keine Änderungen an dem Host-System erfordert. - -Module einzeln zu installieren, ist nicht empfehlenswert. Hier wird es schwierig, die -Software auf dem neuesten Stand zu halten und sicherzustellen, dass die Module in funktionsfähigen und interoperablen Versionen vorliegen. - -## ocrd_all - -Das [`ocrd_all`](https://github.com/OCR-D/ocrd_all) Projekt ist aus der -OCR-D-Community heraus entstanden und wird jetzt vom OCR-D-Koordinationsteam betreut. Diese Lösung rationalisiert -die native Installation von OCR-D-Modulen mit einem vielseitigen Makefile-Ansatz. -Neben der lokalen Installation des vollständigen OCR-D-Module ist es auch Basis für die -[`ocrd/all`](https://hub.docker.com/r/ocrd/all) auf DockerHub verfügbaren Docker-Images, -die alle sofort einsetzbaren OCR-D-Module enthalten. - -Technisch gesehen ist `ocrd_all` ein Git-Repository, das die gesamte benötigte Software -als Git-Submodule in bestimmten Revisionen enthält. Auf diese Weise kann sichergestellt werden, -dass die Software-Werkzeuge in einer stabilen Version vorliegen und interoperabel sind. - -## ocrd_all über Docker - -### mini medi maxi - -Es gibt drei Versionen des [`ocrd/all`](https://hub.docker.com/r/ocrd/all) Image: -`minimum`, `medium` und `maximum`. Sie unterscheiden sich in der Anzahl der enthaltenen Module -und damit in der Größe des Bildes. Die `minimum-` oder `medium`-Images können verwendet werden, wenn -für Ihre Workflows mit Sicherheit nicht alle OCR-D-Module benötigt werden. Andernfalls -empfehlen wir, das große, vollständige "maximum"-Image zu verwenden. - -Die folgende Tabelle zeigt, welche Module in welcher Image-Version enthalten sind: - - -| Module | `minimum` | `medium` | `maximum` | -| ----- | ---- | ---- | ---- | -| core | ☑ | ☑ | ☑ | -| ocrd_cis | ☑ | ☑ | ☑ | -| ocrd_im6convert | ☑ | ☑ | ☑ | -| ocrd_repair_inconsistencies | ☑ | ☑ | ☑ | -| ocrd_tesserocr | ☑ | ☑ | ☑ | -| tesserocr | ☑ | ☑ | ☑ | -| workflow-configuration | ☑ | ☑ | ☑ | -| cor-asv-ann | - | ☑ | ☑ | -| dinglehopper | - | ☑ | ☑ | -| format-converters | - | ☑ | ☑ | -| ocrd_calamari | - | ☑ | ☑ | -| ocrd_keraslm | - | ☑ | ☑ | -| ocrd_olena | - | ☑ | ☑ | -| ocrd_segment | - | ☑ | ☑ | -| tesseract | - | ☑ | ☑ | -| ocrd_anybaseocr | - | - | ☑ | -| ocrd_kraken | - | - | ☑ | -| ocrd_ocropy | - | - | ☑ | -| ocrd_pc_segmentation | - | - | ☑ | -| ocrd_typegroups_classifier | - | - | ☑ | -| sbb_textline_detector | - | - | ☑ | -| cor-asv-fst | - | - | ☑ | - -### Fetch docker image - -To fetch the `maximum` version of the `ocrd/all` Docker image: - -```sh -docker pull ocrd/all:maximum -``` - -Replace `maximum` accordingly if you want the `minimum` or `medium` variant. - -### Updating docker image - -To update the docker images to their latest version, just run the `docker pull` command again: - -```sh -docker pull ocrd/all: -``` - -This can even be set up as a cron-job to ensure the image is always up-to-date. - -## ocrd_all natively - -The `ocrd_all` project contains a sophisticated Makefile to install or compile -prerequisites as necessary, set up a virtualenv, install the core software, -install OCR-D modules and more. Detailed documentation [can be found in its -README](https://github.com/OCR-D/ocrd_all). - -### Prerequisites - -There are some [system requirements](https://github.com/OCR-D/ocrd_all#system-packages) for ocrd_all. - -You need to have `git` and `make` installed to make use of `ocrd_all`: - -```sh -sudo apt install git make -``` - -It is easiest to install all the possible system requirements by calling `make deps-ubuntu` as root: - -```sh -sudo make deps-ubuntu -``` - -### Cloning the repository - -Clone the repository and all its submodules: - -```sh -git clone --recursive https://github.com/OCR-D/ocrd_all -cd ocrd_all -``` - -### Updating the repository - -As `ocrd_all` is in [active -development](https://github.com/OCR-D/ocrd_all/commits/master), it is wise to -regularly update the repository and its submodules: - -```sh -git pull -git submodule sync -git submodule update --init --recursive -``` - -### Installing with ocrd_all - -You can either install - 1. all the software at once with the `all` target (equivalent to the [`maximum` Docker version](#mini-medi-maxi)) - 2. modules individually by using an executable from that module as the target or : - 3. modules invidually by using the project name for the `OCRD_MODULES` variable: - -```sh -make all # Installs all the software (recommended) - -make ocrd-tesserocr-binarize # Install ocrd_tesserocr which contains ocrd-tesserocr-binarize -make ocrd-cis-ocropy-binarize # Install ocrd_cis which contains ocrd-cis-ocropy-binarize - -make all OCRD_MODULES="ocrd_tesserocr ocrd_cis" # Will install both ocrd_tesserocr and ocrd_cis -``` - -## Individual installation - -With all variants of individual module installation, it will be up to you to -keep the repositories up-to-date and installed. We therefore discourage -individual installation of modules and recommend using ocrd_all as outlined above.. - -### Individual Docker container - -This is the best option if you want full control over which modules you -actually intend to use while still profiting from the simple installation of -Docker containers. - -You need to have [Docker](https://docs.docker.com/install/linux/docker-ce/ubuntu/) - -All OCR-D modules are also [published as Docker containers to DockerHub](https://hub.docker.com/u/ocrd). To find the docker -image for a module, replace the `ocrd_` prefix with `ocrd/`: - -```sh -docker pull ocrd/tesserocr # Installs ocrd_tesserocr -docker pull ocrd/olena # Installs ocrd_olena -``` - -To run the containers, please see [the notes on translating native command line -calls to docker calls above](#translating-native-commands-to-docker-calls). Make sure the image -name matches the executable. For example to run the same example in the dedicated `ocrd_tesserocr` container: - -```sh -docker run -u $(id -u) -w /data -v $PWD:/data -- ocrd/tesserocr ocrd-tesserocr-segment-region -I OCR-D-IMG -O OCR-D-SEG-BLOCK-DOCKER -``` - -### Native installation - -> **NOTE** -> -> ocrd_tesserocr requires **tesseract-ocr >= 4.1.0**. But the Tesseract packages -> bundled with **Ubuntu < 19.10** are too old. If you are on Ubuntu 18.04 LTS, -> please enable [Alexander Pozdnyakov PPA](https://launchpad.net/~alex-p/+archive/ubuntu/tesseract-ocr), -> which has up-to-date builds of tesseract and its dependecies: -> -> ```sh -> sudo add-apt-repository ppa:alex-p/tesseract-ocr -> sudo apt-get update -> ``` - -#### virtualenv - -* **Always install python modules into a virtualenv** -* **Never run `pip`/`pip3` as root** - -First install Python 3 and `venv`: - -```sh -sudo apt install python3 python3-venv -``` - -```sh -# If you haven't created the venv yet: -python3 -m venv ~/venv -# Activate the venv -source ~/venv/bin/activate -``` - -Once you have activated the virtualenv, you should see `(venv)` prepended to -your shell prompt. - -#### From PyPI - -This is the best option if you want to use the stable, released version of individual modules. - -However, many modules require a number of non-Python (system) packages. For the -exact list of packages you need to look at the README of the module in -question. (If you are not on Ubuntu >= 18.04, then your requirements may -deviate from that.) - -For example to install `ocrd_tesserocr` from PyPI: - -```sh -sudo apt-get install git python3 python3-pip python3-venv libtesseract-dev libleptonica-dev tesseract-ocr-eng tesseract-ocr wget -pip3 install ocrd_tesserocr -``` - -Many ocrd modules conventionally contain a Makefile with a `deps-ubuntu` target that can handle calls to `apt-get` for you: - -```sh -sudo make deps-ubuntu -``` - -#### From git - -This is the best option if you want to change the source code or install the latest, unpublished changes. - -```sh -git clone https://github.com/OCR-D/ocrd_tesserocr -cd ocrd_tesserocr -sudo make deps-ubuntu # or manually with apt-get -make deps # or pip3 install -r requirements -make install # or pip3 install . -``` - -If you intend to develop a module, it is best to install the module editable: - -```sh -pip install -e . -``` - -This way, you won't have to reinstall after making changes. - -## Testing the installation - -For example, let's fetch a document from the [OCR-D GT Repo](https://ocr-d-repo.scc.kit.edu/api/v1/metastore/bagit/): - -```sh -wget 'https://ocr-d-repo.scc.kit.edu/api/v1/dataresources/736a2f9a-92c6-4fe3-a457-edfa3eab1fe3/data/wundt_grundriss_1896.ocrd.zip' -unzip wundt_grundriss_1896.ocrd.zip -cd data -``` - -### Test native installation - -This section applies if you installed the software natively, either [via -`ocrd_all`](#ocrd_all-natively) or [on a per-module basis](#native-installation). - -First, activate your venv: - -```sh -# Activate the venv -source ~/venv/bin/activate -``` - -Let's segment the images in file group `OCR-D-IMG` into regions (creating a -first [PAGE-XML](https://github.com/PRImA-Research-Lab/PAGE-XML) file group -`OCR-D-SEG-BLOCK`): - -```sh -ocrd-tesserocr-segment-region -I OCR-D-IMG -O OCR-D-SEG-BLOCK -``` - -### Test Docker installation - -This section applies if you installed the software as docker container(s), either [via -`ocrd_all`](#ocrd_all-via-docker) or [on a per-module basis](#individual-docker-container). - -You can spin up a docker container, mounting the current working directory like this: - -```sh -docker run -u $(id -u) -w /data -v $PWD:/data -- ocrd/all:maximum ocrd-tesserocr-segment-region -I OCR-D-IMG -O OCR-D-SEG-BLOCK-DOCKER -``` - -Note that the CLI is exactly the same, the only difference is the prefix to instruct Docker, as [explained above](#mini-medi-maxi) - -## Installation of OCR-D Research Data Repository - -It's highly recommended to install the research data repository via Docker. [See link for further information](https://github.com/OCR-D/repository_metastore/blob/master/installDocker/installation.md) - -```sh -git clone https://github.com/OCR-D/repository_metastore -cd repository_metastore/installDocker -bash installRepo.sh ~/ocrd/repository -cd ~/ocrd/repository/docker -docker-compose up & -# To stop research data repository -docker-compose stop -``` - -### Testing the installation - -The write access to the service is secured with a password, which is preset -when you use the docker installation. There is an 'ingest' user for ingesting -files. (Password: `ingest`) - -1. Upload zipped BagIt container to metastore. -```sh -curl -u ingest:ingest -v -F "file=@zippedBagItContainer" http://localhost:8080/api/v1/metastore/bagit -``` -2. List all BagIt containers. -```sh -curl -XGET -H "Accept:application/json" http://localhost:8080/api/v1/metastore/bagit -``` -3. List all METS files. -```sh -curl -XGET http://localhost:8080/api/v1/metastore/mets -``` -4. List all METS files with title 'Der Herold'. -```sh -curl -XGET -H "Accept:application/json" "http://localhost:8080/api/v1/metastore/mets/title?title=Der%20Herold" -``` -5. Download zipped BagIt container from metastore. (use one URL of the list printed above) -```sh -curl -XGET http://localhost:8090/api/v1/dataresources/123..../data/zippedBagItContainer > bagDownload.zip -``` -You may also try this URL in a browser. (http://localhost:8080/api/v1/metastore/bagit) - -## Installation Taverna Workflow - -### Why using Taverna? - -Taverna creates a 'metadata' sub directory containing collected output of all -processors: all intermediate METS files and a provenance file containing all -provenance of the workflow including start/end time of processor/workflow, used -input group(s), used parameters and created output group(s). - -There are two ways to install taverna workflow. -1 'Local' installation -2. Docker installation - -### 'Local' installation - -```sh -git clone https://github.com/OCR-D/taverna_workflow.git -cd taverna_workflow/ -bash installTaverna.sh ~/ocrd/taverna -``` - -#### Testing the installation - -To check if the installation works fine you can start a first test. - -```sh -cd ~/ocrd/taverna -bash startWorkflow.sh parameters_all.txt -[...] -Outputs will be saved to the directory: /.../Execute_OCR_D_workfl_output -# The processed workspace should look like this: -ls -1 workspace/example/data/ -metadata -mets.xml -OCR-D-GT-SEG-BLOCK -OCR-D-GT-SEG-PAGE -OCR-D-IMG -OCR-D-IMG-BIN -OCR-D-IMG-BIN-OCROPY -OCR-D-OCR-CALAMARI_GT4HIST -OCR-D-OCR-TESSEROCR-BOTH -OCR-D-OCR-TESSEROCR-FRAKTUR -OCR-D-OCR-TESSEROCR-GT4HISTOCR -OCR-D-SEG-LINE -OCR-D-SEG-REGION -``` - -Each sub folder starting with 'OCR-D-OCR' should now contain 4 files with the -detected full text. - -### Docker installation - -```sh -wget https://raw.githubusercontent.com/OCR-D/taverna_workflow/master/Dockerfile -docker build -t ocrd/taverna . -mkdir ~/docker/ocrd/taverna -cd ~/docker/ocrd/taverna -docker run -v `pwd`:/data ocrd/taverna init -``` - -#### Testing the installation - -To check if the installation works fine you can start a first test. - -```sh -cd ~/docker/ocrd/taverna -docker run --network="host" -v `pwd`:/data ocrd/taverna testWorkflow -[...] -Outputs will be saved to the directory: /.../Execute_OCR_D_workfl_output -# The processed workspace should look like this: -ls -1 workspace/example/data/ -metadata -mets.xml -OCR-D-GT-SEG-BLOCK -OCR-D-GT-SEG-PAGE -OCR-D-IMG -OCR-D-IMG-BIN -OCR-D-IMG-BIN-OCROPY -OCR-D-OCR-CALAMARI_GT4HIST -OCR-D-OCR-TESSEROCR-BOTH -OCR-D-OCR-TESSEROCR-FRAKTUR -OCR-D-OCR-TESSEROCR-GT4HISTOCR -OCR-D-SEG-LINE -OCR-D-SEG-REGION -``` - -Each sub folder starting with 'OCR-D-OCR' should now contain 4 files with the detected full text. - -## Running a small workflow without taverna - -### With PyPI and workflow engine from core - -The [core package](https://github.com/OCR-D/core) will be installed with every -OCR-D module package, but you can also install it manually: - -```sh -pip3 install ocrd -``` - -Its CLI `ocrd` contains a simple workflow engine, available with the `ocrd process` command, which allows you to chain multiple OCR-D processor calls into simple sequential workflows. - -For example, let's combine the ocropy-based binarization of the -[ocrd_cis](https://github.com/cisocrgroup/ocrd_cis) module project with the segmentation and recognition -in [ocrd_tesserocr](https://github.com/OCR-D/ocrd_tesserocr). - -First, install ocrd_cis, too: - -```sh -# Install ocrd_cis -pip3 install ocrd_cis # with pip -``` - -Next, install a suitable OCR model for Tesseract: - -```sh -# Install OCR model into Tesseract datapath -sudo apt-get install tesseract-ocr-script-frak -``` - -Now we can define the workflow (as a list of processor calls in abbreviated -form, and a number of parameter files where defaults are insufficient): - -```sh -# Create parameter files -echo '{ "model": "Fraktur" }' > param-tess-fraktur.json - -# Run workflow -ocrd process \ - 'cis-ocropy-binarize -I OCR-D-IMG -O OCR-D-SEG-PAGE' \ - 'tesserocr-segment-region -I OCR-D-SEG-PAGE -O OCR-D-SEG-BLOCK' \ - 'tesserocr-segment-line -I OCR-D-SEG-BLOCK -O OCR-D-SEG-LINE' \ - 'tesserocr-recognize -I OCR-D-SEG-LINE -O OCR-D-OCR-TESSEROCR -p param-tess-fraktur.json' -``` - -## Installation of the whole OCR-D Framework - -To install the complete OCR-D framework docker is highly recommended. - -```sh -wget https://github.com/VolkerHartmann/ocrd_framework/blob/master/install_OCR-D_framework.sh -bash install_OCR-D_framework.sh ~/ocrd_framework -``` - -Now there exists several folders - -- repository - Contains all files of repository and the databases -- taverna - Contains all files workspaces and configuration of workflows - -### Prepare '/etc/hosts' for accessing files in repository via browser - -```sh -echo '127.0.0.1 kitdm20' | sudo tee -a /etc/hosts -``` - -#### Testing the installation - -To check if the installation works fine you can start a first test. - -```sh -# Start repo in a shell -cd ~/ocrd_framework/repository -docker-compose up -``` - -```sh -cd ~/ocrd_framework/taverna -docker run --network="host" -v `pwd`:/data ocrd/taverna testWorkflow -[...] -Outputs will be saved to the directory: /.../Execute_OCR_D_workfl_output -# The processed workspace should look like this: -ls -1 workspace/example/data/ -metadata -mets.xml -OCR-D-GT-SEG-BLOCK -OCR-D-GT-SEG-PAGE -OCR-D-IMG -OCR-D-IMG-BIN -OCR-D-IMG-BIN-OCROPY -OCR-D-OCR-CALAMARI_GT4HIST -OCR-D-OCR-TESSEROCR-BOTH -OCR-D-OCR-TESSEROCR-FRAKTUR -OCR-D-OCR-TESSEROCR-GT4HISTOCR -OCR-D-SEG-LINE -OCR-D-SEG-REGION -``` - -Each sub folder starting with 'OCR-D-OCR' should now contain 4 files with the detected full text. - -#### Check results in browser - -After the workflow all results are ingested to the research data repository. -The repository is available at http://localhost:8080/api/v1/metastore/bagit - -#### Configure your own workflow - -For defining your own workflow with taverna please refer to the -[README](https://github.com/OCR-D/taverna_workflow/blob/master/README.MD#configure-your-own-workflow) - From d1972c75282280bd6f932cccdda37282ca52532e Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Tue, 7 Apr 2020 17:18:33 +0200 Subject: [PATCH 04/43] Delete workflows.md --- site/de/workflows.md | 1039 ------------------------------------------ 1 file changed, 1039 deletions(-) delete mode 100644 site/de/workflows.md diff --git a/site/de/workflows.md b/site/de/workflows.md deleted file mode 100644 index 9fafc8f7f..000000000 --- a/site/de/workflows.md +++ /dev/null @@ -1,1039 +0,0 @@ ---- -layout: page -author: Volker Hartmann, Elisabeth Engl -date: 2020-02-20T10:14:34+01:00 -lang: en -lang-ref: workflow -toc: true ---- - -# Workflows -There are several steps necessary to get the fulltext of a scanned print. The whole OCR process is shown in the following figure: - -![](/assets/Funktionsmodell.png) - -The following instruction describes all steps of the OCR workflow. Depending on your particular print or rather images not all of those steps will be necessary to obtain good results. Whether a step is required or optional is indicated in the description of each step. - -## Image Optimization -Prepare image for better OCR. - - -### Step 1: Binarization -First, all the images should be binarized. Many of the following processors require binarized images. Note that some segmentation algorithms seem to produce better results using the original image. - -This processor takes a scanned colored /gray scale document image as input and produces a black and white binarized image. This step should separate the background from the foreground. - - - - - - - - -
- - - -
- - -#### Available processors - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ProcecssorParameterRemarkCall
ocrd-anybaseocr-binarizeFastocrd-anybaseocr-binarize -I OCR-D-IMG -O OCR-D-BIN
ocrd-cis-ocropy-binarizeocrd-cis-ocropy-binarize -I OCR-D-IMG -O OCR-D-BIN
ocrd-olena-binarize -

- {"impl": "sauvola"} -

-

-{"impl": "sauvola-ms"} -

-

-{"impl": "sauvola-ms-fg"} -

-

-{"impl": "sauvola-ms-split"} -

-

-{"impl": "kim"} -

-

-{"impl": "wolf"} -

-

-{"impl": "niblack"} -

-

-{"impl": "singh"} -

-

-{"impl": "otsu"} -

-
Recommendedocrd-olena-binarize -I OCR-D-IMG -O OCR-D-BIN -p'{"impl": "sauvola"}'
- -### Step 2: Denoising - -This processor removes artifacts from the binarized image. - -May not be necessary for all prints. - - - - - - - - - - - - - - - -
  
- - - -
- -#### Available processors - - - - - - - - - - - - - - - - - - -
ProcessorParameterRemarksCall
ocrd-cis-ocropy-denoise{“level-of-operation”:”page”} ocrd-cis-ocropy-denoise -I OCR-D-BIN -O OCR-D-DENOISE
- -### Step 3: Deskewing - -This processor takes a document image as input and does the skew correction of -that document. The input images have to be binarized for this module to work. - - - - - - - - - - - - - - - -
  
- - - -
- -#### Available processors - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ProcessorParameterRemarksCall
ocrd-anybaseocr-deskew  ocrd-anybaseocr-deskew -I OCR-D-DENOISE -O OCR-D-DESKEW-PAGE
ocrd-tesserocr-deskew{"operation_level”:”page”}Fastocrd-tesserocr-deskew -I OCR-D-DENOISE -O OCR-D-DESKEW-PAGE -p'{"operation_level”:”page”}'
ocrd-cis-ocropy-deskew{“level-of-operation”:”page”}ocrd-cis-ocropy-deskew -I OCR-D-DENOISE -O OCR-D-DESKEW-PAGE -p'{“level-of-operation”:”page”}'Recommended
- -### Step 4: Dewarping - -This processor takes a document image as input and makes the text line straight if its curved. The input image has to be binarized for the module to work. - - - - - - - - - - - - - - - -
  
- - - -
- -#### Available processors - - - - - - - - - - - - - - - - - - -
ProcessorParameterRemarksCall
ocrd-anybaseocr-dewarp - -
-{
-  "pix2pixHD":"/path/to/pix2pixHD/",
-  "model_name":"/path/to/pix2pixHD/models"
-}
-      
-
-
For available models take a look at this site
Parameter model_name is missleading. Given directory has to contain a file named ‘latest_net_G.pth’
GPU required!
- ocrd-anybaseocr-dewarp -I OCR-D-DESKEW-PAGE -O OCR-D-DEWARP-PAGE -p '{\"pix2pixHD\":\"/path/to/pix2pixHD/\",\"model_name\":\"/path/to/pix2pixHD/models\"}' -
- -### Step 5: Cropping - -This processor takes a document image as input and crops/selects the page -content area only (i.e. it removes textual noise as well as any other noise -around the page content area). - - - - - - - - - - - - - - - -
  
- - - -
- - -#### Available processors - - - - - - - - - - - - - - - - - - -
ProcessorParameterRemarksCall
ocrd-anybaseocr-crop The input image has to be binarized and
should be deskewed for the module to work.
ocrd-anybaseocr-crop -I OCR-D-DEWARP-PAGE -O OCR-D-CROP
- -## Layout Analysis - -Now the image should be optimized for segmentation. - -### Step 6: Text segmentation (page) - -This processor takes an (optimized) document image as an input and segments the -image into the different text blocks. During this step a classification (text, -marginalia, image, ...) should also be done. - - - - - - - - - - - - - - - -
  
- - - -
- - -#### Available processors - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ProcessorParameterRemarksCall
ocrd-tesserocr-segment-region Should also work for original images!?ocrd-tesserocr-segment-region -I OCR-D-CROP -O OCR-D-SEG-REG
ocrd-anybaseocr-block-segmentation
-{
-  "block_segmentation_model": "/path/to/mrcnn",
-  "block_segmentation_weights": "/path/to/model/block_segmentation_weights.h5"
-}
-      
-
For available models take a look at this site
Should also work for original images!?
ocrd-anybaseocr-block-segmentation -I OCR-D-CROP -O OCR-D-SEG-REG -p '{"block_segmentation_model": "/path/to/mrcnn","block_segmentation_weights": "/path/to/model/block_segmentation_weights.h5"}'
ocrd-cis-ocropy-segment{"level-of-operation":"page"} ocrd-cis-ocropy-segment -I OCR-D-CROP -O OCR-D-SEG-REG -p '{"level-of-operation":"page"}'
- -## Image Optimization (on Block Level) - -Now the blocks should be optimized for OCR. - -### Step 7: Binarization - -This processor takes a scanned colored /gray scale block as input and produces -a black and white binarized image. This step should separate the background -from the foreground. - -The binarization should be at least executed once (on page/block/line level). - - -#### Available processors - - - - - - - - - - - - - - - - - - -
ProcessorParameterRemarksCall
ocrd-tesserocr-binarize{"operation_level":"region"} ocrd-tesserocr-binarize -I OCR-D-SEG-REG -O OCR-D-BIN-REG -p '{"operation_level":"region"}'
- -### Step 8: Deskewing - -This processor takes an image as input and does the skew correction for all text blocks. - - - - - - - - - - - - - - - -
  
- - - -
- -#### Available processors - - - - - - - - - - - - - - - - - - -
ProcessorParameterRemarksCall
ocrd-cis-ocropy-deskew{"level-of-operation":"region"} ocrd-cis-ocrd-anybaseocr-deskew -I OCR-D-BIN-REG -O OCR-D-DESKEW-REG -p '{"level-of-operation":"region"}'
- -### Step 9: Cliping - -This processor can be used to remove intrusions of neighbouring segments in -regions / lines of a workspace. It runs a (ad-hoc binarization and) connected -component analysis on every text region / line of every PAGE in the input file -group, as well as its overlapping neighbours. For each binary object of -conflict, it determines whether it belongs to the neighbour, and can therefore -be clipped to white. It references the resulting segment image files in the -output PAGE (as AlternativeImage). - -TODO: add images - -#### Available processors - - - - - - - - - - - - - - - - - - -
ProcessorParameterRemarksCall
ocrd-cis-ocropy-clip{"level-of-operation":"region"} ocrd-cis-ocropy-clip -I OCR-D-DESKEW-REG -O OCR-D-CLIP-REG -p '{"level-of-operation":"region"}'
- -### Step 10: Line segmentation - -This processor can be used to segment regions into lines. It runs a (ad-hoc -binarization and) line segmentation on every text region of every PAGE in the -input file group, and adds a TextLine element with the resulting polygon -outline to the annotation of the output PAGE. - - - - - - - - - - - - - - - -
  
- - - -
- -#### Available processors - - - - - - - - - - - - - - - - - - - - - - - - -
ProcessorParameterRemarksCall
ocrd-cis-ocropy-segment{"level-of-operation":"region"} ocrd-cis-ocropy-segment -I OCR-D-CLIP-REG -O OCR-D-SEG-LINE -p '{"level-of-operation":"region"}'
ocrd-tesserocr-segment-line  ocrd-tesserocr-segment-line -I OCR-D-CLIP-REG -O OCR-D-SEG-LINE
- -### Step 11: Line correction - -This processor can be used to correct the segmented lines. - -TODO: add images - -#### Available processors - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ProcessorParameterRemarksCall
ocrd-cis-ocropy-clip{"level-of-operation":"line"} ocrd-cis-ocropy-clip -I OCR-D-SEG-LINE -O OCR-D-CLIP-LINE -p '{"level-of-operation":"line"}'
ocrd-cis-ocropy-resegment  ocrd-cis-ocropy-resegment -I OCR-D-SEG-LINE -O OCR-D-RESEG
ocrd-segment-repair{"sanitize":true} ocrd-segment-repair -I OCR-D-SEG-LINE -O OCR-D-SEG-REPAIR -p '{"sanitize":true}'
- -### Step 12: Dewarping (on line level) - -This processor can be used to dewarp the segmented lines. - - - - - - - - - - - - - - - -
  
- - - -
- -#### Available processors - - - - - - - - - - - - - - - - - - - - - - - - -
ProcessorParameterRemarksCall
ocrd-anybaseocr-dewarp{"operation_level":"line",
"pix2pixHD":"/path/to/pix2pixHD/",
"model_name":"/path/to/pix2pixHD/models"}
For available models take a look at this site
Parameter ‘model_name’ is missleading. Given directory has to contain a file named ‘latest_net_G.pth’
GPU required!
ocrd-anybaseocr-dewarp -I OCR-D-CLIP-LINE -O OCR-D-DEWARP-LINE -p '{"operation_level":"line","pix2pixHD":"/path/to/pix2pixHD/","model_name":"/path/to/pix2pixHD/models"}'
ocrd-cis-ocropy-dewarp  ocrd-cis-ocropy-dewarp -I OCR-D-CLIP-LINE -O OCR-D-DEWARP-LINE
- -## Text Recognition and Optimization - -### Step 13: Text recognition - -This processor recognizes text in segmented lines. - - -#### Available processors - - - - - - - - - - - - - - - - - - - - - - - - -
ProcessorParameterRemarksCall
ocrd-tesserocr-recognize -

- - {"textequiv_level": "glyph", "overwrite_words": true,"model": "Fraktur"} - -

-

- - {"textequiv_level": "glyph", "overwrite_words": true, "model": "GT4HistOCR_50000000.997_191951"} - -

-
Recommended
Model can be found here
00000/tessdata_best/GT4HistOCR_50000000.997_191951.traineddata)
ocrd-tesserocr-recognize -I OCR-D-DEWARP-LINE -O OCR-D-OCR -p '{"model": "Fraktur"}'
ocrd-calamari-recognize - -{"checkpoint":"/path/to/models/\*.ckpt.json"} - - - Recommended
Model can be found here -
ocrd-calamari-recognize -I OCR-D-DEWARP-LINE -O OCR-D-OCR -p '{"checkpoint": "Fraktur"}'
- - -**Note:** For `ocrd-tesserocr` the environment variable `TESSDATA_PREFIX` has -to be set to point to the directory where the used models are stored. (The -directory should at least contain the following models: `deu.traineddata`, -`eng.taineddata`, `osd.traineddata`) - -## Post Correction (Optional) - -### Step 14: Text aligning - -This processor alignes texts from multiple OCR-engines in one PAGE.xml. - - -#### Available processors - - - - - - - - - - - - - - - - - - -
ProcessorParameterRemarksCall
ocrd-cis-align  ocrd-cis-align -I OCR-D-OCR1,OCR-D-OCR2 -O OCR-D-ALIGN
- -### Step 15: Post correction - -This processor tries to optimize the recognized text. - -**See also: ToDo reference to the result inside talk on final workshop** - -#### Available processors - - - - - - - - - - - - - - - - - - - - - - - -
ProcessorParameterRemarksCall
ocrd-cor-asv-ann-process{“textequiv_level”:”line”,”model_file”:”/path/to/model/model.h5”}Models can be found hereocrd-cor-asv-ann-process -I OCR-D-ALIGN -O OCR-D-PROCESS -p '{“textequiv_level”:”line”,”model_file”:”/path/to/model/model.h5”}'
ocrd-cis-post-correct.sh???Not tested yet!ocrd-cis-post-correct.sh -I OCR-D-ALIGN -O OCR-D-CORRECT
- -## Analysis (Optional) - -If Ground Truth data is available, the OCR can be analysed. - -### Step 16: Analysis - -This processor can be used to analyse the output of the OCR. - -#### Available processors - - - - - - - - - - - - - - - - - - -
ProcessorParameterRemarksCall
ocrd-dinglehopper First input group should point to the ground truth.ocrd-dinglehopper -I OCR-D-GT,OCR-D-OCR -O OCR-D-EVAL
- -# Recommendations - -All processors, with the exception of those for post-correction, were tested on -selected pages of some prints from the 17th and 18th century. - -The results vary quite a lot from page to page. In most cases, segmentation is a problem. - -These recommendations may also work well for other prints of those centuries. - -Note that for our test pages, not all steps described above werde needed to obtain the best results. -Depending on your particular images, you might want to include those processors again for better results. - - -## Best results for selected pages - -The following workflow has produced best results for 'simple' pages (e.g. [this -page](https://ocr-d-repo.scc.kit.edu/api/v1/dataresources/dda89351-7596-46eb-9736-593a5e9593d3/data/bagit/data/OCR-D-IMG/OCR-D-IMG_0004.tif)) (CER ~1%). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
StepProcessorParameter
1ocrd-olena-binarize{"impl": "sauvola-ms-split"}
2ocrd-cis-ocropy-denoise{"level-of-operation":"page"}
3ocrd-anybaseocr-deskew
5ocrd-anybaseocr-crop
6ocrd-cis-ocropy-segment{"level-of-operation":"page"}
8ocrd-cis-ocropy-deskew{"level-of-operation":"region"}
9ocrd-cis-ocropy-clip{"level-of-operation":"region"}
10ocrd-cis-ocropy-segment{"level-of-operation":"region"}
11ocrd-cis-ocropy-resegment
12ocrd-cis-ocropy-dewarp
13ocrd-calamari-recognize{"checkpoint":"/path/to/models/\*.ckpt.json"}
- -### Example with ocrd-process - -```sh -ocrd process \ - "olena-binarize -I OCR-D-IMG -O OCR-D-BIN -p '{\"impl\": \"sauvola-ms-split\"}'" \ - "cis-ocropy-denoise -I OCR-D-BIN -O OCR-D-BIN-DENOISE -p '{\"level-of-operation\":\"page\"}'" \ - "anybaseocr-deskew -I OCR-D-BIN-DENOISE -O OCR-D-BIN-DENOISE-DESKEW" \ - "anybaseocr-crop -I OCR-D-BIN-DENOISE-DESKEW -O OCR-D-CROP" \ - "cis-ocropy-segment -I OCR-D-CROP -O OCR-D-SEG-REG -p '{\"level-of-operation\":\"page\"}'" \ - "cis-ocropy-deskew -I OCR-D-SEG-REG -O OCR-D-SEG-REG-DESKEW -p '{\"level-of-operation\":\"region\"}'" \ - "cis-ocropy-clip -I OCR-D-SEG-REG-DESKEW -O OCR-D-SEG-REG-DESKEW-CLIP -p '{\"level-of-operation\":\"region\"}'" \ - "cis-ocropy-segment -I OCR-D-SEG-REG-DESKEW-CLIP -O OCR-D-SEG-LINE -p '{\"level-of-operation\":\"region\"}'" \ - "cis-ocropy-resegment -I OCR-D-SEG-LINE -O OCR-D-SEG-LINE-RESEG" \ - "cis-ocropy-dewarp -I OCR-D-SEG-LINE-RESEG -O OCR-D-SEG-LINE-RESEG-DEWARP" \ - "calamari-recognize -I OCR-D-SEG-LINE-RESEG-DEWARP -O OCR-D-OCR -p '{\"checkpoint\":\"/path/to/models/*.ckpt.json\"}'" -``` - - - -## Good results for all pages - -Overall the results are good for all kind of pages. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
StepProcessorParameter
1ocrd-olena-binarize{"impl": "sauvola-ms-split"}
2ocrd-cis-ocropy-denoise{"level-of-operation":"page"}
3ocrd-anybaseocr-deskew
5ocrd-anybaseocr-crop
6ocrd-cis-ocropy-segment{"level-of-operation":"page"}
10ocrd-tesserocr-segment-line
11ocrd-cis-ocropy-clip{"level-of-operation":"line"}
12ocrd-cis-ocropy-dewarp
13ocrd-tesserocr-recognize{"textequiv_level":"glyph",
"overwrite_words":true,
- "model":"GT4HistOCR_50000000.997_191951"}
- -### Example with ocrd-process - -```sh -ocrd process \ - "olena-binarize -I OCR-D-IMG -O OCR-D-BIN -p '{\"impl\": \"sauvola-ms-split\"}'" \ - "cis-ocropy-denoise -I OCR-D-BIN -O OCR-D-BIN-DENOISE -p '{\"level-of-operation\":\"page\"}'" \ - "anybaseocr-deskew -I OCR-D-BIN-DENOISE -O OCR-D-BIN-DENOISE-DESKEW" \ - "anybaseocr-crop -I OCR-D-BIN-DENOISE-DESKEW -O OCR-D-CROP" \ - "cis-ocropy-segment -I OCR-D-CROP -O OCR-D-SEG-REG -p '{\"level-of-operation\":\"page\"}'" \ - "tesserocr-segment-line -I OCR-D-SEG-REG -O OCR-D-SEG-LINE" \ - "cis-ocropy-clip -I OCR-D-SEG-LINE -O OCR-D-SEG-LINE-CLIP -p '{\"level-of-operation\":\"line\"}'" \ - "cis-ocropy-dewarp -I OCR-D-SEG-LINE-CLIP -O OCR-D-SEG-LINE-CLIP-DEWARP" \ - "tesserocr-recognize -I OCR-D-SEG-LINE-CLIP-DEWARP -O OCR-D-OCR -p '{\"textequiv_level\":\"glyph\",\"overwrite_words\":true,\"model\":\"GT4HistOCR_50000000.997_191951\"}'" -``` - - - -## Good results for slower processors - -If your computer is not that powerful you may try this workflow. It works fine for simple pages and produces also good results in shorter time. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
StepProcessorParameter
1ocrd-olena-binarize{"impl": "sauvola-ms-split"}
2ocrd-cis-ocropy-denoise{"level-of-operation":"page"}
3ocrd-anybaseocr-deskew
5ocrd-anybaseocr-crop
6ocrd-tesserocr-segment-region
8ocrd-cis-ocropy-deskew{"level-of-operation":"region"}
10ocrd-cis-ocropy-segment{"level-of-operation":"region"}
12ocrd-cis-ocropy-dewarp
13ocrd-tesserocr-recognize{"textequiv_level":"glyph",
"overwrite_words":true,
- "model":"GT4HistOCR_50000000.997_191951"}
- -### Example with ocrd-process - -```sh -ocrd process \ - "olena-binarize -I OCR-D-IMG -O OCR-D-BIN -p '{\"impl\": \"sauvola-ms-split\"}'" \ - "cis-ocropy-denoise -I OCR-D-BIN -O OCR-D-BIN-DENOISE -p '{\"level-of-operation\":\"page\"}'" \ - "anybaseocr-deskew -I OCR-D-BIN-DENOISE -O OCR-D-DESKEW-PAGE" \ - "anybaseocr-crop -I OCR-D-DESKEW-PAGE -O OCR-D-CROP" \ - "tesserocr-segment-region -I OCR-D-CROP -O OCR-D-SEG-REG" \ - "cis-ocropy-deskew -I OCR-D-SEG-REG -O OCR-D-SEG-REG-DESKEW -p '{\"level-of-operation\":\"region\"}'" \ - "cis-ocropy-segment -I OCR-D-SEG-REG-DESKEW -O OCR-D-SEG-LINE -p '{\"level-of-operation\":\"region\"}'" \ - "cis-ocropy-dewarp -I OCR-D-SEG-LINE -O OCR-D-SEG-LINE-DEWARP" \ - "tesserocr-recognize -I OCR-D-SEG-LINE-DEWARP -O OCR-D-OCR -p '{\"textequiv_level\":\"glyph\",\"overwrite_words\":true,\"model\":\"GT4HistOCR_50000000.997_191951\"}'" -``` From e81c062505066a5c4df3507346b266558df06fa7 Mon Sep 17 00:00:00 2001 From: Elisabeth Engl Date: Thu, 16 Apr 2020 13:44:52 +0200 Subject: [PATCH 05/43] add format and models --- site/de/models.md | 50 +++++++++++++++++++++++++++++++++++++++ site/en/workflows.md | 56 +++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 103 insertions(+), 3 deletions(-) create mode 100644 site/de/models.md diff --git a/site/de/models.md b/site/de/models.md new file mode 100644 index 000000000..da371cdb6 --- /dev/null +++ b/site/de/models.md @@ -0,0 +1,50 @@ +# OCR-Modelle + +Für die Texterkennung wird ein geeignetes OCR-D-Modul und ein dazu passendes +Sprach-/Schriftmodell benötigt. Diese Seite gibt einen Überblick über die +wichtigsten Modelle und Modell-Repositorien. + +## ocrd-tesserocr-recognize + +Dieses Modul verwendet Tesseract 4.1 oder neuer für die Texterkennung. Tesseract benötigt +Sprach- oder Schriftmodelle. Dies sind Dateien in einem speziellen Format. Sie enthalten +mindestens eine Liste mit dem bekannten Zeichensatz ("unicharset") und das neuronale Netz +für die Texterkennung ("lstm"), optional auch noch Wörterbücher ("wordlist") und weitere Komponenten. +Sprachmodelle sind im Zeichensatz und im Wörterbuch auf eine Sprache (z. B. deu = deutsch) beschränkt. +Schriftmodelle enthalten einen umfangreicheren Zeichensatz und Wörterbücher aus mehreren Sprachen mit +der gleichen Schrift (z. B. Latin = lateinische Schrift mit englisch, deutsch, französisch, +spanisch, italienisch, ...). + +Für Tesseract gibt es mehr als 100 Sprach- und Schriftmodelle, die von Google erzeugt ("trainiert") +wurden. Daneben gibt es aber auch noch weitere Modelle von anderen Anbietern, und man kann auch eigene +Modelle entweder komplett neu oder auf Basis vorhandener Modelle erstellen. Eigenes Training wird durch +`tesstrain` gut unterstützt. + +Die Modelle von Google gibt es jeweils in drei Varianten: + +[`tessdata_fast`](https://github.com/tesseract-ocr/tessdata_fast) Diese Variante wird auch von den meisten +Linux-Distributionen angeboten und ist besonders schnell bei der Texterkennung. Sie verwendet neuronale Netzwerke. +[`tessdata_best`](https://github.com/tesseract-ocr/tessdata_best) Diese Variante braucht deutlich mehr Zeit bei der +Texterkennung, kann aber im Einzelfall(nicht generell!) bessere Ergebnisse liefern. Sie verwendet neuronale Netzwerke. +Eigenes Training neuer Modelle auf Basis vorhandener Modelle setzt ebenfalls diese Variante voraus. +[`tessdata`](https://github.com/tesseract-ocr/tessdata) Diese Variante ist ähnlich schnell wie tessdata_fast, enthält +aber zusätzlich zu den neuronalen Netzwerken auch noch die musterbasierte Zeichenerkennung von Tesseract 3. +Man kann damit also zwei unterschiedliche Texterkennungsmethoden kombinieren, was in Einzelfällen zu besseren Ergebnissen +führen kann. + +### Schrift- und Sprachmodelle für historische Drucke +Die folgenden Modelle für Tesseract gibt es: + +`deu_frak` Älteres Sprachmodell für deutsche Fraktur. Dieses Modell war mit Tesseract 3 gebräuchlich, +ist aber heute nicht mehr zu empfehlen. +`deu` Sprachmodell für deutsche Antiqua, das aber auch etwas Fraktur erkennen kann. +`frk` Sprachmodell für deutsche Fraktur, das aber auch etwas Antiqua erkennen kann. +`Latin` Schriftmodell für lateinische Antiqua-Schriften, das aber auch etwas Fraktur erkennen kann. +`Fraktur` Schriftmodell für Fraktur-Schriften, das aber auch Antiqua-Schriften ganz gut erkennt. Fehler beim +Erzeugen dieses Modells haben zur Folge, dass es kein Paragraphzeichen kennt und die Ligaturen `ch` und `ck` +häufig als Kleiner- und Größerzeichen "erkennt". + +Weitere Frakturmodelle. Ausgehend von Fraktur sind mit Hilfe von [GT4HistOCR](https://zenodo.org/record/1344132) +weitere Modelle der [UB Mannheim](https://ub-backup.bib.uni-mannheim.de/~stweil/ocrd-train/data/Fraktur_5000000/) +erzeugt worden, die für ein breites Spektrum historischer Drucke gute Ergebnisse liefern. Diese Modelle können +auch kombiniert werden, was in der Regel noch bessere Ergebnisse bringt, allerdings auch dann mehr Zeit kostet. \ No newline at end of file diff --git a/site/en/workflows.md b/site/en/workflows.md index 7394aab8c..0adf97e6c 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -866,11 +866,11 @@ In this processing step you can try to correct the recognized text. ## Evaluation (Optional) -If Ground Truth data is available, the OCR can be analysed. +If Ground Truth data is available, the OCR can be evaluated. -### Step 17: Analysis +### Step 17: Evaluation -This processor can be used to analyse the output of the OCR. +In this processing step the output of the OCR can be evaluated. #### Available processors @@ -893,6 +893,56 @@ This processor can be used to analyse the output of the OCR. +## Format Conversion (Optional) + +OCR-D produces PAGE XML files which contain the recognized text as well as detailed +information on the structure of the processed pages, the coordinates of the recognized +elements etc. Optionally, the PAGE XML can be converted to a different output format. + +### Step 18: Format Conversion + +In this processing step the produced PAGE XML files can be converted to +ALTO, hOCR or text files. Note that ALTO and hOCR can also be converted into +different formats. + +#### Available processors + + + + + + + + + + + + + + + + + + +
ProcessorParameterRemarksCall
ocrd-fileformat-transform + {"from-to": "alto2.0 alto3.0", + "alto2.0 alto3.1", + "alto2.0 hocr", + "alto2.1 alto3.0", + "alto2.1 alto3.1", + "alto2.1 hocr", + "alto page", + "alto text", + "gcv hocr", + "hocr alto2.0", + "hocr alto2.1", + "hocr text", + "page alto", + "page hocr", + "page text"} + +  ocrd-fileformat-transform -I OCR-D-OCR -O OCR-D-ALTO
+ # Recommendations All processors, with the exception of those for post-correction, were tested on From ef28a3d771d55872a6654c21dda8a2659c818388 Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Thu, 16 Apr 2020 17:01:40 +0200 Subject: [PATCH 06/43] Update workflows.md --- site/en/workflows.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index 0adf97e6c..9bb7c4158 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -773,7 +773,7 @@ An overview on the existing model repositories and short descriptions on the mos

- Recommended
Model can be found here
00000/tessdata_best/GT4HistOCR_50000000.997_191951.traineddata) + Recommended
Model can be found here
/tessdata_best/GT4HistOCR_50000000.997_191951.traineddata) ocrd-tesserocr-recognize -I OCR-D-DEWARP-LINE -O OCR-D-OCR -p '{"model": "Fraktur"}' From 2a96ce3a0a49d0d0a960ba46f85b4ba2a7646c8e Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Thu, 23 Apr 2020 08:27:28 +0200 Subject: [PATCH 07/43] Update site/de/models.md Co-Authored-By: Robert Sachunsky <38561704+bertsky@users.noreply.github.com> --- site/de/models.md | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/site/de/models.md b/site/de/models.md index da371cdb6..cbf495760 100644 --- a/site/de/models.md +++ b/site/de/models.md @@ -6,14 +6,12 @@ wichtigsten Modelle und Modell-Repositorien. ## ocrd-tesserocr-recognize -Dieses Modul verwendet Tesseract 4.1 oder neuer für die Texterkennung. Tesseract benötigt -Sprach- oder Schriftmodelle. Dies sind Dateien in einem speziellen Format. Sie enthalten -mindestens eine Liste mit dem bekannten Zeichensatz ("unicharset") und das neuronale Netz -für die Texterkennung ("lstm"), optional auch noch Wörterbücher ("wordlist") und weitere Komponenten. -Sprachmodelle sind im Zeichensatz und im Wörterbuch auf eine Sprache (z. B. deu = deutsch) beschränkt. -Schriftmodelle enthalten einen umfangreicheren Zeichensatz und Wörterbücher aus mehreren Sprachen mit -der gleichen Schrift (z. B. Latin = lateinische Schrift mit englisch, deutsch, französisch, -spanisch, italienisch, ...). +Dieser Prozessor verwendet Tesseract (ab Version 4.1) für die Texterkennung. Tesseract benötigt +_Sprach-_ oder _Schriftmodelle_. Dies sind Dateien in einem speziellen Format (`*.traineddata`). Sie enthalten +mindestens eine Liste mit dem Erkennungs-Zeichensatz ("unicharset") und die Gewichte des neuronalen Erkennungs-Modells ("lstm"), optional auch noch Wörterbücher ("wordlist"/"dawg") und weitere Komponenten. +Sprachmodelle sind im Zeichensatz und im Wörterbuch auf eine Muttersprache (z. B. `deu` = Deutsch) beschränkt. +Schriftmodelle dagegen enthalten einen umfangreicheren Zeichensatz und Wörterbücher aus mehreren Sprachen mit der gleichen Schrift (z. B. `Latin` = lateinische Schrift mit Englisch, Deutsch, Französisch, +Spanisch, Italienisch, ...). Für Tesseract gibt es mehr als 100 Sprach- und Schriftmodelle, die von Google erzeugt ("trainiert") wurden. Daneben gibt es aber auch noch weitere Modelle von anderen Anbietern, und man kann auch eigene @@ -47,4 +45,4 @@ häufig als Kleiner- und Größerzeichen "erkennt". Weitere Frakturmodelle. Ausgehend von Fraktur sind mit Hilfe von [GT4HistOCR](https://zenodo.org/record/1344132) weitere Modelle der [UB Mannheim](https://ub-backup.bib.uni-mannheim.de/~stweil/ocrd-train/data/Fraktur_5000000/) erzeugt worden, die für ein breites Spektrum historischer Drucke gute Ergebnisse liefern. Diese Modelle können -auch kombiniert werden, was in der Regel noch bessere Ergebnisse bringt, allerdings auch dann mehr Zeit kostet. \ No newline at end of file +auch kombiniert werden, was in der Regel noch bessere Ergebnisse bringt, allerdings auch dann mehr Zeit kostet. From 8c3ce201206a56c1f83dd9046405e576ce24be94 Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Thu, 23 Apr 2020 08:28:42 +0200 Subject: [PATCH 08/43] Update site/de/models.md Co-Authored-By: Robert Sachunsky <38561704+bertsky@users.noreply.github.com> --- site/de/models.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/site/de/models.md b/site/de/models.md index cbf495760..e250d78fb 100644 --- a/site/de/models.md +++ b/site/de/models.md @@ -13,10 +13,11 @@ Sprachmodelle sind im Zeichensatz und im Wörterbuch auf eine Muttersprache (z. Schriftmodelle dagegen enthalten einen umfangreicheren Zeichensatz und Wörterbücher aus mehreren Sprachen mit der gleichen Schrift (z. B. `Latin` = lateinische Schrift mit Englisch, Deutsch, Französisch, Spanisch, Italienisch, ...). -Für Tesseract gibt es mehr als 100 Sprach- und Schriftmodelle, die von Google erzeugt ("trainiert") +Für Tesseract gibt es mehr als 100 Sprach- und Schriftmodelle, die von Google mittels synthetischer Daten +(d.h. per Rasterung großer Mengen von Text mit vielen verschiedenen Vektorfonts) erzeugt ("trainiert") wurden. Daneben gibt es aber auch noch weitere Modelle von anderen Anbietern, und man kann auch eigene Modelle entweder komplett neu oder auf Basis vorhandener Modelle erstellen. Eigenes Training wird durch -`tesstrain` gut unterstützt. +[tesstrain](https://github.com/tesseract-ocr/tesstrain) gut unterstützt. Die Modelle von Google gibt es jeweils in drei Varianten: From daa21f6ba54d5bd382a47ad00abea08f84aeff60 Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Thu, 23 Apr 2020 08:29:36 +0200 Subject: [PATCH 09/43] Update site/en/workflows.md Co-Authored-By: Robert Sachunsky <38561704+bertsky@users.noreply.github.com> --- site/en/workflows.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index 9bb7c4158..221c6e73b 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -12,7 +12,7 @@ There are several steps necessary to get the fulltext of a scanned print. The wh ![](/assets/Funktionsmodell.png) -The following instruction describes all steps of the OCR workflow. Depending on your particular print or rather images not all of those steps will be necessary to obtain good results. Whether a step is required or optional is indicated in the description of each step. +The following instructions describe all steps of an OCR workflow. Depending on your particular print (or rather images), not all of those steps might be necessary to obtain good results. Whether a step is required or optional is indicated in the description of each step. ## Image Optimization (on Page Level) At first, the image should be prepared for OCR. From 29bcdcd30c3a59809d73275642c213fcb934da51 Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Thu, 23 Apr 2020 08:33:21 +0200 Subject: [PATCH 10/43] Update site/en/workflows.md Co-Authored-By: Robert Sachunsky <38561704+bertsky@users.noreply.github.com> --- site/en/workflows.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index 221c6e73b..3e2d46139 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -19,7 +19,7 @@ At first, the image should be prepared for OCR. ### Step 1: Binarization -First, all the images should be binarized. Many of the following processors require binarized images. Note that some segmentation algorithms seem to produce better results using the original image. +First, all the images should be binarized. Many of the following processors require binarized images. Some implementations (for deskewing, segmentation or recognition) may produce better results using the original image. But these can always retrieve the raw image instead of the binarized version automatically. In this processing step, a scanned colored /gray scale document image is taken as input and a black and white binarized image is produced. This step should separate the background from the foreground. From a06492636c5e6fa0db3148c535c55ea3fddc6180 Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Thu, 23 Apr 2020 08:35:49 +0200 Subject: [PATCH 11/43] Update site/en/workflows.md Co-Authored-By: Robert Sachunsky <38561704+bertsky@users.noreply.github.com> --- site/en/workflows.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index 3e2d46139..6180814a2 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -101,8 +101,8 @@ In this processing step, a scanned colored /gray scale document image is taken a ### Step 2: Cropping -In this processing step a document image is taken as input and the page -content area only is cropped/selected (i.e. noise around the page content area is removed). +In this processing step, a document image is taken as input and the page +is cropped to the content area only (i.e. without noise at the margins or facing pages) by marking the coordinates of the page frame. From ebc389ec801b0fee7b3b4a721c098cd94df64ea2 Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Thu, 23 Apr 2020 08:37:38 +0200 Subject: [PATCH 12/43] Update site/en/workflows.md Co-Authored-By: Robert Sachunsky <38561704+bertsky@users.noreply.github.com> --- site/en/workflows.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index 6180814a2..37abecc94 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -213,9 +213,9 @@ For better results, the cropped images can be binarized again at this point or l ### Step 4: Denoising -In this processing step artifacts are removed from the binarized image. +In this processing step, artifacts like little specks (both in foreground or background) are removed from the binarized image. -This may not be necessary for all prints. +This may not be necessary for all prints, and depends heavily on the selected binarization algorithm.
From 55e9274d2d8183c74b378f854b8a211ffa7a35e5 Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Thu, 23 Apr 2020 08:39:59 +0200 Subject: [PATCH 13/43] Update site/en/workflows.md Co-Authored-By: Robert Sachunsky <38561704+bertsky@users.noreply.github.com> --- site/en/workflows.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index 37abecc94..f6dce5ea5 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -380,9 +380,9 @@ By now the image should be well prepared for segmentation. ### Step 7: Text segmentation (on Page Level) -In this processing step an (optimized) document image is taken as an input and the -image is segmented into the different text blocks. During this step a classification (text, -marginalia, image, ...) should also be done. +In this processing step, an (optimized) document image is taken as an input and the +image is segmented into the various regions or blocks, including columns. +Segments are also classified, either coarse (text, separator, image, table, ...) or fine-grained (paragraph, marginalia, heading, ...). **Note:** If you use `ocrd-tesserocr-segment-region`, you should use `ocrd-segment-repair` afterwards to obtain better results. From 7a73587f3f70934b9ff7d63550916fd9e99091d0 Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Thu, 23 Apr 2020 08:41:20 +0200 Subject: [PATCH 14/43] Update site/en/workflows.md Co-Authored-By: Robert Sachunsky <38561704+bertsky@users.noreply.github.com> --- site/en/workflows.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index f6dce5ea5..67aa537d5 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -384,8 +384,8 @@ In this processing step, an (optimized) document image is taken as an input and image is segmented into the various regions or blocks, including columns. Segments are also classified, either coarse (text, separator, image, table, ...) or fine-grained (paragraph, marginalia, heading, ...). -**Note:** If you use `ocrd-tesserocr-segment-region`, you should use `ocrd-segment-repair` -afterwards to obtain better results. +**Note:** If you use `ocrd-tesserocr-segment-region`, which uses only bounding boxes instead of polygon coordinates, +then you should post-process via `ocrd-segment-repair` with `plausibilize=True` to obtain better results without large overlaps. **Note:** The sbb-textline-detector does not only segment the page but also the lines within the detected regions in one step. Therefore with this (and only with this!) processor you don't From a9c2b3bd858236a929e06ee31486392bf49a17ea Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Thu, 23 Apr 2020 08:42:22 +0200 Subject: [PATCH 15/43] Update site/en/workflows.md Co-Authored-By: Robert Sachunsky <38561704+bertsky@users.noreply.github.com> --- site/en/workflows.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index 67aa537d5..48aec7701 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -387,9 +387,9 @@ Segments are also classified, either coarse (text, separator, image, table, ...) **Note:** If you use `ocrd-tesserocr-segment-region`, which uses only bounding boxes instead of polygon coordinates, then you should post-process via `ocrd-segment-repair` with `plausibilize=True` to obtain better results without large overlaps. -**Note:** The sbb-textline-detector does not only segment the page but also the lines within -the detected regions in one step. Therefore with this (and only with this!) processor you don't -have to segment the lines in an extra step. +**Note:** The `ocrd-sbb-textline-detector` processor does not only segment the page, but also the text lines within +the detected text regions in one step. Therefore with this (and only with this!) processor you don't +need to segment into lines in an extra step.
From 691983b7a6cc216718204ed319d0847a1ae51569 Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Thu, 23 Apr 2020 08:43:12 +0200 Subject: [PATCH 16/43] Update site/en/workflows.md Co-Authored-By: Robert Sachunsky <38561704+bertsky@users.noreply.github.com> --- site/en/workflows.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index 48aec7701..4f10fccf0 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -432,7 +432,7 @@ need to segment into lines in an extra step. - + From 4ef45d40e4266d68fc6f8339e1d15ed9842b306e Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Thu, 23 Apr 2020 08:44:40 +0200 Subject: [PATCH 17/43] Update site/en/workflows.md Co-Authored-By: Robert Sachunsky <38561704+bertsky@users.noreply.github.com> --- site/en/workflows.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index 4f10fccf0..5e69b989d 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -473,7 +473,7 @@ In this processing step, a scanned colored /gray scale document image is taken a and white binarized image is produced. This step should separate the background from the foreground. The binarization should be at least executed once (on page or block level). If you already binarized -your image twice on page level, you can skip this step. +your image twice on page level, and have no large images, you can probably skip this step. #### Available processors From bc8c651b5e246f3316b5401bbcec307a47331e4c Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Thu, 23 Apr 2020 08:45:33 +0200 Subject: [PATCH 18/43] Update site/en/workflows.md Co-Authored-By: Robert Sachunsky <38561704+bertsky@users.noreply.github.com> --- site/en/workflows.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index 5e69b989d..2a4bd8bba 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -260,8 +260,8 @@ This may not be necessary for all prints, and depends heavily on the selected bi ### Step 5: Deskewing -In this processing step a document image is taken as input and the skew of -that document is corrected. The input images have to be binarized for this module to work. +In this processing step, a document image is taken as input and the skew of +that page is corrected by annotating the detected angle and rotating the image. The input images have to be binarized for this module to work.
ocrd-segment-repair{"sanitize":true}{"plausibilize":true} Only to be used after `ocrd-tesserocr-segment-region` ocrd-segment-repair -I OCR-D-SEG-REG -O OCR-D-SEG-REPAIR -p '{"sanitize":true}'
From 9fb19c5d99054288264cdf47fdcca8f60d9a80ad Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Thu, 23 Apr 2020 08:46:13 +0200 Subject: [PATCH 19/43] Update site/en/workflows.md Co-Authored-By: Robert Sachunsky <38561704+bertsky@users.noreply.github.com> --- site/en/workflows.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index 2a4bd8bba..7c0586e7c 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -378,7 +378,7 @@ if its curved. The input image has to be binarized for the module to work. By now the image should be well prepared for segmentation. -### Step 7: Text segmentation (on Page Level) +### Step 7: Page segmentation In this processing step, an (optimized) document image is taken as an input and the image is segmented into the various regions or blocks, including columns. From 054bd6276f4672e8008b587948c7302879949ddf Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Thu, 23 Apr 2020 08:46:41 +0200 Subject: [PATCH 20/43] Update site/en/workflows.md Co-Authored-By: Robert Sachunsky <38561704+bertsky@users.noreply.github.com> --- site/en/workflows.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index 7c0586e7c..c18e8b4e4 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -465,7 +465,7 @@ need to segment into lines in an extra step. ## Image Optimization (on Block Level) -In the following steps the blocks should be optimized for OCR. +In the following steps, the text blocks should be optimized for OCR. ### Step 8: Binarization From 0c978d8b59e8fd5294b73c75a710ac1a1c240c25 Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Thu, 23 Apr 2020 08:47:41 +0200 Subject: [PATCH 21/43] Update site/en/workflows.md Co-Authored-By: Robert Sachunsky <38561704+bertsky@users.noreply.github.com> --- site/en/workflows.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index c18e8b4e4..4892bfc89 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -533,7 +533,7 @@ your image twice on page level, and have no large images, you can probably skip ### Step 9: Deskewing -In this processing step an image is taken as input and the skew is corrected for all text blocks. +In this processing step, text block images are taken as input and their skew is corrected by annotating the detected angle (-45° .. 45°) and rotating the image. Optionally, also the orientation is corrected by annotating the detected angle (multiples of 90°) and transposing the image.
From 84381622d879e0dea3687ef46f48fbe3f761818e Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Thu, 23 Apr 2020 08:50:23 +0200 Subject: [PATCH 22/43] Update site/en/workflows.md Co-Authored-By: Robert Sachunsky <38561704+bertsky@users.noreply.github.com> --- site/en/workflows.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index 4892bfc89..7999af874 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -581,7 +581,7 @@ In this processing step, text block images are taken as input and their skew is In this processing step intrusions of neighbouring segments in regions / lines of a workspace can be removed. A (ad-hoc binarization and) connected component analysis is run on every text region / line of every PAGE in the input file -group, as well as its overlapping neighbours. For each binary object of +as well as its overlapping neighbours. Now for each conflicting binary object, conflict, it is determined whether it belongs to the neighbour, and can therefore be clipped to white. The resulting segment image files are referenced in the output PAGE (as AlternativeImage). From 3b4e3eddb7c43ed4c0f039d5063e2f6d90c1457d Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Thu, 23 Apr 2020 08:50:49 +0200 Subject: [PATCH 23/43] Update site/en/workflows.md Co-Authored-By: Robert Sachunsky <38561704+bertsky@users.noreply.github.com> --- site/en/workflows.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index 7999af874..d79da7d2c 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -582,9 +582,10 @@ In this processing step intrusions of neighbouring segments in regions / lines of a workspace can be removed. A (ad-hoc binarization and) connected component analysis is run on every text region / line of every PAGE in the input file as well as its overlapping neighbours. Now for each conflicting binary object, -conflict, it is determined whether it belongs to the neighbour, and can therefore -be clipped to white. The resulting segment image files are referenced in the -output PAGE (as AlternativeImage). +a rule based on majority and proper containment determins whether it belongs to the neighbour, and can therefore +be clipped to the background. + +This basic text-nontext segmentation ensures that for each text block there is a clean image without interference from separators and neighbouring texts. (Cleaning via coordinates would be impossible in many common cases.) TODO: add images From 849975ec964dafb07e9ffef477556cbde1ff7696 Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Thu, 23 Apr 2020 08:53:16 +0200 Subject: [PATCH 24/43] Update site/en/workflows.md Co-Authored-By: Robert Sachunsky <38561704+bertsky@users.noreply.github.com> --- site/en/workflows.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index d79da7d2c..140a06b4a 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -834,8 +834,7 @@ To obtain good results the input texts should be recognized in the previous step In this processing step you can try to correct the recognized text. -**Note:** `ocrd-cor-asv-ann-process` takes the unaligned OCR text as input, whereas -`ocrd-cis-post-correct.sh` needs aligned texts. +**Note:** Most tools benefit strongly from input which includes alternative OCR hypotheses. Currently, models for `ocrd-cor-asv-ann-process` are optimised for input from single OCR engines, whereas `ocrd-cis-post-correct.sh` expects input from multi-OCR alignment. **See also: ToDo reference to the result inside talk on final workshop** From d6912562f1911b1f6f1a4884a9636bbce73f63f1 Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Thu, 23 Apr 2020 08:53:36 +0200 Subject: [PATCH 25/43] Update site/en/workflows.md Co-Authored-By: Robert Sachunsky <38561704+bertsky@users.noreply.github.com> --- site/en/workflows.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index 140a06b4a..403c5bbfe 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -868,7 +868,7 @@ In this processing step you can try to correct the recognized text. If Ground Truth data is available, the OCR can be evaluated. -### Step 17: Evaluation +### Step 17: OCR Evaluation In this processing step the output of the OCR can be evaluated. From 8f3cd446b0316e59aac2e60466a9b4f7f2d7d9d7 Mon Sep 17 00:00:00 2001 From: Elisabeth Engl <53007946+EEngl52@users.noreply.github.com> Date: Thu, 23 Apr 2020 08:54:12 +0200 Subject: [PATCH 26/43] Update site/en/workflows.md Co-Authored-By: Robert Sachunsky <38561704+bertsky@users.noreply.github.com> --- site/en/workflows.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index 403c5bbfe..359416045 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -870,7 +870,7 @@ If Ground Truth data is available, the OCR can be evaluated. ### Step 17: OCR Evaluation -In this processing step the output of the OCR can be evaluated. +In this processing step, the text output of the OCR or post-correction can be evaluated by aligning with ground truth text and measuring the error rates. #### Available processors From ce6d40d5dabe865173555cac242119195123b776 Mon Sep 17 00:00:00 2001 From: Elisabeth Engl Date: Thu, 23 Apr 2020 13:56:33 +0200 Subject: [PATCH 27/43] add bertsky's suggestions --- site/en/workflows.md | 42 ++++++++++++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index 0adf97e6c..dedf71561 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -23,6 +23,8 @@ First, all the images should be binarized. Many of the following processors requ In this processing step, a scanned colored /gray scale document image is taken as input and a black and white binarized image is produced. This step should separate the background from the foreground. +**Note:** Binarization tools usually provide a threshold parameter which allows you to increase or decrease the weight of the foreground. This is optional and can be especially usefull for images which have not been enhanced. +
@@ -51,13 +53,21 @@ In this processing step, a scanned colored /gray scale document image is taken a - + - + @@ -90,6 +100,9 @@ In this processing step, a scanned colored /gray scale document image is taken a

{"impl": "otsu"} +

+

+{"k": float}

@@ -161,12 +174,6 @@ For better results, the cropped images can be binarized again at this point or l - - - - - - @@ -304,7 +311,7 @@ that document is corrected. The input images have to be binarized for this modul - + @@ -571,7 +578,7 @@ In this processing step an image is taken as input and the skew is corrected for - +
ocrd-anybaseocr-binarize +

+{"threshold": float} +

+
Fast ocrd-anybaseocr-binarize -I OCR-D-IMG -O OCR-D-BIN
ocrd-cis-ocropy-binarize +

+{"noise_maxsize": float} +

+
ocrd-cis-ocropy-binarize -I OCR-D-IMG -O OCR-D-BIN
Recommended
ocrd-anybaseocr-binarizeFastocrd-anybaseocr-binarize -I OCR-D-CROP -O OCR-D-BIN2
ocrd-cis-ocropy-binarize
ocrd-tesserocr-deskew {"operation_level”:”page”}FastFast, also performs a decent orientation correction ocrd-tesserocr-deskew -I OCR-D-DENOISE -O OCR-D-DESKEW-PAGE -p'{"operation_level”:”page”}'
ocrd-cis-ocropy-deskew {"level-of-operation":"region"}  ocrd-cis-ocrd-anybaseocr-deskew -I OCR-D-BIN-REG -O OCR-D-DESKEW-REG -p '{"level-of-operation":"region"}'ocrd-cis-ocropy-deskew -I OCR-D-BIN-REG -O OCR-D-DESKEW-REG -p '{"level-of-operation":"region"}'
@@ -889,6 +896,21 @@ In this processing step the output of the OCR can be evaluated.   First input group should point to the ground truth. ocrd-dinglehopper -I OCR-D-GT,OCR-D-OCR -O OCR-D-EVAL + + + ocrd-cor-asv-ann-evaluate + +

+ + {"metric": "Levenshtein" (default), "NFC", "NFKC", "historic-latin"} + + + {"confusion": integer} + +

+ + First input group should point to the ground truth. There is no output file group, it only uses logging. If you want to save the evaluation findings in a file, you could e.g. add 2> `eval.txt` at the end of your command + ocrd-cor-asv-ann-evaluate -I OCR-D-GT,OCR-D-OCR From 23a6144f504134ee6eaac2790791139de4e9134d Mon Sep 17 00:00:00 2001 From: Konstantin Baierer Date: Fri, 24 Apr 2020 18:46:51 +0200 Subject: [PATCH 28/43] Modelle -> Schrift- und Sprachmodelle --- site/de/models.md | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/site/de/models.md b/site/de/models.md index e250d78fb..ce9e54b6f 100644 --- a/site/de/models.md +++ b/site/de/models.md @@ -23,27 +23,32 @@ Die Modelle von Google gibt es jeweils in drei Varianten: [`tessdata_fast`](https://github.com/tesseract-ocr/tessdata_fast) Diese Variante wird auch von den meisten Linux-Distributionen angeboten und ist besonders schnell bei der Texterkennung. Sie verwendet neuronale Netzwerke. + [`tessdata_best`](https://github.com/tesseract-ocr/tessdata_best) Diese Variante braucht deutlich mehr Zeit bei der Texterkennung, kann aber im Einzelfall(nicht generell!) bessere Ergebnisse liefern. Sie verwendet neuronale Netzwerke. Eigenes Training neuer Modelle auf Basis vorhandener Modelle setzt ebenfalls diese Variante voraus. + [`tessdata`](https://github.com/tesseract-ocr/tessdata) Diese Variante ist ähnlich schnell wie tessdata_fast, enthält aber zusätzlich zu den neuronalen Netzwerken auch noch die musterbasierte Zeichenerkennung von Tesseract 3. Man kann damit also zwei unterschiedliche Texterkennungsmethoden kombinieren, was in Einzelfällen zu besseren Ergebnissen führen kann. ### Schrift- und Sprachmodelle für historische Drucke + Die folgenden Modelle für Tesseract gibt es: -`deu_frak` Älteres Sprachmodell für deutsche Fraktur. Dieses Modell war mit Tesseract 3 gebräuchlich, -ist aber heute nicht mehr zu empfehlen. -`deu` Sprachmodell für deutsche Antiqua, das aber auch etwas Fraktur erkennen kann. -`frk` Sprachmodell für deutsche Fraktur, das aber auch etwas Antiqua erkennen kann. -`Latin` Schriftmodell für lateinische Antiqua-Schriften, das aber auch etwas Fraktur erkennen kann. -`Fraktur` Schriftmodell für Fraktur-Schriften, das aber auch Antiqua-Schriften ganz gut erkennt. Fehler beim -Erzeugen dieses Modells haben zur Folge, dass es kein Paragraphzeichen kennt und die Ligaturen `ch` und `ck` -häufig als Kleiner- und Größerzeichen "erkennt". + * `deu_frak` Älteres Sprachmodell für deutsche Fraktur. Dieses Modell war mit Tesseract 3 gebräuchlich, ist aber heute nicht mehr zu empfehlen. + * `deu` Sprachmodell für deutsche Antiqua, das aber auch etwas Fraktur erkennen kann. + * `frk` Sprachmodell für deutsche Fraktur, das aber auch etwas Antiqua erkennen kann. + * `Latin` Schriftmodell für lateinische Antiqua-Schriften, das aber auch etwas Fraktur erkennen kann. + * `Fraktur` Schriftmodell für Fraktur-Schriften, das aber auch Antiqua-Schriften ganz gut erkennt. Fehler beim + Erzeugen dieses Modells haben zur Folge, dass es kein Paragraphzeichen kennt und die Ligaturen `ch` und `ck` + häufig als Kleiner- und Größerzeichen "erkennt". Weitere Frakturmodelle. Ausgehend von Fraktur sind mit Hilfe von [GT4HistOCR](https://zenodo.org/record/1344132) weitere Modelle der [UB Mannheim](https://ub-backup.bib.uni-mannheim.de/~stweil/ocrd-train/data/Fraktur_5000000/) -erzeugt worden, die für ein breites Spektrum historischer Drucke gute Ergebnisse liefern. Diese Modelle können -auch kombiniert werden, was in der Regel noch bessere Ergebnisse bringt, allerdings auch dann mehr Zeit kostet. +erzeugt worden, die für ein breites Spektrum historischer Drucke gute Ergebnisse liefern. + +Schrift- und Sprachmodelle können in Tesseract auch kombiniert werden, was in +der Regel noch bessere Ergebnisse bringt, allerdings dann auch mehr Zeit +kostet. From d72f135e56e43c1b830f2cfa0fa4cb338d092b5f Mon Sep 17 00:00:00 2001 From: Konstantin Baierer Date: Fri, 24 Apr 2020 19:03:03 +0200 Subject: [PATCH 29/43] :art: format redirect call in notes --- site/en/workflows.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index b97c0a4b1..b288c5f36 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -909,7 +909,7 @@ In this processing step, the text output of the OCR or post-correction can be ev

- First input group should point to the ground truth. There is no output file group, it only uses logging. If you want to save the evaluation findings in a file, you could e.g. add 2> `eval.txt` at the end of your command + First input group should point to the ground truth. There is no output file group, it only uses logging. If you want to save the evaluation findings in a file, you could e.g. add `2> eval.txt` at the end of your command ocrd-cor-asv-ann-evaluate -I OCR-D-GT,OCR-D-OCR From d523926ba3c912179c05cbfa6ee747b11a3c1845 Mon Sep 17 00:00:00 2001 From: Konstantin Baierer Date: Fri, 24 Apr 2020 19:20:04 +0200 Subject: [PATCH 30/43] briefly describe @JKamlah/ocrd_pagetopdf --- site/en/workflows.md | 71 ++++++++++++++++++++++++++++---------------- 1 file changed, 45 insertions(+), 26 deletions(-) diff --git a/site/en/workflows.md b/site/en/workflows.md index b288c5f36..ad337a36d 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -923,48 +923,67 @@ elements etc. Optionally, the PAGE XML can be converted to a different output fo ### Step 18: Format Conversion -In this processing step the produced PAGE XML files can be converted to -ALTO, hOCR or text files. Note that ALTO and hOCR can also be converted into -different formats. +In this processing step the produced PAGE XML files can be converted to ALTO, +PDF, hOCR or text files. Note that ALTO and hOCR can also be converted into +different formats whereas the PDF version of PAGE XML OCR results is a widely +accessible format that can be used as-is by expert and layman alike. #### Available processors - + - + - - + + + + {"from-to": "alto2.0 alto3.0"} + # or {from-to: "alto2.0 alto3.1"} + # or {from-to: "alto2.0 hocr"} + # or {from-to: "alto2.1 alto3.0"} + # or {from-to: "alto2.1 alto3.1"} + # or {from-to: "alto2.1 hocr"} + # or {from-to: "alto page"} + # or {from-to: "alto text"} + # or {from-to: "gcv hocr"} + # or {from-to: "hocr alto2.0"} + # or {from-to: "hocr alto2.1"} + # or {from-to: "hocr text"} + # or {from-to: "page alto"} + # or {from-to: "page hocr"} + # or {from-to: "page text"} + + - + - + + + + + + + + +
Processor Parameter RemarksCallCall
ocrd-fileformat-transform - {"from-to": "alto2.0 alto3.0", - "alto2.0 alto3.1", - "alto2.0 hocr", - "alto2.1 alto3.0", - "alto2.1 alto3.1", - "alto2.1 hocr", - "alto page", - "alto text", - "gcv hocr", - "hocr alto2.0", - "hocr alto2.1", - "hocr text", - "page alto", - "page hocr", - "page text"} - -  ocrd-fileformat-transform -I OCR-D-OCR -O OCR-D-ALTOocrd-fileformat-transform -I OCR-D-OCR -O OCR-D-ALTO
ocrd-pagetopdf + { + "negative2zero": true, # fix (invalid) negative coordinates + "multipage": true, # create a single "fat" PDF + "textequiv_level": "word", # render text on this level + "outlines": "line" # outline lines in the PDF + } + +  ocrd-pagetopdf -I PAGE-FILGRP -O PDF-FILEGRP -p '{"textequiv_level" : "word"}'
+ # Recommendations All processors, with the exception of those for post-correction, were tested on From 11b640635189b0d74a1433a0be9e428fd7096f07 Mon Sep 17 00:00:00 2001 From: Konstantin Baierer Date: Fri, 24 Apr 2020 20:17:34 +0200 Subject: [PATCH 31/43] /de/models -> /de/modelle, formatting, models added to menu --- site/_data/menu.yml | 7 ++++++ site/de/{models.md => modelle.md} | 0 site/en/workflows.md | 40 +++++++++++++++++-------------- 3 files changed, 29 insertions(+), 18 deletions(-) rename site/de/{models.md => modelle.md} (100%) diff --git a/site/_data/menu.yml b/site/_data/menu.yml index 8baa93551..334c3ced9 100644 --- a/site/_data/menu.yml +++ b/site/_data/menu.yml @@ -72,6 +72,13 @@ menu_structure: label: en: User Guide de: Nutzeranleitung + + - url: + de: modelle + en: models + label: + de: OCR Modelle + en: OCR models - url: /en/workflows label: en: Workflows diff --git a/site/de/models.md b/site/de/modelle.md similarity index 100% rename from site/de/models.md rename to site/de/modelle.md diff --git a/site/en/workflows.md b/site/en/workflows.md index ad337a36d..bc1b454c1 100644 --- a/site/en/workflows.md +++ b/site/en/workflows.md @@ -945,20 +945,20 @@ accessible format that can be used as-is by expert and layman alike. ocrd-fileformat-transform {"from-to": "alto2.0 alto3.0"} - # or {from-to: "alto2.0 alto3.1"} - # or {from-to: "alto2.0 hocr"} - # or {from-to: "alto2.1 alto3.0"} - # or {from-to: "alto2.1 alto3.1"} - # or {from-to: "alto2.1 hocr"} - # or {from-to: "alto page"} - # or {from-to: "alto text"} - # or {from-to: "gcv hocr"} - # or {from-to: "hocr alto2.0"} - # or {from-to: "hocr alto2.1"} - # or {from-to: "hocr text"} - # or {from-to: "page alto"} - # or {from-to: "page hocr"} - # or {from-to: "page text"} +
# or {from-to: "alto2.0 alto3.1"} +
# or {from-to: "alto2.0 hocr"} +
# or {from-to: "alto2.1 alto3.0"} +
# or {from-to: "alto2.1 alto3.1"} +
# or {from-to: "alto2.1 hocr"} +
# or {from-to: "alto page"} +
# or {from-to: "alto text"} +
# or {from-to: "gcv hocr"} +
# or {from-to: "hocr alto2.0"} +
# or {from-to: "hocr alto2.1"} +
# or {from-to: "hocr text"} +
# or {from-to: "page alto"} +
# or {from-to: "page hocr"} +
# or {from-to: "page text"}
  @@ -969,10 +969,14 @@ accessible format that can be used as-is by expert and layman alike. ocrd-pagetopdf { - "negative2zero": true, # fix (invalid) negative coordinates - "multipage": true, # create a single "fat" PDF - "textequiv_level": "word", # render text on this level - "outlines": "line" # outline lines in the PDF +
# fix (invalid) negative coordinates +
"negative2zero": true, +
# create a single "fat" PDF +
"multipage": true, +
# render text on this level +
"textequiv_level": "word", +
# outline lines in the PDF +
"outlines": "line" }
From a404953bbbf1dc2aa661cb85ebb4c71180ea5e9c Mon Sep 17 00:00:00 2001 From: Konstantin Baierer Date: Fri, 24 Apr 2020 20:21:58 +0200 Subject: [PATCH 32/43] rebuild --- docs/404.html | 5 + docs/core/api/ocrd/modules.html | 5 + docs/core/api/ocrd/ocrd.cli.bashlib.html | 5 + docs/core/api/ocrd/ocrd.cli.html | 5 + docs/core/api/ocrd/ocrd.cli.ocrd_tool.html | 5 + docs/core/api/ocrd/ocrd.cli.process.html | 5 + docs/core/api/ocrd/ocrd.cli.validate.html | 5 + docs/core/api/ocrd/ocrd.cli.workspace.html | 5 + docs/core/api/ocrd/ocrd.cli.zip.html | 5 + docs/core/api/ocrd/ocrd.constants.html | 5 + docs/core/api/ocrd/ocrd.decorators.html | 5 + docs/core/api/ocrd/ocrd.html | 5 + docs/core/api/ocrd/ocrd.processor.base.html | 5 + docs/core/api/ocrd/ocrd.processor.html | 5 + docs/core/api/ocrd/ocrd.resolver.html | 5 + docs/core/api/ocrd/ocrd.task_sequence.html | 5 + docs/core/api/ocrd/ocrd.workspace.html | 5 + docs/core/api/ocrd/ocrd.workspace_backup.html | 5 + docs/core/api/ocrd/ocrd.workspace_bagger.html | 5 + docs/core/api/ocrd_modelfactory/modules.html | 5 + .../ocrd_modelfactory/ocrd_modelfactory.html | 5 + docs/core/api/ocrd_models/modules.html | 5 + .../ocrd_models/ocrd_models.constants.html | 5 + docs/core/api/ocrd_models/ocrd_models.html | 5 + .../ocrd_models/ocrd_models.ocrd_agent.html | 5 + .../ocrd_models/ocrd_models.ocrd_exif.html | 5 + .../ocrd_models/ocrd_models.ocrd_file.html | 5 + .../ocrd_models/ocrd_models.ocrd_mets.html | 5 + .../ocrd_models/ocrd_models.ocrd_page.html | 5 + .../ocrd_models.ocrd_xml_base.html | 5 + .../api/ocrd_models/ocrd_models.utils.html | 5 + docs/core/api/ocrd_utils/modules.html | 5 + .../api/ocrd_utils/ocrd_utils.constants.html | 5 + .../api/ocrd_utils/ocrd_utils.deprecate.html | 5 + docs/core/api/ocrd_utils/ocrd_utils.html | 5 + .../api/ocrd_utils/ocrd_utils.logging.html | 5 + docs/core/api/ocrd_validators/modules.html | 5 + .../ocrd_validators.constants.html | 5 + .../api/ocrd_validators/ocrd_validators.html | 5 + .../ocrd_validators.json_validator.html | 5 + .../ocrd_validators.ocrd_tool_validator.html | 5 + .../ocrd_validators.ocrd_zip_validator.html | 5 + .../ocrd_validators.page_validator.html | 5 + .../ocrd_validators.parameter_validator.html | 5 + .../ocrd_validators.report.html | 5 + .../ocrd_validators.workspace_validator.html | 5 + docs/core/genindex.html | 5 + docs/core/index.html | 5 + docs/core/py-modindex.html | 5 + docs/core/search.html | 5 + docs/de/2016/06/01/ocrd.html | 5 + docs/de/2016/12/06/staatsbibliothek.html | 5 + .../2017/03/06/modulprojektausschreibung.html | 5 + .../2018/03/28/start-der-modulprojekte.html | 5 + docs/de/2018/08/31/ocrd-verlaengert.html | 5 + docs/de/2019/05/13/datech-best-paper.html | 5 + docs/de/2019/08/09/europeanatech.html | 5 + docs/de/2019/08/23/icdar.html | 5 + .../de/2019/11/20/kooperation-mit-kitodo.html | 5 + .../volltexte-die-zukunft-alter-drucke.html | 5 + docs/de/2020/02/19/dhd.html | 5 + docs/de/2020/02/25/dfg-ausschreibung.html | 5 + docs/de/about.html | 5 + docs/de/blog.html | 5 + docs/de/contact.html | 5 + docs/de/data.html | 5 + docs/de/dev.html | 5 + docs/de/dita.html | 5 + docs/de/faq.html | 5 + docs/de/gt-guidelines/index.html | 5 + .../gt-guidelines/pagexml/Complex_Type.html | 5 + docs/de/gt-guidelines/pagexml/Element.html | 5 + .../de/gt-guidelines/pagexml/Main_schema.html | 5 + .../de/gt-guidelines/pagexml/Simple_Type.html | 5 + ..._xsd_Complex_Type_pc_AdvertRegionType.html | 5 + ..._Complex_Type_pc_AlternativeImageType.html | 5 + ...tent_xsd_Complex_Type_pc_BaselineType.html | 5 + ...ontent_xsd_Complex_Type_pc_BorderType.html | 5 + ...t_xsd_Complex_Type_pc_ChartRegionType.html | 5 + ...nt_xsd_Complex_Type_pc_ChemRegionType.html | 5 + ...ontent_xsd_Complex_Type_pc_CoordsType.html | 5 + ..._xsd_Complex_Type_pc_CustomRegionType.html | 5 + ...content_xsd_Complex_Type_pc_GlyphType.html | 5 + ..._xsd_Complex_Type_pc_GraphemeBaseType.html | 5 + ...xsd_Complex_Type_pc_GraphemeGroupType.html | 5 + ...tent_xsd_Complex_Type_pc_GraphemeType.html | 5 + ...ent_xsd_Complex_Type_pc_GraphemesType.html | 5 + ...xsd_Complex_Type_pc_GraphicRegionType.html | 5 + ...nt_xsd_Complex_Type_pc_GridPointsType.html | 5 + ...econtent_xsd_Complex_Type_pc_GridType.html | 5 + ...t_xsd_Complex_Type_pc_ImageRegionType.html | 5 + ...content_xsd_Complex_Type_pc_LabelType.html | 5 + ...ontent_xsd_Complex_Type_pc_LabelsType.html | 5 + ...content_xsd_Complex_Type_pc_LayerType.html | 5 + ...ontent_xsd_Complex_Type_pc_LayersType.html | 5 + ...Complex_Type_pc_LineDrawingRegionType.html | 5 + ...ent_xsd_Complex_Type_pc_MapRegionType.html | 5 + ...t_xsd_Complex_Type_pc_MathsRegionType.html | 5 + ..._xsd_Complex_Type_pc_MetadataItemType.html | 5 + ...tent_xsd_Complex_Type_pc_MetadataType.html | 5 + ...t_xsd_Complex_Type_pc_MusicRegionType.html | 5 + ...t_xsd_Complex_Type_pc_NoiseRegionType.html | 5 + ...d_Complex_Type_pc_NonPrintingCharType.html | 5 + ...mplex_Type_pc_OrderedGroupIndexedType.html | 5 + ..._xsd_Complex_Type_pc_OrderedGroupType.html | 5 + ...econtent_xsd_Complex_Type_pc_PageType.html | 5 + ...content_xsd_Complex_Type_pc_PcGtsType.html | 5 + ...nt_xsd_Complex_Type_pc_PrintSpaceType.html | 5 + ..._xsd_Complex_Type_pc_ReadingOrderType.html | 5 + ..._Complex_Type_pc_RegionRefIndexedType.html | 5 + ...ent_xsd_Complex_Type_pc_RegionRefType.html | 5 + ...ontent_xsd_Complex_Type_pc_RegionType.html | 5 + ...tent_xsd_Complex_Type_pc_RelationType.html | 5 + ...ent_xsd_Complex_Type_pc_RelationsType.html | 5 + ...content_xsd_Complex_Type_pc_RolesType.html | 5 + ...d_Complex_Type_pc_SeparatorRegionType.html | 5 + ...xsd_Complex_Type_pc_TableCellRoleType.html | 5 + ...t_xsd_Complex_Type_pc_TableRegionType.html | 5 + ...ent_xsd_Complex_Type_pc_TextEquivType.html | 5 + ...tent_xsd_Complex_Type_pc_TextLineType.html | 5 + ...nt_xsd_Complex_Type_pc_TextRegionType.html | 5 + ...ent_xsd_Complex_Type_pc_TextStyleType.html | 5 + ...xsd_Complex_Type_pc_UnknownRegionType.html | 5 + ...lex_Type_pc_UnorderedGroupIndexedType.html | 5 + ...sd_Complex_Type_pc_UnorderedGroupType.html | 5 + ...xsd_Complex_Type_pc_UserAttributeType.html | 5 + ...t_xsd_Complex_Type_pc_UserDefinedType.html | 5 + ...econtent_xsd_Complex_Type_pc_WordType.html | 5 + .../pagecontent_xsd_Element_pc_PcGts.html | 5 + ...ntent_xsd_Main_schema_pagecontent_xsd.html | 5 + ...nt_xsd_Simple_Type_pc_AlignSimpleType.html | 5 + ...sd_Simple_Type_pc_ChartTypeSimpleType.html | 5 + ..._Simple_Type_pc_ColourDepthSimpleType.html | 5 + ...t_xsd_Simple_Type_pc_ColourSimpleType.html | 5 + ...ent_xsd_Simple_Type_pc_ConfSimpleType.html | 5 + ...Simple_Type_pc_GraphicsTypeSimpleType.html | 5 + ...sd_Simple_Type_pc_GroupTypeSimpleType.html | 5 + ...xsd_Simple_Type_pc_LanguageSimpleType.html | 5 + ...xsd_Simple_Type_pc_PageTypeSimpleType.html | 5 + ...content_xsd_Simple_Type_pc_PointsType.html | 5 + ...d_Simple_Type_pc_ProductionSimpleType.html | 5 + ...le_Type_pc_ReadingDirectionSimpleType.html | 5 + ...t_xsd_Simple_Type_pc_ScriptSimpleType.html | 5 + ...Simple_Type_pc_TextDataTypeSimpleType.html | 5 + ...imple_Type_pc_TextLineOrderSimpleType.html | 5 + ...xsd_Simple_Type_pc_TextTypeSimpleType.html | 5 + docs/de/gt-guidelines/toc.html | 5 + .../trans/exif_pagexml_konkordanz.html | 5 + docs/de/gt-guidelines/trans/impressum.html | 5 + docs/de/gt-guidelines/trans/index.html | 5 + docs/de/gt-guidelines/trans/layout.html | 5 + docs/de/gt-guidelines/trans/leerzeichen.html | 5 + docs/de/gt-guidelines/trans/level_1_1.html | 5 + docs/de/gt-guidelines/trans/level_1_2.html | 5 + docs/de/gt-guidelines/trans/level_1_3.html | 5 + docs/de/gt-guidelines/trans/level_1_4.html | 5 + docs/de/gt-guidelines/trans/level_1_5.html | 5 + docs/de/gt-guidelines/trans/level_1_6.html | 5 + docs/de/gt-guidelines/trans/level_1_7.html | 5 + docs/de/gt-guidelines/trans/level_1_8.html | 5 + docs/de/gt-guidelines/trans/level_2_1.html | 5 + docs/de/gt-guidelines/trans/level_2_2.html | 5 + docs/de/gt-guidelines/trans/level_2_3.html | 5 + docs/de/gt-guidelines/trans/level_2_4.html | 5 + .../de/gt-guidelines/trans/level_2_und_3.html | 5 + .../gt-guidelines/trans/level_2_und_3_0.html | 5 + .../gt-guidelines/trans/level_2_und_3_1.html | 5 + .../gt-guidelines/trans/level_2_und_3_2.html | 5 + .../gt-guidelines/trans/level_2_und_3_3.html | 5 + docs/de/gt-guidelines/trans/level_3_1.html | 5 + docs/de/gt-guidelines/trans/level_3_2.html | 5 + docs/de/gt-guidelines/trans/lyAbsatz.html | 5 + docs/de/gt-guidelines/trans/lyAllgemein.html | 5 + .../gt-guidelines/trans/lyBildbereiche.html | 5 + .../gt-guidelines/trans/lyBogensignatur.html | 5 + .../trans/lyChemische_Symbole.html | 5 + .../trans/lyDiskontinuierlich.html | 5 + docs/de/gt-guidelines/trans/lyFussnote.html | 5 + docs/de/gt-guidelines/trans/lyGraphik.html | 5 + .../trans/lyInhaltsverzeichnis.html | 5 + docs/de/gt-guidelines/trans/lyInitiale.html | 5 + docs/de/gt-guidelines/trans/lyKarten.html | 5 + .../gt-guidelines/trans/lyKolumnentitel.html | 5 + docs/de/gt-guidelines/trans/lyKustode.html | 5 + .../gt-guidelines/trans/lyLeserichtung.html | 5 + docs/de/gt-guidelines/trans/lyLigatur.html | 5 + docs/de/gt-guidelines/trans/lyMarginalie.html | 5 + .../trans/lyMathematische_Zeichen.html | 5 + .../gt-guidelines/trans/lyNotenzeichen.html | 5 + docs/de/gt-guidelines/trans/lyRand.html | 5 + docs/de/gt-guidelines/trans/lyRauschen.html | 5 + docs/de/gt-guidelines/trans/lyRelationen.html | 5 + .../de/gt-guidelines/trans/lySatzspiegel.html | 5 + .../gt-guidelines/trans/lySchriftarten.html | 5 + .../de/gt-guidelines/trans/lySeitentypen.html | 5 + docs/de/gt-guidelines/trans/lySeitenzahl.html | 5 + .../de/gt-guidelines/trans/lySeparatoren.html | 5 + docs/de/gt-guidelines/trans/lySonstiges.html | 5 + docs/de/gt-guidelines/trans/lyTabellen.html | 5 + .../gt-guidelines/trans/lyTextregionen.html | 5 + .../de/gt-guidelines/trans/lyTypographie.html | 5 + .../gt-guidelines/trans/lyUeberschrift.html | 5 + docs/de/gt-guidelines/trans/lyWerbung.html | 5 + docs/de/gt-guidelines/trans/ly_level_1_5.html | 5 + docs/de/gt-guidelines/trans/ly_level_2_5.html | 5 + docs/de/gt-guidelines/trans/lytextregion.html | 5 + .../ocr_d_koordinationsgremium_codierung.html | 5 + .../trans/page_xml_erweiterungen.html | 5 + docs/de/gt-guidelines/trans/structur_gt.html | 5 + .../trans/structur_gtdefinition.html | 5 + .../trans/structur_gtgrundlage.html | 5 + .../trans/structur_gtpageformat.html | 5 + .../trans/structurmets2page.html | 5 + docs/de/gt-guidelines/trans/trAnfZeichen.html | 5 + docs/de/gt-guidelines/trans/trBeispiele.html | 5 + docs/de/gt-guidelines/trans/trBruch.html | 5 + docs/de/gt-guidelines/trans/trDiakritika.html | 5 + .../trans/trDokuKonventionen.html | 5 + .../gt-guidelines/trans/trFremdsprache.html | 5 + .../gt-guidelines/trans/trGedankenstrich.html | 5 + .../de/gt-guidelines/trans/trGrundsaetze.html | 5 + .../de/gt-guidelines/trans/trHandschrift.html | 5 + .../trans/trHochgestellteZahl.html | 5 + docs/de/gt-guidelines/trans/trLigatur.html | 5 + docs/de/gt-guidelines/trans/trLigaturen2.html | 5 + .../de/gt-guidelines/trans/trNasalstrich.html | 5 + docs/de/gt-guidelines/trans/trPage.html | 5 + docs/de/gt-guidelines/trans/trRom.html | 5 + .../gt-guidelines/trans/trSchreibungIJ.html | 5 + .../de/gt-guidelines/trans/trSchreibungR.html | 5 + .../de/gt-guidelines/trans/trSchreibungS.html | 5 + .../gt-guidelines/trans/trSchreibungUV.html | 5 + .../gt-guidelines/trans/trSchreibweisen.html | 5 + .../gt-guidelines/trans/trSilbentrennung.html | 5 + .../gt-guidelines/trans/trSonderzeichen.html | 5 + docs/de/gt-guidelines/trans/trTabellen.html | 5 + docs/de/gt-guidelines/trans/trUmlaute.html | 5 + .../gt-guidelines/trans/trZeichensetzung.html | 5 + .../trans/tr_compareLevel1_3.html | 5 + .../gt-guidelines/trans/tr_dia_level_1_0.html | 5 + .../gt-guidelines/trans/tr_dia_level_2_0.html | 5 + .../gt-guidelines/trans/tr_dia_level_3_0.html | 5 + docs/de/gt-guidelines/trans/tr_level_1.html | 5 + docs/de/gt-guidelines/trans/tr_level_1_3.html | 5 + docs/de/gt-guidelines/trans/tr_level_1_4.html | 5 + docs/de/gt-guidelines/trans/tr_level_2.html | 5 + docs/de/gt-guidelines/trans/tr_level_2_3.html | 5 + docs/de/gt-guidelines/trans/tr_level_2_4.html | 5 + docs/de/gt-guidelines/trans/tr_level_3.html | 5 + docs/de/gt-guidelines/trans/tr_level_3_4.html | 5 + .../gt-guidelines/trans/tr_nasal_level_1.html | 5 + .../gt-guidelines/trans/tr_nasal_level_2.html | 5 + .../gt-guidelines/trans/tr_nasal_level_3.html | 5 + .../de/gt-guidelines/trans/transkription.html | 5 + .../trans/trtiefgestellteZahl.html | 5 + docs/de/impressum.html | 5 + docs/de/index.html | 5 + docs/de/modelle.md | 54 ++ docs/de/module-projects.html | 5 + docs/de/publications.html | 5 + docs/de/spec/CHANGELOG.html | 5 + docs/de/spec/README.html | 5 + docs/de/spec/cli.html | 5 + docs/de/spec/docker.html | 5 + docs/de/spec/glossary.html | 5 + docs/de/spec/index.html | 5 + docs/de/spec/intro.html | 5 + docs/de/spec/logging.html | 5 + docs/de/spec/mets.html | 5 + docs/de/spec/ocrd_tool.html | 5 + docs/de/spec/ocrd_zip.html | 5 + docs/de/spec/page.html | 5 + docs/de/spec/provenance.html | 5 + docs/de/teststellung.html | 5 + docs/de/use.html | 5 + docs/de/user_survey.html | 5 + docs/en/2016/06/01/ocrd.html | 5 + docs/en/2016/12/06/staatsbibliothek.html | 5 + .../2017/03/06/modulprojektausschreibung.html | 5 + .../2018/03/28/start-der-modulprojekte.html | 5 + docs/en/2018/08/31/ocrd-verlaengert.html | 5 + docs/en/2019/05/13/datech-best-paper.html | 5 + docs/en/2019/08/09/europeanatech.html | 5 + docs/en/2019/08/23/icdar.html | 5 + .../en/2019/11/20/kooperation-mit-kitodo.html | 5 + .../volltexte-die-zukunft-alter-drucke.html | 5 + docs/en/2020/02/19/dhd.html | 5 + docs/en/2020/02/25/dfg-call.html | 5 + docs/en/about.html | 5 + docs/en/blog.html | 5 + docs/en/contact.html | 5 + docs/en/cookbook.html | 5 + docs/en/data.html | 5 + docs/en/dev.html | 5 + docs/en/developer-guide.html | 5 + docs/en/dita.html | 5 + docs/en/example_mets.html | 5 + docs/en/faq.html | 5 + docs/en/gt-guidelines/index.html | 5 + .../gt-guidelines/pagexml/Complex_Type.html | 5 + docs/en/gt-guidelines/pagexml/Element.html | 5 + .../en/gt-guidelines/pagexml/Main_schema.html | 5 + .../en/gt-guidelines/pagexml/Simple_Type.html | 5 + ..._xsd_Complex_Type_pc_AdvertRegionType.html | 5 + ..._Complex_Type_pc_AlternativeImageType.html | 5 + ...tent_xsd_Complex_Type_pc_BaselineType.html | 5 + ...ontent_xsd_Complex_Type_pc_BorderType.html | 5 + ...t_xsd_Complex_Type_pc_ChartRegionType.html | 5 + ...nt_xsd_Complex_Type_pc_ChemRegionType.html | 5 + ...ontent_xsd_Complex_Type_pc_CoordsType.html | 5 + ..._xsd_Complex_Type_pc_CustomRegionType.html | 5 + ...content_xsd_Complex_Type_pc_GlyphType.html | 5 + ..._xsd_Complex_Type_pc_GraphemeBaseType.html | 5 + ...xsd_Complex_Type_pc_GraphemeGroupType.html | 5 + ...tent_xsd_Complex_Type_pc_GraphemeType.html | 5 + ...ent_xsd_Complex_Type_pc_GraphemesType.html | 5 + ...xsd_Complex_Type_pc_GraphicRegionType.html | 5 + ...nt_xsd_Complex_Type_pc_GridPointsType.html | 5 + ...econtent_xsd_Complex_Type_pc_GridType.html | 5 + ...t_xsd_Complex_Type_pc_ImageRegionType.html | 5 + ...content_xsd_Complex_Type_pc_LabelType.html | 5 + ...ontent_xsd_Complex_Type_pc_LabelsType.html | 5 + ...content_xsd_Complex_Type_pc_LayerType.html | 5 + ...ontent_xsd_Complex_Type_pc_LayersType.html | 5 + ...Complex_Type_pc_LineDrawingRegionType.html | 5 + ...ent_xsd_Complex_Type_pc_MapRegionType.html | 5 + ...t_xsd_Complex_Type_pc_MathsRegionType.html | 5 + ..._xsd_Complex_Type_pc_MetadataItemType.html | 5 + ...tent_xsd_Complex_Type_pc_MetadataType.html | 5 + ...t_xsd_Complex_Type_pc_MusicRegionType.html | 5 + ...t_xsd_Complex_Type_pc_NoiseRegionType.html | 5 + ...d_Complex_Type_pc_NonPrintingCharType.html | 5 + ...mplex_Type_pc_OrderedGroupIndexedType.html | 5 + ..._xsd_Complex_Type_pc_OrderedGroupType.html | 5 + ...econtent_xsd_Complex_Type_pc_PageType.html | 5 + ...content_xsd_Complex_Type_pc_PcGtsType.html | 5 + ...nt_xsd_Complex_Type_pc_PrintSpaceType.html | 5 + ..._xsd_Complex_Type_pc_ReadingOrderType.html | 5 + ..._Complex_Type_pc_RegionRefIndexedType.html | 5 + ...ent_xsd_Complex_Type_pc_RegionRefType.html | 5 + ...ontent_xsd_Complex_Type_pc_RegionType.html | 5 + ...tent_xsd_Complex_Type_pc_RelationType.html | 5 + ...ent_xsd_Complex_Type_pc_RelationsType.html | 5 + ...content_xsd_Complex_Type_pc_RolesType.html | 5 + ...d_Complex_Type_pc_SeparatorRegionType.html | 5 + ...xsd_Complex_Type_pc_TableCellRoleType.html | 5 + ...t_xsd_Complex_Type_pc_TableRegionType.html | 5 + ...ent_xsd_Complex_Type_pc_TextEquivType.html | 5 + ...tent_xsd_Complex_Type_pc_TextLineType.html | 5 + ...nt_xsd_Complex_Type_pc_TextRegionType.html | 5 + ...ent_xsd_Complex_Type_pc_TextStyleType.html | 5 + ...xsd_Complex_Type_pc_UnknownRegionType.html | 5 + ...lex_Type_pc_UnorderedGroupIndexedType.html | 5 + ...sd_Complex_Type_pc_UnorderedGroupType.html | 5 + ...xsd_Complex_Type_pc_UserAttributeType.html | 5 + ...t_xsd_Complex_Type_pc_UserDefinedType.html | 5 + ...econtent_xsd_Complex_Type_pc_WordType.html | 5 + .../pagecontent_xsd_Element_pc_PcGts.html | 5 + ...ntent_xsd_Main_schema_pagecontent_xsd.html | 5 + ...nt_xsd_Simple_Type_pc_AlignSimpleType.html | 5 + ...sd_Simple_Type_pc_ChartTypeSimpleType.html | 5 + ..._Simple_Type_pc_ColourDepthSimpleType.html | 5 + ...t_xsd_Simple_Type_pc_ColourSimpleType.html | 5 + ...ent_xsd_Simple_Type_pc_ConfSimpleType.html | 5 + ...Simple_Type_pc_GraphicsTypeSimpleType.html | 5 + ...sd_Simple_Type_pc_GroupTypeSimpleType.html | 5 + ...xsd_Simple_Type_pc_LanguageSimpleType.html | 5 + ...xsd_Simple_Type_pc_PageTypeSimpleType.html | 5 + ...content_xsd_Simple_Type_pc_PointsType.html | 5 + ...d_Simple_Type_pc_ProductionSimpleType.html | 5 + ...le_Type_pc_ReadingDirectionSimpleType.html | 5 + ...t_xsd_Simple_Type_pc_ScriptSimpleType.html | 5 + ...Simple_Type_pc_TextDataTypeSimpleType.html | 5 + ...imple_Type_pc_TextLineOrderSimpleType.html | 5 + ...xsd_Simple_Type_pc_TextTypeSimpleType.html | 5 + docs/en/gt-guidelines/toc.html | 5 + .../trans/exif_pagexml_konkordanz.html | 5 + docs/en/gt-guidelines/trans/impressum.html | 5 + docs/en/gt-guidelines/trans/index.html | 5 + docs/en/gt-guidelines/trans/layout.html | 5 + docs/en/gt-guidelines/trans/leerzeichen.html | 5 + docs/en/gt-guidelines/trans/level_1_1.html | 5 + docs/en/gt-guidelines/trans/level_1_2.html | 5 + docs/en/gt-guidelines/trans/level_1_3.html | 5 + docs/en/gt-guidelines/trans/level_1_4.html | 5 + docs/en/gt-guidelines/trans/level_1_5.html | 5 + docs/en/gt-guidelines/trans/level_1_6.html | 5 + docs/en/gt-guidelines/trans/level_1_7.html | 5 + docs/en/gt-guidelines/trans/level_1_8.html | 5 + docs/en/gt-guidelines/trans/level_2_1.html | 5 + docs/en/gt-guidelines/trans/level_2_2.html | 5 + docs/en/gt-guidelines/trans/level_2_3.html | 5 + docs/en/gt-guidelines/trans/level_2_4.html | 5 + .../en/gt-guidelines/trans/level_2_und_3.html | 5 + .../gt-guidelines/trans/level_2_und_3_0.html | 5 + .../gt-guidelines/trans/level_2_und_3_1.html | 5 + .../gt-guidelines/trans/level_2_und_3_2.html | 5 + docs/en/gt-guidelines/trans/level_3_1.html | 5 + docs/en/gt-guidelines/trans/level_3_2.html | 5 + docs/en/gt-guidelines/trans/lyAbsatz.html | 5 + docs/en/gt-guidelines/trans/lyAllgemein.html | 5 + .../gt-guidelines/trans/lyBildbereiche.html | 5 + .../gt-guidelines/trans/lyBogensignatur.html | 5 + .../trans/lyChemische_Symbole.html | 5 + .../trans/lyDiskontinuierlich.html | 5 + docs/en/gt-guidelines/trans/lyFussnote.html | 5 + docs/en/gt-guidelines/trans/lyGraphik.html | 5 + .../trans/lyInhaltsverzeichnis.html | 5 + docs/en/gt-guidelines/trans/lyInitiale.html | 5 + docs/en/gt-guidelines/trans/lyKarten.html | 5 + .../gt-guidelines/trans/lyKolumnentitel.html | 5 + docs/en/gt-guidelines/trans/lyKustode.html | 5 + .../gt-guidelines/trans/lyLeserichtung.html | 5 + docs/en/gt-guidelines/trans/lyLigatur.html | 5 + docs/en/gt-guidelines/trans/lyMarginalie.html | 5 + .../trans/lyMathematische_Zeichen.html | 5 + .../gt-guidelines/trans/lyNotenzeichen.html | 5 + docs/en/gt-guidelines/trans/lyRand.html | 5 + docs/en/gt-guidelines/trans/lyRauschen.html | 5 + docs/en/gt-guidelines/trans/lyRelationen.html | 5 + .../en/gt-guidelines/trans/lySatzspiegel.html | 5 + .../gt-guidelines/trans/lySchriftarten.html | 5 + .../en/gt-guidelines/trans/lySeitentypen.html | 5 + docs/en/gt-guidelines/trans/lySeitenzahl.html | 5 + .../en/gt-guidelines/trans/lySeparatoren.html | 5 + docs/en/gt-guidelines/trans/lySonstiges.html | 5 + docs/en/gt-guidelines/trans/lyTabellen.html | 5 + .../gt-guidelines/trans/lyTextregionen.html | 5 + .../en/gt-guidelines/trans/lyTypographie.html | 5 + .../gt-guidelines/trans/lyUeberschrift.html | 5 + docs/en/gt-guidelines/trans/lyWerbung.html | 5 + docs/en/gt-guidelines/trans/ly_level_1_5.html | 5 + docs/en/gt-guidelines/trans/ly_level_2_5.html | 5 + docs/en/gt-guidelines/trans/lytextregion.html | 5 + .../ocr_d_koordinationsgremium_codierung.html | 5 + .../trans/page_xml_erweiterungen.html | 5 + docs/en/gt-guidelines/trans/structur_gt.html | 5 + .../trans/structur_gtdefinition.html | 5 + .../trans/structur_gtgrundlage.html | 5 + .../trans/structur_gtpageformat.html | 5 + .../trans/structurmets2page.html | 5 + docs/en/gt-guidelines/trans/trAnfZeichen.html | 5 + docs/en/gt-guidelines/trans/trBeispiele.html | 5 + docs/en/gt-guidelines/trans/trBruch.html | 5 + docs/en/gt-guidelines/trans/trDiakritika.html | 5 + .../trans/trDokuKonventionen.html | 5 + .../gt-guidelines/trans/trFremdsprache.html | 5 + .../gt-guidelines/trans/trGedankenstrich.html | 5 + .../en/gt-guidelines/trans/trGrundsaetze.html | 5 + .../en/gt-guidelines/trans/trHandschrift.html | 5 + .../trans/trHochgestellteZahl.html | 5 + docs/en/gt-guidelines/trans/trLigatur.html | 5 + docs/en/gt-guidelines/trans/trLigaturen2.html | 5 + .../en/gt-guidelines/trans/trNasalstrich.html | 5 + docs/en/gt-guidelines/trans/trPage.html | 5 + docs/en/gt-guidelines/trans/trRom.html | 5 + .../gt-guidelines/trans/trSchreibungIJ.html | 5 + .../en/gt-guidelines/trans/trSchreibungR.html | 5 + .../en/gt-guidelines/trans/trSchreibungS.html | 5 + .../gt-guidelines/trans/trSchreibungUV.html | 5 + .../gt-guidelines/trans/trSchreibweisen.html | 5 + .../gt-guidelines/trans/trSilbentrennung.html | 5 + .../gt-guidelines/trans/trSonderzeichen.html | 5 + docs/en/gt-guidelines/trans/trTabellen.html | 5 + docs/en/gt-guidelines/trans/trUmlaute.html | 5 + .../gt-guidelines/trans/trZeichensetzung.html | 5 + .../trans/tr_compareLevel1_3.html | 5 + .../gt-guidelines/trans/tr_dia_level_1_0.html | 5 + .../gt-guidelines/trans/tr_dia_level_2_0.html | 5 + .../gt-guidelines/trans/tr_dia_level_3_0.html | 5 + docs/en/gt-guidelines/trans/tr_level_1.html | 5 + docs/en/gt-guidelines/trans/tr_level_1_3.html | 5 + docs/en/gt-guidelines/trans/tr_level_1_4.html | 5 + docs/en/gt-guidelines/trans/tr_level_2.html | 5 + docs/en/gt-guidelines/trans/tr_level_2_3.html | 5 + docs/en/gt-guidelines/trans/tr_level_2_4.html | 5 + docs/en/gt-guidelines/trans/tr_level_3.html | 5 + docs/en/gt-guidelines/trans/tr_level_3_4.html | 5 + .../gt-guidelines/trans/tr_nasal_level_1.html | 5 + .../gt-guidelines/trans/tr_nasal_level_2.html | 5 + .../gt-guidelines/trans/tr_nasal_level_3.html | 5 + .../en/gt-guidelines/trans/transkription.html | 5 + .../trans/trtiefgestellteZahl.html | 5 + docs/en/imprint.html | 5 + docs/en/index.html | 5 + docs/en/initial-tests.html | 5 + docs/en/kwalitee.html | 5 + docs/en/module-processors.html | 5 + docs/en/module-projects.html | 5 + docs/en/ocrd-gt-repo.html | 5 + docs/en/platforms.html | 5 + docs/en/project-summary.html | 5 + docs/en/project.html | 5 + docs/en/publications.html | 5 + docs/en/setup.html | 5 + docs/en/spec/CHANGELOG.html | 5 + docs/en/spec/README.html | 5 + docs/en/spec/cli.html | 5 + docs/en/spec/docker.html | 5 + docs/en/spec/glossary.html | 5 + docs/en/spec/index.html | 5 + docs/en/spec/intro.html | 5 + docs/en/spec/logging.html | 5 + docs/en/spec/mets.html | 5 + docs/en/spec/ocrd_tool.html | 5 + docs/en/spec/ocrd_zip.html | 5 + docs/en/spec/page.html | 5 + docs/en/spec/provenance.html | 5 + docs/en/use.html | 5 + docs/en/user_guide.html | 5 + docs/en/user_survey.html | 5 + docs/en/workflows.html | 557 ++++++++++++------ docs/feed.xml | 2 +- docs/index.html | 5 + docs/search-index.json | 2 +- docs/search.html | 5 + docs/slides/2019-03-25-dhd/index.html | 5 + .../2019-03-25-dhd/praxis-existing-mets.html | 5 + .../2019-03-25-dhd/praxis-new-mets.html | 5 + .../2019-03-25-dhd/praxis-ocrd-zip.html | 5 + docs/slides/2019-03-25-dhd/setup-time.html | 5 + 521 files changed, 3033 insertions(+), 167 deletions(-) create mode 100644 docs/de/modelle.md diff --git a/docs/404.html b/docs/404.html index 024431540..fb330c2d4 100644 --- a/docs/404.html +++ b/docs/404.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd/modules.html b/docs/core/api/ocrd/modules.html index 1455d8901..b7ac880eb 100644 --- a/docs/core/api/ocrd/modules.html +++ b/docs/core/api/ocrd/modules.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd/ocrd.cli.bashlib.html b/docs/core/api/ocrd/ocrd.cli.bashlib.html index 095287ee0..593fdc8f6 100644 --- a/docs/core/api/ocrd/ocrd.cli.bashlib.html +++ b/docs/core/api/ocrd/ocrd.cli.bashlib.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd/ocrd.cli.html b/docs/core/api/ocrd/ocrd.cli.html index 93888de8c..a0ce30758 100644 --- a/docs/core/api/ocrd/ocrd.cli.html +++ b/docs/core/api/ocrd/ocrd.cli.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd/ocrd.cli.ocrd_tool.html b/docs/core/api/ocrd/ocrd.cli.ocrd_tool.html index 48595726f..ebf03da5b 100644 --- a/docs/core/api/ocrd/ocrd.cli.ocrd_tool.html +++ b/docs/core/api/ocrd/ocrd.cli.ocrd_tool.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd/ocrd.cli.process.html b/docs/core/api/ocrd/ocrd.cli.process.html index 03adb310e..9394d4125 100644 --- a/docs/core/api/ocrd/ocrd.cli.process.html +++ b/docs/core/api/ocrd/ocrd.cli.process.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd/ocrd.cli.validate.html b/docs/core/api/ocrd/ocrd.cli.validate.html index e50e8808d..1a387314d 100644 --- a/docs/core/api/ocrd/ocrd.cli.validate.html +++ b/docs/core/api/ocrd/ocrd.cli.validate.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd/ocrd.cli.workspace.html b/docs/core/api/ocrd/ocrd.cli.workspace.html index 44565e9ef..a42be44ae 100644 --- a/docs/core/api/ocrd/ocrd.cli.workspace.html +++ b/docs/core/api/ocrd/ocrd.cli.workspace.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd/ocrd.cli.zip.html b/docs/core/api/ocrd/ocrd.cli.zip.html index 64bcb95f5..971385bee 100644 --- a/docs/core/api/ocrd/ocrd.cli.zip.html +++ b/docs/core/api/ocrd/ocrd.cli.zip.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd/ocrd.constants.html b/docs/core/api/ocrd/ocrd.constants.html index 966250e3b..54ac14f3d 100644 --- a/docs/core/api/ocrd/ocrd.constants.html +++ b/docs/core/api/ocrd/ocrd.constants.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd/ocrd.decorators.html b/docs/core/api/ocrd/ocrd.decorators.html index 7395a9b1d..913e3f2ba 100644 --- a/docs/core/api/ocrd/ocrd.decorators.html +++ b/docs/core/api/ocrd/ocrd.decorators.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd/ocrd.html b/docs/core/api/ocrd/ocrd.html index 355e7f1d7..caf0be647 100644 --- a/docs/core/api/ocrd/ocrd.html +++ b/docs/core/api/ocrd/ocrd.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd/ocrd.processor.base.html b/docs/core/api/ocrd/ocrd.processor.base.html index ab5a08d3b..f01df08ff 100644 --- a/docs/core/api/ocrd/ocrd.processor.base.html +++ b/docs/core/api/ocrd/ocrd.processor.base.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd/ocrd.processor.html b/docs/core/api/ocrd/ocrd.processor.html index 856e6a8c4..38d7998f2 100644 --- a/docs/core/api/ocrd/ocrd.processor.html +++ b/docs/core/api/ocrd/ocrd.processor.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd/ocrd.resolver.html b/docs/core/api/ocrd/ocrd.resolver.html index 23745edd3..ed43db6b7 100644 --- a/docs/core/api/ocrd/ocrd.resolver.html +++ b/docs/core/api/ocrd/ocrd.resolver.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd/ocrd.task_sequence.html b/docs/core/api/ocrd/ocrd.task_sequence.html index a984ca26d..cce37aeb4 100644 --- a/docs/core/api/ocrd/ocrd.task_sequence.html +++ b/docs/core/api/ocrd/ocrd.task_sequence.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd/ocrd.workspace.html b/docs/core/api/ocrd/ocrd.workspace.html index 4cf989e0b..b109d264e 100644 --- a/docs/core/api/ocrd/ocrd.workspace.html +++ b/docs/core/api/ocrd/ocrd.workspace.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd/ocrd.workspace_backup.html b/docs/core/api/ocrd/ocrd.workspace_backup.html index 431a8fc77..6803fbcc7 100644 --- a/docs/core/api/ocrd/ocrd.workspace_backup.html +++ b/docs/core/api/ocrd/ocrd.workspace_backup.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd/ocrd.workspace_bagger.html b/docs/core/api/ocrd/ocrd.workspace_bagger.html index 7c0378897..44311b506 100644 --- a/docs/core/api/ocrd/ocrd.workspace_bagger.html +++ b/docs/core/api/ocrd/ocrd.workspace_bagger.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_modelfactory/modules.html b/docs/core/api/ocrd_modelfactory/modules.html index 1a3007c08..98eb6e5be 100644 --- a/docs/core/api/ocrd_modelfactory/modules.html +++ b/docs/core/api/ocrd_modelfactory/modules.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_modelfactory/ocrd_modelfactory.html b/docs/core/api/ocrd_modelfactory/ocrd_modelfactory.html index ab7324d48..a7601ef3e 100644 --- a/docs/core/api/ocrd_modelfactory/ocrd_modelfactory.html +++ b/docs/core/api/ocrd_modelfactory/ocrd_modelfactory.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_models/modules.html b/docs/core/api/ocrd_models/modules.html index fc7660124..206068170 100644 --- a/docs/core/api/ocrd_models/modules.html +++ b/docs/core/api/ocrd_models/modules.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_models/ocrd_models.constants.html b/docs/core/api/ocrd_models/ocrd_models.constants.html index 57dee0acf..c386039b7 100644 --- a/docs/core/api/ocrd_models/ocrd_models.constants.html +++ b/docs/core/api/ocrd_models/ocrd_models.constants.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_models/ocrd_models.html b/docs/core/api/ocrd_models/ocrd_models.html index 3102e672d..f76c4a818 100644 --- a/docs/core/api/ocrd_models/ocrd_models.html +++ b/docs/core/api/ocrd_models/ocrd_models.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_models/ocrd_models.ocrd_agent.html b/docs/core/api/ocrd_models/ocrd_models.ocrd_agent.html index 293b9a078..e2d67b2f8 100644 --- a/docs/core/api/ocrd_models/ocrd_models.ocrd_agent.html +++ b/docs/core/api/ocrd_models/ocrd_models.ocrd_agent.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_models/ocrd_models.ocrd_exif.html b/docs/core/api/ocrd_models/ocrd_models.ocrd_exif.html index aefa3ddee..27ecbfe0b 100644 --- a/docs/core/api/ocrd_models/ocrd_models.ocrd_exif.html +++ b/docs/core/api/ocrd_models/ocrd_models.ocrd_exif.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_models/ocrd_models.ocrd_file.html b/docs/core/api/ocrd_models/ocrd_models.ocrd_file.html index 462b1e8da..459e2425a 100644 --- a/docs/core/api/ocrd_models/ocrd_models.ocrd_file.html +++ b/docs/core/api/ocrd_models/ocrd_models.ocrd_file.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_models/ocrd_models.ocrd_mets.html b/docs/core/api/ocrd_models/ocrd_models.ocrd_mets.html index a4d116c08..5873ae98c 100644 --- a/docs/core/api/ocrd_models/ocrd_models.ocrd_mets.html +++ b/docs/core/api/ocrd_models/ocrd_models.ocrd_mets.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_models/ocrd_models.ocrd_page.html b/docs/core/api/ocrd_models/ocrd_models.ocrd_page.html index a793d658c..478c33de0 100644 --- a/docs/core/api/ocrd_models/ocrd_models.ocrd_page.html +++ b/docs/core/api/ocrd_models/ocrd_models.ocrd_page.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_models/ocrd_models.ocrd_xml_base.html b/docs/core/api/ocrd_models/ocrd_models.ocrd_xml_base.html index 147dc8676..8c964712a 100644 --- a/docs/core/api/ocrd_models/ocrd_models.ocrd_xml_base.html +++ b/docs/core/api/ocrd_models/ocrd_models.ocrd_xml_base.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_models/ocrd_models.utils.html b/docs/core/api/ocrd_models/ocrd_models.utils.html index 81d98096e..b09708b1c 100644 --- a/docs/core/api/ocrd_models/ocrd_models.utils.html +++ b/docs/core/api/ocrd_models/ocrd_models.utils.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_utils/modules.html b/docs/core/api/ocrd_utils/modules.html index 080737c7f..0b22eb3fa 100644 --- a/docs/core/api/ocrd_utils/modules.html +++ b/docs/core/api/ocrd_utils/modules.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_utils/ocrd_utils.constants.html b/docs/core/api/ocrd_utils/ocrd_utils.constants.html index 4c04ff1ac..c8edba50a 100644 --- a/docs/core/api/ocrd_utils/ocrd_utils.constants.html +++ b/docs/core/api/ocrd_utils/ocrd_utils.constants.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_utils/ocrd_utils.deprecate.html b/docs/core/api/ocrd_utils/ocrd_utils.deprecate.html index 83659aee7..c03524b17 100644 --- a/docs/core/api/ocrd_utils/ocrd_utils.deprecate.html +++ b/docs/core/api/ocrd_utils/ocrd_utils.deprecate.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_utils/ocrd_utils.html b/docs/core/api/ocrd_utils/ocrd_utils.html index ee25b2a59..50733f3a9 100644 --- a/docs/core/api/ocrd_utils/ocrd_utils.html +++ b/docs/core/api/ocrd_utils/ocrd_utils.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_utils/ocrd_utils.logging.html b/docs/core/api/ocrd_utils/ocrd_utils.logging.html index d1b3fe15b..04b12fbee 100644 --- a/docs/core/api/ocrd_utils/ocrd_utils.logging.html +++ b/docs/core/api/ocrd_utils/ocrd_utils.logging.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_validators/modules.html b/docs/core/api/ocrd_validators/modules.html index b37c8ddb0..7e1f454b3 100644 --- a/docs/core/api/ocrd_validators/modules.html +++ b/docs/core/api/ocrd_validators/modules.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_validators/ocrd_validators.constants.html b/docs/core/api/ocrd_validators/ocrd_validators.constants.html index 6f4d93ef0..4b010b483 100644 --- a/docs/core/api/ocrd_validators/ocrd_validators.constants.html +++ b/docs/core/api/ocrd_validators/ocrd_validators.constants.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_validators/ocrd_validators.html b/docs/core/api/ocrd_validators/ocrd_validators.html index bfad35c83..2e0f84949 100644 --- a/docs/core/api/ocrd_validators/ocrd_validators.html +++ b/docs/core/api/ocrd_validators/ocrd_validators.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_validators/ocrd_validators.json_validator.html b/docs/core/api/ocrd_validators/ocrd_validators.json_validator.html index f674f0359..397e7a7ca 100644 --- a/docs/core/api/ocrd_validators/ocrd_validators.json_validator.html +++ b/docs/core/api/ocrd_validators/ocrd_validators.json_validator.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_validators/ocrd_validators.ocrd_tool_validator.html b/docs/core/api/ocrd_validators/ocrd_validators.ocrd_tool_validator.html index 4a341895e..27ebf31ee 100644 --- a/docs/core/api/ocrd_validators/ocrd_validators.ocrd_tool_validator.html +++ b/docs/core/api/ocrd_validators/ocrd_validators.ocrd_tool_validator.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_validators/ocrd_validators.ocrd_zip_validator.html b/docs/core/api/ocrd_validators/ocrd_validators.ocrd_zip_validator.html index 17b2137be..99cff84e4 100644 --- a/docs/core/api/ocrd_validators/ocrd_validators.ocrd_zip_validator.html +++ b/docs/core/api/ocrd_validators/ocrd_validators.ocrd_zip_validator.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_validators/ocrd_validators.page_validator.html b/docs/core/api/ocrd_validators/ocrd_validators.page_validator.html index ab49f3f96..d4afc36c4 100644 --- a/docs/core/api/ocrd_validators/ocrd_validators.page_validator.html +++ b/docs/core/api/ocrd_validators/ocrd_validators.page_validator.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_validators/ocrd_validators.parameter_validator.html b/docs/core/api/ocrd_validators/ocrd_validators.parameter_validator.html index cb09dbbd0..6bfdbc749 100644 --- a/docs/core/api/ocrd_validators/ocrd_validators.parameter_validator.html +++ b/docs/core/api/ocrd_validators/ocrd_validators.parameter_validator.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_validators/ocrd_validators.report.html b/docs/core/api/ocrd_validators/ocrd_validators.report.html index 6c126015c..5ea894636 100644 --- a/docs/core/api/ocrd_validators/ocrd_validators.report.html +++ b/docs/core/api/ocrd_validators/ocrd_validators.report.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/api/ocrd_validators/ocrd_validators.workspace_validator.html b/docs/core/api/ocrd_validators/ocrd_validators.workspace_validator.html index a75eb2f8b..14afdde0a 100644 --- a/docs/core/api/ocrd_validators/ocrd_validators.workspace_validator.html +++ b/docs/core/api/ocrd_validators/ocrd_validators.workspace_validator.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/genindex.html b/docs/core/genindex.html index 297e982f3..ef36e0e98 100644 --- a/docs/core/genindex.html +++ b/docs/core/genindex.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/index.html b/docs/core/index.html index 6369c21b4..f60eeac6f 100644 --- a/docs/core/index.html +++ b/docs/core/index.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/py-modindex.html b/docs/core/py-modindex.html index fef6bdccb..b06df413a 100644 --- a/docs/core/py-modindex.html +++ b/docs/core/py-modindex.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/core/search.html b/docs/core/search.html index 89f5cc642..24a776ccb 100644 --- a/docs/core/search.html +++ b/docs/core/search.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/de/2016/06/01/ocrd.html b/docs/de/2016/06/01/ocrd.html index 415ef0a5b..c4cda6cfa 100644 --- a/docs/de/2016/06/01/ocrd.html +++ b/docs/de/2016/06/01/ocrd.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/2016/12/06/staatsbibliothek.html b/docs/de/2016/12/06/staatsbibliothek.html index 09390283a..3d789b768 100644 --- a/docs/de/2016/12/06/staatsbibliothek.html +++ b/docs/de/2016/12/06/staatsbibliothek.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/2017/03/06/modulprojektausschreibung.html b/docs/de/2017/03/06/modulprojektausschreibung.html index 3b94bd26a..73971a40b 100644 --- a/docs/de/2017/03/06/modulprojektausschreibung.html +++ b/docs/de/2017/03/06/modulprojektausschreibung.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/2018/03/28/start-der-modulprojekte.html b/docs/de/2018/03/28/start-der-modulprojekte.html index ba1765d5f..02a2d7dda 100644 --- a/docs/de/2018/03/28/start-der-modulprojekte.html +++ b/docs/de/2018/03/28/start-der-modulprojekte.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/2018/08/31/ocrd-verlaengert.html b/docs/de/2018/08/31/ocrd-verlaengert.html index e1d9aaefe..014d6e5ee 100644 --- a/docs/de/2018/08/31/ocrd-verlaengert.html +++ b/docs/de/2018/08/31/ocrd-verlaengert.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/2019/05/13/datech-best-paper.html b/docs/de/2019/05/13/datech-best-paper.html index 8ac1743e9..038250fd0 100644 --- a/docs/de/2019/05/13/datech-best-paper.html +++ b/docs/de/2019/05/13/datech-best-paper.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/2019/08/09/europeanatech.html b/docs/de/2019/08/09/europeanatech.html index 93cf4c48e..203d0b6ee 100644 --- a/docs/de/2019/08/09/europeanatech.html +++ b/docs/de/2019/08/09/europeanatech.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/2019/08/23/icdar.html b/docs/de/2019/08/23/icdar.html index 58e01334e..2766c305d 100644 --- a/docs/de/2019/08/23/icdar.html +++ b/docs/de/2019/08/23/icdar.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/2019/11/20/kooperation-mit-kitodo.html b/docs/de/2019/11/20/kooperation-mit-kitodo.html index 2f58c4442..b3ee0e0e0 100644 --- a/docs/de/2019/11/20/kooperation-mit-kitodo.html +++ b/docs/de/2019/11/20/kooperation-mit-kitodo.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/2020/02/03/volltexte-die-zukunft-alter-drucke.html b/docs/de/2020/02/03/volltexte-die-zukunft-alter-drucke.html index e9a66cafc..94323f383 100644 --- a/docs/de/2020/02/03/volltexte-die-zukunft-alter-drucke.html +++ b/docs/de/2020/02/03/volltexte-die-zukunft-alter-drucke.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/2020/02/19/dhd.html b/docs/de/2020/02/19/dhd.html index f43e7a4af..1518bca3e 100644 --- a/docs/de/2020/02/19/dhd.html +++ b/docs/de/2020/02/19/dhd.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/2020/02/25/dfg-ausschreibung.html b/docs/de/2020/02/25/dfg-ausschreibung.html index bf3554480..797d59049 100644 --- a/docs/de/2020/02/25/dfg-ausschreibung.html +++ b/docs/de/2020/02/25/dfg-ausschreibung.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/about.html b/docs/de/about.html index c31d7d1d3..d39a36413 100644 --- a/docs/de/about.html +++ b/docs/de/about.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/blog.html b/docs/de/blog.html index 0ac7f6801..1c309adcb 100644 --- a/docs/de/blog.html +++ b/docs/de/blog.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/contact.html b/docs/de/contact.html index ecd647d0e..3dc0aba6b 100644 --- a/docs/de/contact.html +++ b/docs/de/contact.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/data.html b/docs/de/data.html index c4c693139..3fa979097 100644 --- a/docs/de/data.html +++ b/docs/de/data.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/dev.html b/docs/de/dev.html index d52816f75..c7ac1a561 100644 --- a/docs/de/dev.html +++ b/docs/de/dev.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/dita.html b/docs/de/dita.html index cd742a184..2088cd587 100644 --- a/docs/de/dita.html +++ b/docs/de/dita.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/faq.html b/docs/de/faq.html index 7c6f163f0..e57690206 100644 --- a/docs/de/faq.html +++ b/docs/de/faq.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/index.html b/docs/de/gt-guidelines/index.html index e166000f1..e32b158b6 100644 --- a/docs/de/gt-guidelines/index.html +++ b/docs/de/gt-guidelines/index.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/Complex_Type.html b/docs/de/gt-guidelines/pagexml/Complex_Type.html index 1ccfcb94b..6dcc46bc0 100644 --- a/docs/de/gt-guidelines/pagexml/Complex_Type.html +++ b/docs/de/gt-guidelines/pagexml/Complex_Type.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/Element.html b/docs/de/gt-guidelines/pagexml/Element.html index 671a03b2b..c0aad6e4c 100644 --- a/docs/de/gt-guidelines/pagexml/Element.html +++ b/docs/de/gt-guidelines/pagexml/Element.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/Main_schema.html b/docs/de/gt-guidelines/pagexml/Main_schema.html index f60107273..64d5c62c0 100644 --- a/docs/de/gt-guidelines/pagexml/Main_schema.html +++ b/docs/de/gt-guidelines/pagexml/Main_schema.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/Simple_Type.html b/docs/de/gt-guidelines/pagexml/Simple_Type.html index 11e651ff0..30b93219d 100644 --- a/docs/de/gt-guidelines/pagexml/Simple_Type.html +++ b/docs/de/gt-guidelines/pagexml/Simple_Type.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_AdvertRegionType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_AdvertRegionType.html index 15e5abe8a..c1f0216c4 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_AdvertRegionType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_AdvertRegionType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_AlternativeImageType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_AlternativeImageType.html index 8f291f841..0025721fb 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_AlternativeImageType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_AlternativeImageType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_BaselineType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_BaselineType.html index 1bbb0efba..2435b9c4c 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_BaselineType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_BaselineType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_BorderType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_BorderType.html index c1981f7ae..627937b32 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_BorderType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_BorderType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ChartRegionType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ChartRegionType.html index 351ebd12b..e9b28c785 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ChartRegionType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ChartRegionType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ChemRegionType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ChemRegionType.html index 25c52af11..0a4d6d6a8 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ChemRegionType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ChemRegionType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_CoordsType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_CoordsType.html index b8215f8e2..331edc1a5 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_CoordsType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_CoordsType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_CustomRegionType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_CustomRegionType.html index ea39f5c83..7df82c5b7 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_CustomRegionType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_CustomRegionType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GlyphType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GlyphType.html index 210cba833..269b4c0e8 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GlyphType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GlyphType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeBaseType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeBaseType.html index 11071250e..8158ae875 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeBaseType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeBaseType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeGroupType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeGroupType.html index ab85fd06d..95c1c562c 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeGroupType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeGroupType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeType.html index a1a26455f..f52d2485c 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemesType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemesType.html index 183e31270..4fd3025f3 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemesType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemesType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphicRegionType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphicRegionType.html index a181dacc1..d3dd8aebc 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphicRegionType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphicRegionType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GridPointsType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GridPointsType.html index 1a381b885..27b0523c3 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GridPointsType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GridPointsType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GridType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GridType.html index 5d9b1a608..a313f4617 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GridType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GridType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ImageRegionType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ImageRegionType.html index 54c5be28d..963ae3c06 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ImageRegionType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ImageRegionType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LabelType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LabelType.html index 3237fdba6..cb4083a22 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LabelType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LabelType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LabelsType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LabelsType.html index cdb546c00..925e9a1da 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LabelsType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LabelsType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LayerType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LayerType.html index 99ff0c21f..4efeeff58 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LayerType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LayerType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LayersType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LayersType.html index d3488c742..f51dc7895 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LayersType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LayersType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LineDrawingRegionType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LineDrawingRegionType.html index 2d388eda6..439d4c012 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LineDrawingRegionType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LineDrawingRegionType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MapRegionType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MapRegionType.html index 6f52cbe41..b1c84b81e 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MapRegionType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MapRegionType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MathsRegionType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MathsRegionType.html index 160cf4341..395c56b09 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MathsRegionType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MathsRegionType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MetadataItemType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MetadataItemType.html index cb34f3413..cf177230f 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MetadataItemType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MetadataItemType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MetadataType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MetadataType.html index 26317f78b..acf0d04b0 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MetadataType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MetadataType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MusicRegionType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MusicRegionType.html index bb3b2d49d..c5c0cf874 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MusicRegionType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MusicRegionType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_NoiseRegionType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_NoiseRegionType.html index 8c7d99b0b..42672029e 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_NoiseRegionType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_NoiseRegionType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_NonPrintingCharType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_NonPrintingCharType.html index 2df612593..285a952b2 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_NonPrintingCharType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_NonPrintingCharType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_OrderedGroupIndexedType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_OrderedGroupIndexedType.html index 08df592b2..70c3ad3a7 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_OrderedGroupIndexedType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_OrderedGroupIndexedType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_OrderedGroupType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_OrderedGroupType.html index aed952b1c..a5c3df461 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_OrderedGroupType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_OrderedGroupType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PageType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PageType.html index 6eaf4c362..c3ee3d40d 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PageType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PageType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PcGtsType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PcGtsType.html index 7e6881f42..40b1e30b8 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PcGtsType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PcGtsType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PrintSpaceType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PrintSpaceType.html index 87e5eb39e..0683ab131 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PrintSpaceType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PrintSpaceType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ReadingOrderType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ReadingOrderType.html index dddeb8090..0700223f5 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ReadingOrderType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ReadingOrderType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionRefIndexedType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionRefIndexedType.html index 345b8eff9..a843b4ccb 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionRefIndexedType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionRefIndexedType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionRefType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionRefType.html index a965e75b2..cde2df1b7 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionRefType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionRefType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionType.html index 20ea38fa9..324de5139 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RelationType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RelationType.html index e6b5860dd..555b4b3f2 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RelationType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RelationType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RelationsType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RelationsType.html index cc95fc919..301af2f05 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RelationsType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RelationsType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RolesType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RolesType.html index 536c082f9..445869ebf 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RolesType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RolesType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_SeparatorRegionType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_SeparatorRegionType.html index 3d5d5ebf7..ffbbc976c 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_SeparatorRegionType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_SeparatorRegionType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TableCellRoleType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TableCellRoleType.html index 3cc3ef55c..d2948960e 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TableCellRoleType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TableCellRoleType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TableRegionType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TableRegionType.html index 826ace9c4..432040207 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TableRegionType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TableRegionType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextEquivType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextEquivType.html index ed3b22933..d163ddc93 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextEquivType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextEquivType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextLineType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextLineType.html index 2ae9d9596..0d700d61b 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextLineType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextLineType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextRegionType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextRegionType.html index 9e79d3ceb..b5c4bd34a 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextRegionType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextRegionType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextStyleType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextStyleType.html index a79cd59fe..768a42563 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextStyleType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextStyleType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnknownRegionType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnknownRegionType.html index ed858b485..7fe4b08bf 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnknownRegionType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnknownRegionType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnorderedGroupIndexedType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnorderedGroupIndexedType.html index ae6852c00..163c4f1ef 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnorderedGroupIndexedType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnorderedGroupIndexedType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnorderedGroupType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnorderedGroupType.html index 732647c20..663dbd718 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnorderedGroupType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnorderedGroupType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UserAttributeType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UserAttributeType.html index 1a510bf6e..a69b34499 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UserAttributeType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UserAttributeType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UserDefinedType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UserDefinedType.html index 53c37fa39..18e9272dc 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UserDefinedType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UserDefinedType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_WordType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_WordType.html index 5cd9e5e75..46ff15abc 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_WordType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_WordType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Element_pc_PcGts.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Element_pc_PcGts.html index 17ce0d573..0e75587e3 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Element_pc_PcGts.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Element_pc_PcGts.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Main_schema_pagecontent_xsd.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Main_schema_pagecontent_xsd.html index 61a73e7a5..91d62a163 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Main_schema_pagecontent_xsd.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Main_schema_pagecontent_xsd.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_AlignSimpleType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_AlignSimpleType.html index 80eebc313..b06b00ebf 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_AlignSimpleType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_AlignSimpleType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ChartTypeSimpleType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ChartTypeSimpleType.html index f88c7e70b..b6615101a 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ChartTypeSimpleType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ChartTypeSimpleType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ColourDepthSimpleType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ColourDepthSimpleType.html index 07d0b0a7f..f30208e7b 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ColourDepthSimpleType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ColourDepthSimpleType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ColourSimpleType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ColourSimpleType.html index fd03b7ea3..7986c9f59 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ColourSimpleType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ColourSimpleType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ConfSimpleType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ConfSimpleType.html index 837ca2fba..7111c1491 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ConfSimpleType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ConfSimpleType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_GraphicsTypeSimpleType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_GraphicsTypeSimpleType.html index 2f84b6646..12dc7cdf3 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_GraphicsTypeSimpleType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_GraphicsTypeSimpleType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_GroupTypeSimpleType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_GroupTypeSimpleType.html index 5dc22d616..a1802729f 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_GroupTypeSimpleType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_GroupTypeSimpleType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_LanguageSimpleType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_LanguageSimpleType.html index dd87c0c5c..b4857e522 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_LanguageSimpleType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_LanguageSimpleType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_PageTypeSimpleType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_PageTypeSimpleType.html index 323f44dce..8c72c656d 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_PageTypeSimpleType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_PageTypeSimpleType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_PointsType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_PointsType.html index cf85f711f..422d69f89 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_PointsType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_PointsType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ProductionSimpleType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ProductionSimpleType.html index f1bcb75fc..918808cbd 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ProductionSimpleType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ProductionSimpleType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ReadingDirectionSimpleType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ReadingDirectionSimpleType.html index 1e98c8e3a..4691889ef 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ReadingDirectionSimpleType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ReadingDirectionSimpleType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ScriptSimpleType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ScriptSimpleType.html index bc71b7587..d832e22ab 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ScriptSimpleType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ScriptSimpleType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextDataTypeSimpleType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextDataTypeSimpleType.html index ea8b3711c..593a5ce03 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextDataTypeSimpleType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextDataTypeSimpleType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextLineOrderSimpleType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextLineOrderSimpleType.html index 4a8ed7a64..d1cb08d3e 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextLineOrderSimpleType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextLineOrderSimpleType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextTypeSimpleType.html b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextTypeSimpleType.html index 1d67baf7d..e4caa77df 100644 --- a/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextTypeSimpleType.html +++ b/docs/de/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextTypeSimpleType.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/toc.html b/docs/de/gt-guidelines/toc.html index 9ec33b5c0..369ec3ed7 100644 --- a/docs/de/gt-guidelines/toc.html +++ b/docs/de/gt-guidelines/toc.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/exif_pagexml_konkordanz.html b/docs/de/gt-guidelines/trans/exif_pagexml_konkordanz.html index 60ccf9c49..41f484f44 100644 --- a/docs/de/gt-guidelines/trans/exif_pagexml_konkordanz.html +++ b/docs/de/gt-guidelines/trans/exif_pagexml_konkordanz.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/impressum.html b/docs/de/gt-guidelines/trans/impressum.html index ef506c9e7..ed75ddb7e 100644 --- a/docs/de/gt-guidelines/trans/impressum.html +++ b/docs/de/gt-guidelines/trans/impressum.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/index.html b/docs/de/gt-guidelines/trans/index.html index 43b507fb5..fe3820147 100644 --- a/docs/de/gt-guidelines/trans/index.html +++ b/docs/de/gt-guidelines/trans/index.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/layout.html b/docs/de/gt-guidelines/trans/layout.html index 2607790c8..0b9c62338 100644 --- a/docs/de/gt-guidelines/trans/layout.html +++ b/docs/de/gt-guidelines/trans/layout.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/leerzeichen.html b/docs/de/gt-guidelines/trans/leerzeichen.html index 6da4ed346..3ba7b689e 100644 --- a/docs/de/gt-guidelines/trans/leerzeichen.html +++ b/docs/de/gt-guidelines/trans/leerzeichen.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/level_1_1.html b/docs/de/gt-guidelines/trans/level_1_1.html index 3381d0952..f9b566219 100644 --- a/docs/de/gt-guidelines/trans/level_1_1.html +++ b/docs/de/gt-guidelines/trans/level_1_1.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/level_1_2.html b/docs/de/gt-guidelines/trans/level_1_2.html index 13baef318..15aed0f31 100644 --- a/docs/de/gt-guidelines/trans/level_1_2.html +++ b/docs/de/gt-guidelines/trans/level_1_2.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/level_1_3.html b/docs/de/gt-guidelines/trans/level_1_3.html index 3b07e09f1..455eeec64 100644 --- a/docs/de/gt-guidelines/trans/level_1_3.html +++ b/docs/de/gt-guidelines/trans/level_1_3.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/level_1_4.html b/docs/de/gt-guidelines/trans/level_1_4.html index e84511089..73f571b59 100644 --- a/docs/de/gt-guidelines/trans/level_1_4.html +++ b/docs/de/gt-guidelines/trans/level_1_4.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/level_1_5.html b/docs/de/gt-guidelines/trans/level_1_5.html index 29e9c3714..4402de020 100644 --- a/docs/de/gt-guidelines/trans/level_1_5.html +++ b/docs/de/gt-guidelines/trans/level_1_5.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/level_1_6.html b/docs/de/gt-guidelines/trans/level_1_6.html index 32758a0b6..dde103883 100644 --- a/docs/de/gt-guidelines/trans/level_1_6.html +++ b/docs/de/gt-guidelines/trans/level_1_6.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/level_1_7.html b/docs/de/gt-guidelines/trans/level_1_7.html index c06e0fb41..7f1fde920 100644 --- a/docs/de/gt-guidelines/trans/level_1_7.html +++ b/docs/de/gt-guidelines/trans/level_1_7.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/level_1_8.html b/docs/de/gt-guidelines/trans/level_1_8.html index a9d0f5392..2db2fe177 100644 --- a/docs/de/gt-guidelines/trans/level_1_8.html +++ b/docs/de/gt-guidelines/trans/level_1_8.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/level_2_1.html b/docs/de/gt-guidelines/trans/level_2_1.html index e76becbce..857fa22af 100644 --- a/docs/de/gt-guidelines/trans/level_2_1.html +++ b/docs/de/gt-guidelines/trans/level_2_1.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/level_2_2.html b/docs/de/gt-guidelines/trans/level_2_2.html index 0b7d6aa5a..d5f6a4d27 100644 --- a/docs/de/gt-guidelines/trans/level_2_2.html +++ b/docs/de/gt-guidelines/trans/level_2_2.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/level_2_3.html b/docs/de/gt-guidelines/trans/level_2_3.html index 08ec58882..99128a627 100644 --- a/docs/de/gt-guidelines/trans/level_2_3.html +++ b/docs/de/gt-guidelines/trans/level_2_3.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/level_2_4.html b/docs/de/gt-guidelines/trans/level_2_4.html index 1124b8405..fc977773a 100644 --- a/docs/de/gt-guidelines/trans/level_2_4.html +++ b/docs/de/gt-guidelines/trans/level_2_4.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/level_2_und_3.html b/docs/de/gt-guidelines/trans/level_2_und_3.html index 61a81ecdf..893192e24 100644 --- a/docs/de/gt-guidelines/trans/level_2_und_3.html +++ b/docs/de/gt-guidelines/trans/level_2_und_3.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/level_2_und_3_0.html b/docs/de/gt-guidelines/trans/level_2_und_3_0.html index ddcc2ed26..ef04c176d 100644 --- a/docs/de/gt-guidelines/trans/level_2_und_3_0.html +++ b/docs/de/gt-guidelines/trans/level_2_und_3_0.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/level_2_und_3_1.html b/docs/de/gt-guidelines/trans/level_2_und_3_1.html index 30021b407..db2fb5518 100644 --- a/docs/de/gt-guidelines/trans/level_2_und_3_1.html +++ b/docs/de/gt-guidelines/trans/level_2_und_3_1.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/level_2_und_3_2.html b/docs/de/gt-guidelines/trans/level_2_und_3_2.html index 2b65058bb..562aa8468 100644 --- a/docs/de/gt-guidelines/trans/level_2_und_3_2.html +++ b/docs/de/gt-guidelines/trans/level_2_und_3_2.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/level_2_und_3_3.html b/docs/de/gt-guidelines/trans/level_2_und_3_3.html index 581e1543b..c92d772c4 100644 --- a/docs/de/gt-guidelines/trans/level_2_und_3_3.html +++ b/docs/de/gt-guidelines/trans/level_2_und_3_3.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/level_3_1.html b/docs/de/gt-guidelines/trans/level_3_1.html index b100913ea..3b6e98740 100644 --- a/docs/de/gt-guidelines/trans/level_3_1.html +++ b/docs/de/gt-guidelines/trans/level_3_1.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/level_3_2.html b/docs/de/gt-guidelines/trans/level_3_2.html index 174ef3504..bdf8fa09d 100644 --- a/docs/de/gt-guidelines/trans/level_3_2.html +++ b/docs/de/gt-guidelines/trans/level_3_2.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyAbsatz.html b/docs/de/gt-guidelines/trans/lyAbsatz.html index 6e499e229..1e83442e2 100644 --- a/docs/de/gt-guidelines/trans/lyAbsatz.html +++ b/docs/de/gt-guidelines/trans/lyAbsatz.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyAllgemein.html b/docs/de/gt-guidelines/trans/lyAllgemein.html index f910043bf..51905fb37 100644 --- a/docs/de/gt-guidelines/trans/lyAllgemein.html +++ b/docs/de/gt-guidelines/trans/lyAllgemein.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyBildbereiche.html b/docs/de/gt-guidelines/trans/lyBildbereiche.html index bf042e5eb..6e8bad53b 100644 --- a/docs/de/gt-guidelines/trans/lyBildbereiche.html +++ b/docs/de/gt-guidelines/trans/lyBildbereiche.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyBogensignatur.html b/docs/de/gt-guidelines/trans/lyBogensignatur.html index d1c61fda3..34dd21100 100644 --- a/docs/de/gt-guidelines/trans/lyBogensignatur.html +++ b/docs/de/gt-guidelines/trans/lyBogensignatur.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyChemische_Symbole.html b/docs/de/gt-guidelines/trans/lyChemische_Symbole.html index b0df57261..b0da140e4 100644 --- a/docs/de/gt-guidelines/trans/lyChemische_Symbole.html +++ b/docs/de/gt-guidelines/trans/lyChemische_Symbole.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyDiskontinuierlich.html b/docs/de/gt-guidelines/trans/lyDiskontinuierlich.html index a8bbd82cc..e80f655ec 100644 --- a/docs/de/gt-guidelines/trans/lyDiskontinuierlich.html +++ b/docs/de/gt-guidelines/trans/lyDiskontinuierlich.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyFussnote.html b/docs/de/gt-guidelines/trans/lyFussnote.html index 616b9f0cf..4d1d99359 100644 --- a/docs/de/gt-guidelines/trans/lyFussnote.html +++ b/docs/de/gt-guidelines/trans/lyFussnote.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyGraphik.html b/docs/de/gt-guidelines/trans/lyGraphik.html index 639aa5a95..0180e254e 100644 --- a/docs/de/gt-guidelines/trans/lyGraphik.html +++ b/docs/de/gt-guidelines/trans/lyGraphik.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyInhaltsverzeichnis.html b/docs/de/gt-guidelines/trans/lyInhaltsverzeichnis.html index 2639c829c..2cd229a27 100644 --- a/docs/de/gt-guidelines/trans/lyInhaltsverzeichnis.html +++ b/docs/de/gt-guidelines/trans/lyInhaltsverzeichnis.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyInitiale.html b/docs/de/gt-guidelines/trans/lyInitiale.html index 67cd33b00..e674fdc5f 100644 --- a/docs/de/gt-guidelines/trans/lyInitiale.html +++ b/docs/de/gt-guidelines/trans/lyInitiale.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyKarten.html b/docs/de/gt-guidelines/trans/lyKarten.html index a9d3c0132..0ebf70a49 100644 --- a/docs/de/gt-guidelines/trans/lyKarten.html +++ b/docs/de/gt-guidelines/trans/lyKarten.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyKolumnentitel.html b/docs/de/gt-guidelines/trans/lyKolumnentitel.html index dc5e1a293..f2cbf3ba7 100644 --- a/docs/de/gt-guidelines/trans/lyKolumnentitel.html +++ b/docs/de/gt-guidelines/trans/lyKolumnentitel.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyKustode.html b/docs/de/gt-guidelines/trans/lyKustode.html index e014a2c71..66d73d300 100644 --- a/docs/de/gt-guidelines/trans/lyKustode.html +++ b/docs/de/gt-guidelines/trans/lyKustode.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyLeserichtung.html b/docs/de/gt-guidelines/trans/lyLeserichtung.html index c06bfd5b8..d84b4a88d 100644 --- a/docs/de/gt-guidelines/trans/lyLeserichtung.html +++ b/docs/de/gt-guidelines/trans/lyLeserichtung.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyLigatur.html b/docs/de/gt-guidelines/trans/lyLigatur.html index a4efc5f53..55962a393 100644 --- a/docs/de/gt-guidelines/trans/lyLigatur.html +++ b/docs/de/gt-guidelines/trans/lyLigatur.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyMarginalie.html b/docs/de/gt-guidelines/trans/lyMarginalie.html index aba22d652..8797ce894 100644 --- a/docs/de/gt-guidelines/trans/lyMarginalie.html +++ b/docs/de/gt-guidelines/trans/lyMarginalie.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyMathematische_Zeichen.html b/docs/de/gt-guidelines/trans/lyMathematische_Zeichen.html index a088aa154..8cb4b0bab 100644 --- a/docs/de/gt-guidelines/trans/lyMathematische_Zeichen.html +++ b/docs/de/gt-guidelines/trans/lyMathematische_Zeichen.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyNotenzeichen.html b/docs/de/gt-guidelines/trans/lyNotenzeichen.html index 03de15bec..0dbb12954 100644 --- a/docs/de/gt-guidelines/trans/lyNotenzeichen.html +++ b/docs/de/gt-guidelines/trans/lyNotenzeichen.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyRand.html b/docs/de/gt-guidelines/trans/lyRand.html index 65d511012..ffe58ea0f 100644 --- a/docs/de/gt-guidelines/trans/lyRand.html +++ b/docs/de/gt-guidelines/trans/lyRand.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyRauschen.html b/docs/de/gt-guidelines/trans/lyRauschen.html index fb5f90e67..3ba3c458d 100644 --- a/docs/de/gt-guidelines/trans/lyRauschen.html +++ b/docs/de/gt-guidelines/trans/lyRauschen.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyRelationen.html b/docs/de/gt-guidelines/trans/lyRelationen.html index a2f341063..97ae7c963 100644 --- a/docs/de/gt-guidelines/trans/lyRelationen.html +++ b/docs/de/gt-guidelines/trans/lyRelationen.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lySatzspiegel.html b/docs/de/gt-guidelines/trans/lySatzspiegel.html index 33d3fd6d3..c776df725 100644 --- a/docs/de/gt-guidelines/trans/lySatzspiegel.html +++ b/docs/de/gt-guidelines/trans/lySatzspiegel.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lySchriftarten.html b/docs/de/gt-guidelines/trans/lySchriftarten.html index 6c7cdfa3e..31574b594 100644 --- a/docs/de/gt-guidelines/trans/lySchriftarten.html +++ b/docs/de/gt-guidelines/trans/lySchriftarten.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lySeitentypen.html b/docs/de/gt-guidelines/trans/lySeitentypen.html index 24b570acf..c09000572 100644 --- a/docs/de/gt-guidelines/trans/lySeitentypen.html +++ b/docs/de/gt-guidelines/trans/lySeitentypen.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lySeitenzahl.html b/docs/de/gt-guidelines/trans/lySeitenzahl.html index 327e358ea..941bfa24d 100644 --- a/docs/de/gt-guidelines/trans/lySeitenzahl.html +++ b/docs/de/gt-guidelines/trans/lySeitenzahl.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lySeparatoren.html b/docs/de/gt-guidelines/trans/lySeparatoren.html index 4b906e0af..daca66cf5 100644 --- a/docs/de/gt-guidelines/trans/lySeparatoren.html +++ b/docs/de/gt-guidelines/trans/lySeparatoren.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lySonstiges.html b/docs/de/gt-guidelines/trans/lySonstiges.html index 7d82a6b38..14f975fb6 100644 --- a/docs/de/gt-guidelines/trans/lySonstiges.html +++ b/docs/de/gt-guidelines/trans/lySonstiges.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyTabellen.html b/docs/de/gt-guidelines/trans/lyTabellen.html index f58957a1d..70b428446 100644 --- a/docs/de/gt-guidelines/trans/lyTabellen.html +++ b/docs/de/gt-guidelines/trans/lyTabellen.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyTextregionen.html b/docs/de/gt-guidelines/trans/lyTextregionen.html index 9b3ddebf3..04a1e374b 100644 --- a/docs/de/gt-guidelines/trans/lyTextregionen.html +++ b/docs/de/gt-guidelines/trans/lyTextregionen.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyTypographie.html b/docs/de/gt-guidelines/trans/lyTypographie.html index 19b1fe652..777b05b00 100644 --- a/docs/de/gt-guidelines/trans/lyTypographie.html +++ b/docs/de/gt-guidelines/trans/lyTypographie.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyUeberschrift.html b/docs/de/gt-guidelines/trans/lyUeberschrift.html index 44e0dce85..91d432485 100644 --- a/docs/de/gt-guidelines/trans/lyUeberschrift.html +++ b/docs/de/gt-guidelines/trans/lyUeberschrift.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lyWerbung.html b/docs/de/gt-guidelines/trans/lyWerbung.html index b1bb51c2f..4aa41c7e6 100644 --- a/docs/de/gt-guidelines/trans/lyWerbung.html +++ b/docs/de/gt-guidelines/trans/lyWerbung.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/ly_level_1_5.html b/docs/de/gt-guidelines/trans/ly_level_1_5.html index 2f7a97e32..6f4eee918 100644 --- a/docs/de/gt-guidelines/trans/ly_level_1_5.html +++ b/docs/de/gt-guidelines/trans/ly_level_1_5.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/ly_level_2_5.html b/docs/de/gt-guidelines/trans/ly_level_2_5.html index 80dd63f2b..048d2f44d 100644 --- a/docs/de/gt-guidelines/trans/ly_level_2_5.html +++ b/docs/de/gt-guidelines/trans/ly_level_2_5.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/lytextregion.html b/docs/de/gt-guidelines/trans/lytextregion.html index 9fa70832c..dc0877e32 100644 --- a/docs/de/gt-guidelines/trans/lytextregion.html +++ b/docs/de/gt-guidelines/trans/lytextregion.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/ocr_d_koordinationsgremium_codierung.html b/docs/de/gt-guidelines/trans/ocr_d_koordinationsgremium_codierung.html index 01a3c4196..5d3ecbad7 100644 --- a/docs/de/gt-guidelines/trans/ocr_d_koordinationsgremium_codierung.html +++ b/docs/de/gt-guidelines/trans/ocr_d_koordinationsgremium_codierung.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/page_xml_erweiterungen.html b/docs/de/gt-guidelines/trans/page_xml_erweiterungen.html index 5189929ea..1fb4ade68 100644 --- a/docs/de/gt-guidelines/trans/page_xml_erweiterungen.html +++ b/docs/de/gt-guidelines/trans/page_xml_erweiterungen.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/structur_gt.html b/docs/de/gt-guidelines/trans/structur_gt.html index 245a6d583..e1897c3d0 100644 --- a/docs/de/gt-guidelines/trans/structur_gt.html +++ b/docs/de/gt-guidelines/trans/structur_gt.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/structur_gtdefinition.html b/docs/de/gt-guidelines/trans/structur_gtdefinition.html index 11c7f1484..bd995a0db 100644 --- a/docs/de/gt-guidelines/trans/structur_gtdefinition.html +++ b/docs/de/gt-guidelines/trans/structur_gtdefinition.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/structur_gtgrundlage.html b/docs/de/gt-guidelines/trans/structur_gtgrundlage.html index 71607a29a..8a5fe9d8f 100644 --- a/docs/de/gt-guidelines/trans/structur_gtgrundlage.html +++ b/docs/de/gt-guidelines/trans/structur_gtgrundlage.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/structur_gtpageformat.html b/docs/de/gt-guidelines/trans/structur_gtpageformat.html index fe318271d..36ef4ae63 100644 --- a/docs/de/gt-guidelines/trans/structur_gtpageformat.html +++ b/docs/de/gt-guidelines/trans/structur_gtpageformat.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/structurmets2page.html b/docs/de/gt-guidelines/trans/structurmets2page.html index f5c1561b6..2cc8193cc 100644 --- a/docs/de/gt-guidelines/trans/structurmets2page.html +++ b/docs/de/gt-guidelines/trans/structurmets2page.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trAnfZeichen.html b/docs/de/gt-guidelines/trans/trAnfZeichen.html index c010c6130..d9ab382d4 100644 --- a/docs/de/gt-guidelines/trans/trAnfZeichen.html +++ b/docs/de/gt-guidelines/trans/trAnfZeichen.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trBeispiele.html b/docs/de/gt-guidelines/trans/trBeispiele.html index d399c41b2..e70460f8d 100644 --- a/docs/de/gt-guidelines/trans/trBeispiele.html +++ b/docs/de/gt-guidelines/trans/trBeispiele.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trBruch.html b/docs/de/gt-guidelines/trans/trBruch.html index f61ae0b44..91bf66756 100644 --- a/docs/de/gt-guidelines/trans/trBruch.html +++ b/docs/de/gt-guidelines/trans/trBruch.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trDiakritika.html b/docs/de/gt-guidelines/trans/trDiakritika.html index bedf2d14f..a87c995b1 100644 --- a/docs/de/gt-guidelines/trans/trDiakritika.html +++ b/docs/de/gt-guidelines/trans/trDiakritika.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trDokuKonventionen.html b/docs/de/gt-guidelines/trans/trDokuKonventionen.html index e5036bf99..635082914 100644 --- a/docs/de/gt-guidelines/trans/trDokuKonventionen.html +++ b/docs/de/gt-guidelines/trans/trDokuKonventionen.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trFremdsprache.html b/docs/de/gt-guidelines/trans/trFremdsprache.html index b87ba08a9..b86920e21 100644 --- a/docs/de/gt-guidelines/trans/trFremdsprache.html +++ b/docs/de/gt-guidelines/trans/trFremdsprache.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trGedankenstrich.html b/docs/de/gt-guidelines/trans/trGedankenstrich.html index 65cdff15c..54ac2358c 100644 --- a/docs/de/gt-guidelines/trans/trGedankenstrich.html +++ b/docs/de/gt-guidelines/trans/trGedankenstrich.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trGrundsaetze.html b/docs/de/gt-guidelines/trans/trGrundsaetze.html index ecd2cc5d2..ef69dbc9a 100644 --- a/docs/de/gt-guidelines/trans/trGrundsaetze.html +++ b/docs/de/gt-guidelines/trans/trGrundsaetze.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trHandschrift.html b/docs/de/gt-guidelines/trans/trHandschrift.html index 6610eec35..39af8e118 100644 --- a/docs/de/gt-guidelines/trans/trHandschrift.html +++ b/docs/de/gt-guidelines/trans/trHandschrift.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trHochgestellteZahl.html b/docs/de/gt-guidelines/trans/trHochgestellteZahl.html index ed5139956..25d0571cf 100644 --- a/docs/de/gt-guidelines/trans/trHochgestellteZahl.html +++ b/docs/de/gt-guidelines/trans/trHochgestellteZahl.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trLigatur.html b/docs/de/gt-guidelines/trans/trLigatur.html index 15d5e721b..6f7ab747b 100644 --- a/docs/de/gt-guidelines/trans/trLigatur.html +++ b/docs/de/gt-guidelines/trans/trLigatur.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trLigaturen2.html b/docs/de/gt-guidelines/trans/trLigaturen2.html index 0d51ff438..e42defa0e 100644 --- a/docs/de/gt-guidelines/trans/trLigaturen2.html +++ b/docs/de/gt-guidelines/trans/trLigaturen2.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trNasalstrich.html b/docs/de/gt-guidelines/trans/trNasalstrich.html index d295ca8ab..0b7720cdf 100644 --- a/docs/de/gt-guidelines/trans/trNasalstrich.html +++ b/docs/de/gt-guidelines/trans/trNasalstrich.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trPage.html b/docs/de/gt-guidelines/trans/trPage.html index 08a4cfd50..74876e80e 100644 --- a/docs/de/gt-guidelines/trans/trPage.html +++ b/docs/de/gt-guidelines/trans/trPage.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trRom.html b/docs/de/gt-guidelines/trans/trRom.html index 3d0f806d9..5f71e0d93 100644 --- a/docs/de/gt-guidelines/trans/trRom.html +++ b/docs/de/gt-guidelines/trans/trRom.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trSchreibungIJ.html b/docs/de/gt-guidelines/trans/trSchreibungIJ.html index a75ab5be5..1994bf82d 100644 --- a/docs/de/gt-guidelines/trans/trSchreibungIJ.html +++ b/docs/de/gt-guidelines/trans/trSchreibungIJ.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trSchreibungR.html b/docs/de/gt-guidelines/trans/trSchreibungR.html index 2820b1026..513c1eda4 100644 --- a/docs/de/gt-guidelines/trans/trSchreibungR.html +++ b/docs/de/gt-guidelines/trans/trSchreibungR.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trSchreibungS.html b/docs/de/gt-guidelines/trans/trSchreibungS.html index ab011b2b4..75398204d 100644 --- a/docs/de/gt-guidelines/trans/trSchreibungS.html +++ b/docs/de/gt-guidelines/trans/trSchreibungS.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trSchreibungUV.html b/docs/de/gt-guidelines/trans/trSchreibungUV.html index 3b1f4c4d6..f201bc052 100644 --- a/docs/de/gt-guidelines/trans/trSchreibungUV.html +++ b/docs/de/gt-guidelines/trans/trSchreibungUV.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trSchreibweisen.html b/docs/de/gt-guidelines/trans/trSchreibweisen.html index f674cd533..6a028c890 100644 --- a/docs/de/gt-guidelines/trans/trSchreibweisen.html +++ b/docs/de/gt-guidelines/trans/trSchreibweisen.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trSilbentrennung.html b/docs/de/gt-guidelines/trans/trSilbentrennung.html index b6d3bf742..1a4fea44b 100644 --- a/docs/de/gt-guidelines/trans/trSilbentrennung.html +++ b/docs/de/gt-guidelines/trans/trSilbentrennung.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trSonderzeichen.html b/docs/de/gt-guidelines/trans/trSonderzeichen.html index 698e6484a..fd9e25bac 100644 --- a/docs/de/gt-guidelines/trans/trSonderzeichen.html +++ b/docs/de/gt-guidelines/trans/trSonderzeichen.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trTabellen.html b/docs/de/gt-guidelines/trans/trTabellen.html index 534701682..00423ca82 100644 --- a/docs/de/gt-guidelines/trans/trTabellen.html +++ b/docs/de/gt-guidelines/trans/trTabellen.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trUmlaute.html b/docs/de/gt-guidelines/trans/trUmlaute.html index e042978e7..5aa8220d0 100644 --- a/docs/de/gt-guidelines/trans/trUmlaute.html +++ b/docs/de/gt-guidelines/trans/trUmlaute.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trZeichensetzung.html b/docs/de/gt-guidelines/trans/trZeichensetzung.html index 13fa19f9d..c450affac 100644 --- a/docs/de/gt-guidelines/trans/trZeichensetzung.html +++ b/docs/de/gt-guidelines/trans/trZeichensetzung.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/tr_compareLevel1_3.html b/docs/de/gt-guidelines/trans/tr_compareLevel1_3.html index f07d292f1..3ac62f50b 100644 --- a/docs/de/gt-guidelines/trans/tr_compareLevel1_3.html +++ b/docs/de/gt-guidelines/trans/tr_compareLevel1_3.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/tr_dia_level_1_0.html b/docs/de/gt-guidelines/trans/tr_dia_level_1_0.html index fb1d15ae1..2047ab6b8 100644 --- a/docs/de/gt-guidelines/trans/tr_dia_level_1_0.html +++ b/docs/de/gt-guidelines/trans/tr_dia_level_1_0.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/tr_dia_level_2_0.html b/docs/de/gt-guidelines/trans/tr_dia_level_2_0.html index b3c04723c..1f5304e6b 100644 --- a/docs/de/gt-guidelines/trans/tr_dia_level_2_0.html +++ b/docs/de/gt-guidelines/trans/tr_dia_level_2_0.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/tr_dia_level_3_0.html b/docs/de/gt-guidelines/trans/tr_dia_level_3_0.html index f3834a32b..2dfa95d8b 100644 --- a/docs/de/gt-guidelines/trans/tr_dia_level_3_0.html +++ b/docs/de/gt-guidelines/trans/tr_dia_level_3_0.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/tr_level_1.html b/docs/de/gt-guidelines/trans/tr_level_1.html index b864dbbe4..72d95073b 100644 --- a/docs/de/gt-guidelines/trans/tr_level_1.html +++ b/docs/de/gt-guidelines/trans/tr_level_1.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/tr_level_1_3.html b/docs/de/gt-guidelines/trans/tr_level_1_3.html index 306f3e16a..438a2cda0 100644 --- a/docs/de/gt-guidelines/trans/tr_level_1_3.html +++ b/docs/de/gt-guidelines/trans/tr_level_1_3.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/tr_level_1_4.html b/docs/de/gt-guidelines/trans/tr_level_1_4.html index 91e3b0103..f6b67b67c 100644 --- a/docs/de/gt-guidelines/trans/tr_level_1_4.html +++ b/docs/de/gt-guidelines/trans/tr_level_1_4.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/tr_level_2.html b/docs/de/gt-guidelines/trans/tr_level_2.html index b93a7b77e..925e7765b 100644 --- a/docs/de/gt-guidelines/trans/tr_level_2.html +++ b/docs/de/gt-guidelines/trans/tr_level_2.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/tr_level_2_3.html b/docs/de/gt-guidelines/trans/tr_level_2_3.html index f5c960926..d83193caa 100644 --- a/docs/de/gt-guidelines/trans/tr_level_2_3.html +++ b/docs/de/gt-guidelines/trans/tr_level_2_3.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/tr_level_2_4.html b/docs/de/gt-guidelines/trans/tr_level_2_4.html index 4452ec3bc..898eb3c18 100644 --- a/docs/de/gt-guidelines/trans/tr_level_2_4.html +++ b/docs/de/gt-guidelines/trans/tr_level_2_4.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/tr_level_3.html b/docs/de/gt-guidelines/trans/tr_level_3.html index c1b5d17c2..59ad68172 100644 --- a/docs/de/gt-guidelines/trans/tr_level_3.html +++ b/docs/de/gt-guidelines/trans/tr_level_3.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/tr_level_3_4.html b/docs/de/gt-guidelines/trans/tr_level_3_4.html index 2539d2d51..bb87c90d7 100644 --- a/docs/de/gt-guidelines/trans/tr_level_3_4.html +++ b/docs/de/gt-guidelines/trans/tr_level_3_4.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/tr_nasal_level_1.html b/docs/de/gt-guidelines/trans/tr_nasal_level_1.html index 7067ef747..db6a5244f 100644 --- a/docs/de/gt-guidelines/trans/tr_nasal_level_1.html +++ b/docs/de/gt-guidelines/trans/tr_nasal_level_1.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/tr_nasal_level_2.html b/docs/de/gt-guidelines/trans/tr_nasal_level_2.html index 8e5ed87ed..a74d85796 100644 --- a/docs/de/gt-guidelines/trans/tr_nasal_level_2.html +++ b/docs/de/gt-guidelines/trans/tr_nasal_level_2.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/tr_nasal_level_3.html b/docs/de/gt-guidelines/trans/tr_nasal_level_3.html index eff4a4c93..76de68cf1 100644 --- a/docs/de/gt-guidelines/trans/tr_nasal_level_3.html +++ b/docs/de/gt-guidelines/trans/tr_nasal_level_3.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/transkription.html b/docs/de/gt-guidelines/trans/transkription.html index 079d418ad..37993b677 100644 --- a/docs/de/gt-guidelines/trans/transkription.html +++ b/docs/de/gt-guidelines/trans/transkription.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/gt-guidelines/trans/trtiefgestellteZahl.html b/docs/de/gt-guidelines/trans/trtiefgestellteZahl.html index b2dce8eb8..838844d9b 100644 --- a/docs/de/gt-guidelines/trans/trtiefgestellteZahl.html +++ b/docs/de/gt-guidelines/trans/trtiefgestellteZahl.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/impressum.html b/docs/de/impressum.html index efea2a33c..b3bf19837 100644 --- a/docs/de/impressum.html +++ b/docs/de/impressum.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/index.html b/docs/de/index.html index efc26342d..6fcc7a1c6 100644 --- a/docs/de/index.html +++ b/docs/de/index.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/modelle.md b/docs/de/modelle.md new file mode 100644 index 000000000..ce9e54b6f --- /dev/null +++ b/docs/de/modelle.md @@ -0,0 +1,54 @@ +# OCR-Modelle + +Für die Texterkennung wird ein geeignetes OCR-D-Modul und ein dazu passendes +Sprach-/Schriftmodell benötigt. Diese Seite gibt einen Überblick über die +wichtigsten Modelle und Modell-Repositorien. + +## ocrd-tesserocr-recognize + +Dieser Prozessor verwendet Tesseract (ab Version 4.1) für die Texterkennung. Tesseract benötigt +_Sprach-_ oder _Schriftmodelle_. Dies sind Dateien in einem speziellen Format (`*.traineddata`). Sie enthalten +mindestens eine Liste mit dem Erkennungs-Zeichensatz ("unicharset") und die Gewichte des neuronalen Erkennungs-Modells ("lstm"), optional auch noch Wörterbücher ("wordlist"/"dawg") und weitere Komponenten. +Sprachmodelle sind im Zeichensatz und im Wörterbuch auf eine Muttersprache (z. B. `deu` = Deutsch) beschränkt. +Schriftmodelle dagegen enthalten einen umfangreicheren Zeichensatz und Wörterbücher aus mehreren Sprachen mit der gleichen Schrift (z. B. `Latin` = lateinische Schrift mit Englisch, Deutsch, Französisch, +Spanisch, Italienisch, ...). + +Für Tesseract gibt es mehr als 100 Sprach- und Schriftmodelle, die von Google mittels synthetischer Daten +(d.h. per Rasterung großer Mengen von Text mit vielen verschiedenen Vektorfonts) erzeugt ("trainiert") +wurden. Daneben gibt es aber auch noch weitere Modelle von anderen Anbietern, und man kann auch eigene +Modelle entweder komplett neu oder auf Basis vorhandener Modelle erstellen. Eigenes Training wird durch +[tesstrain](https://github.com/tesseract-ocr/tesstrain) gut unterstützt. + +Die Modelle von Google gibt es jeweils in drei Varianten: + +[`tessdata_fast`](https://github.com/tesseract-ocr/tessdata_fast) Diese Variante wird auch von den meisten +Linux-Distributionen angeboten und ist besonders schnell bei der Texterkennung. Sie verwendet neuronale Netzwerke. + +[`tessdata_best`](https://github.com/tesseract-ocr/tessdata_best) Diese Variante braucht deutlich mehr Zeit bei der +Texterkennung, kann aber im Einzelfall(nicht generell!) bessere Ergebnisse liefern. Sie verwendet neuronale Netzwerke. +Eigenes Training neuer Modelle auf Basis vorhandener Modelle setzt ebenfalls diese Variante voraus. + +[`tessdata`](https://github.com/tesseract-ocr/tessdata) Diese Variante ist ähnlich schnell wie tessdata_fast, enthält +aber zusätzlich zu den neuronalen Netzwerken auch noch die musterbasierte Zeichenerkennung von Tesseract 3. +Man kann damit also zwei unterschiedliche Texterkennungsmethoden kombinieren, was in Einzelfällen zu besseren Ergebnissen +führen kann. + +### Schrift- und Sprachmodelle für historische Drucke + +Die folgenden Modelle für Tesseract gibt es: + + * `deu_frak` Älteres Sprachmodell für deutsche Fraktur. Dieses Modell war mit Tesseract 3 gebräuchlich, ist aber heute nicht mehr zu empfehlen. + * `deu` Sprachmodell für deutsche Antiqua, das aber auch etwas Fraktur erkennen kann. + * `frk` Sprachmodell für deutsche Fraktur, das aber auch etwas Antiqua erkennen kann. + * `Latin` Schriftmodell für lateinische Antiqua-Schriften, das aber auch etwas Fraktur erkennen kann. + * `Fraktur` Schriftmodell für Fraktur-Schriften, das aber auch Antiqua-Schriften ganz gut erkennt. Fehler beim + Erzeugen dieses Modells haben zur Folge, dass es kein Paragraphzeichen kennt und die Ligaturen `ch` und `ck` + häufig als Kleiner- und Größerzeichen "erkennt". + +Weitere Frakturmodelle. Ausgehend von Fraktur sind mit Hilfe von [GT4HistOCR](https://zenodo.org/record/1344132) +weitere Modelle der [UB Mannheim](https://ub-backup.bib.uni-mannheim.de/~stweil/ocrd-train/data/Fraktur_5000000/) +erzeugt worden, die für ein breites Spektrum historischer Drucke gute Ergebnisse liefern. + +Schrift- und Sprachmodelle können in Tesseract auch kombiniert werden, was in +der Regel noch bessere Ergebnisse bringt, allerdings dann auch mehr Zeit +kostet. diff --git a/docs/de/module-projects.html b/docs/de/module-projects.html index 738b52655..bfed17af1 100644 --- a/docs/de/module-projects.html +++ b/docs/de/module-projects.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/publications.html b/docs/de/publications.html index 0890a1c76..0f7882a00 100644 --- a/docs/de/publications.html +++ b/docs/de/publications.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/spec/CHANGELOG.html b/docs/de/spec/CHANGELOG.html index 77b10a5ba..f24ee07c4 100644 --- a/docs/de/spec/CHANGELOG.html +++ b/docs/de/spec/CHANGELOG.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/spec/README.html b/docs/de/spec/README.html index aa9f36625..ce5d129f9 100644 --- a/docs/de/spec/README.html +++ b/docs/de/spec/README.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/spec/cli.html b/docs/de/spec/cli.html index 64f26dfa9..fd81fd1c6 100644 --- a/docs/de/spec/cli.html +++ b/docs/de/spec/cli.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/spec/docker.html b/docs/de/spec/docker.html index 16cb7bf70..51c96a8b7 100644 --- a/docs/de/spec/docker.html +++ b/docs/de/spec/docker.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/spec/glossary.html b/docs/de/spec/glossary.html index 362c550d2..42d87ba8f 100644 --- a/docs/de/spec/glossary.html +++ b/docs/de/spec/glossary.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/spec/index.html b/docs/de/spec/index.html index 62d2c1698..af0a9988e 100644 --- a/docs/de/spec/index.html +++ b/docs/de/spec/index.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/spec/intro.html b/docs/de/spec/intro.html index a992304d9..79aab9672 100644 --- a/docs/de/spec/intro.html +++ b/docs/de/spec/intro.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/de/spec/logging.html b/docs/de/spec/logging.html index 1bbd6a82d..7d5d6c75a 100644 --- a/docs/de/spec/logging.html +++ b/docs/de/spec/logging.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/spec/mets.html b/docs/de/spec/mets.html index 68508851b..4c11f15e5 100644 --- a/docs/de/spec/mets.html +++ b/docs/de/spec/mets.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/spec/ocrd_tool.html b/docs/de/spec/ocrd_tool.html index da5698e59..24e26753f 100644 --- a/docs/de/spec/ocrd_tool.html +++ b/docs/de/spec/ocrd_tool.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/spec/ocrd_zip.html b/docs/de/spec/ocrd_zip.html index 9d53a3f97..6b0613dc3 100644 --- a/docs/de/spec/ocrd_zip.html +++ b/docs/de/spec/ocrd_zip.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/spec/page.html b/docs/de/spec/page.html index da2ee1e80..1356922bc 100644 --- a/docs/de/spec/page.html +++ b/docs/de/spec/page.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/spec/provenance.html b/docs/de/spec/provenance.html index f26251fcf..ee6c420a8 100644 --- a/docs/de/spec/provenance.html +++ b/docs/de/spec/provenance.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/teststellung.html b/docs/de/teststellung.html index 0f65b9788..5df8f60bf 100644 --- a/docs/de/teststellung.html +++ b/docs/de/teststellung.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/use.html b/docs/de/use.html index 864159abb..4e80143b2 100644 --- a/docs/de/use.html +++ b/docs/de/use.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/de/user_survey.html b/docs/de/user_survey.html index 27b61d1f8..f433b5315 100644 --- a/docs/de/user_survey.html +++ b/docs/de/user_survey.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/en/2016/06/01/ocrd.html b/docs/en/2016/06/01/ocrd.html index e75bff0b6..79bf11bcd 100644 --- a/docs/en/2016/06/01/ocrd.html +++ b/docs/en/2016/06/01/ocrd.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/2016/12/06/staatsbibliothek.html b/docs/en/2016/12/06/staatsbibliothek.html index 326ac9a48..8ef628345 100644 --- a/docs/en/2016/12/06/staatsbibliothek.html +++ b/docs/en/2016/12/06/staatsbibliothek.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/2017/03/06/modulprojektausschreibung.html b/docs/en/2017/03/06/modulprojektausschreibung.html index 00f0e2256..5848aaeec 100644 --- a/docs/en/2017/03/06/modulprojektausschreibung.html +++ b/docs/en/2017/03/06/modulprojektausschreibung.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/2018/03/28/start-der-modulprojekte.html b/docs/en/2018/03/28/start-der-modulprojekte.html index cf8dd7d7d..7c25e3ca9 100644 --- a/docs/en/2018/03/28/start-der-modulprojekte.html +++ b/docs/en/2018/03/28/start-der-modulprojekte.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/2018/08/31/ocrd-verlaengert.html b/docs/en/2018/08/31/ocrd-verlaengert.html index de068e0c2..0f1587a3d 100644 --- a/docs/en/2018/08/31/ocrd-verlaengert.html +++ b/docs/en/2018/08/31/ocrd-verlaengert.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/2019/05/13/datech-best-paper.html b/docs/en/2019/05/13/datech-best-paper.html index fb46455d8..4e2b61a8d 100644 --- a/docs/en/2019/05/13/datech-best-paper.html +++ b/docs/en/2019/05/13/datech-best-paper.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/2019/08/09/europeanatech.html b/docs/en/2019/08/09/europeanatech.html index 7ab27a0e3..d5f35a8b3 100644 --- a/docs/en/2019/08/09/europeanatech.html +++ b/docs/en/2019/08/09/europeanatech.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/2019/08/23/icdar.html b/docs/en/2019/08/23/icdar.html index d4d8db0f8..4f6cdff6d 100644 --- a/docs/en/2019/08/23/icdar.html +++ b/docs/en/2019/08/23/icdar.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/2019/11/20/kooperation-mit-kitodo.html b/docs/en/2019/11/20/kooperation-mit-kitodo.html index 8c823e61d..9ad3e1a62 100644 --- a/docs/en/2019/11/20/kooperation-mit-kitodo.html +++ b/docs/en/2019/11/20/kooperation-mit-kitodo.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/2020/02/03/volltexte-die-zukunft-alter-drucke.html b/docs/en/2020/02/03/volltexte-die-zukunft-alter-drucke.html index 5a7eb99d8..c75b061da 100644 --- a/docs/en/2020/02/03/volltexte-die-zukunft-alter-drucke.html +++ b/docs/en/2020/02/03/volltexte-die-zukunft-alter-drucke.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/2020/02/19/dhd.html b/docs/en/2020/02/19/dhd.html index d24d412a1..99c7edcbb 100644 --- a/docs/en/2020/02/19/dhd.html +++ b/docs/en/2020/02/19/dhd.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/2020/02/25/dfg-call.html b/docs/en/2020/02/25/dfg-call.html index b90864fc7..81cd0eb9c 100644 --- a/docs/en/2020/02/25/dfg-call.html +++ b/docs/en/2020/02/25/dfg-call.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/about.html b/docs/en/about.html index 34858c403..a71db5195 100644 --- a/docs/en/about.html +++ b/docs/en/about.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/blog.html b/docs/en/blog.html index e29ad7f8f..432267c64 100644 --- a/docs/en/blog.html +++ b/docs/en/blog.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/contact.html b/docs/en/contact.html index 4e495dc65..98853c751 100644 --- a/docs/en/contact.html +++ b/docs/en/contact.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/cookbook.html b/docs/en/cookbook.html index 3cad5cf21..388083604 100644 --- a/docs/en/cookbook.html +++ b/docs/en/cookbook.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/data.html b/docs/en/data.html index df20104ab..9eecae1cf 100644 --- a/docs/en/data.html +++ b/docs/en/data.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/dev.html b/docs/en/dev.html index 4ba6ef4c9..5564aed3f 100644 --- a/docs/en/dev.html +++ b/docs/en/dev.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/developer-guide.html b/docs/en/developer-guide.html index 5fb89df0e..0d1efc4c8 100644 --- a/docs/en/developer-guide.html +++ b/docs/en/developer-guide.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/dita.html b/docs/en/dita.html index 9b6d554ca..33fd329bb 100644 --- a/docs/en/dita.html +++ b/docs/en/dita.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/example_mets.html b/docs/en/example_mets.html index d0e80b715..2c1b287c2 100644 --- a/docs/en/example_mets.html +++ b/docs/en/example_mets.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/faq.html b/docs/en/faq.html index 5ac9cc86c..638ca4882 100644 --- a/docs/en/faq.html +++ b/docs/en/faq.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/index.html b/docs/en/gt-guidelines/index.html index e166000f1..e32b158b6 100644 --- a/docs/en/gt-guidelines/index.html +++ b/docs/en/gt-guidelines/index.html @@ -138,6 +138,11 @@ + OCR Modelle + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/Complex_Type.html b/docs/en/gt-guidelines/pagexml/Complex_Type.html index b33177545..715effb0e 100644 --- a/docs/en/gt-guidelines/pagexml/Complex_Type.html +++ b/docs/en/gt-guidelines/pagexml/Complex_Type.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/Element.html b/docs/en/gt-guidelines/pagexml/Element.html index c134b44c7..0e10e279f 100644 --- a/docs/en/gt-guidelines/pagexml/Element.html +++ b/docs/en/gt-guidelines/pagexml/Element.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/Main_schema.html b/docs/en/gt-guidelines/pagexml/Main_schema.html index 32a4bc7cd..dbd4b5263 100644 --- a/docs/en/gt-guidelines/pagexml/Main_schema.html +++ b/docs/en/gt-guidelines/pagexml/Main_schema.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/Simple_Type.html b/docs/en/gt-guidelines/pagexml/Simple_Type.html index ccfe13140..d8d67a3e7 100644 --- a/docs/en/gt-guidelines/pagexml/Simple_Type.html +++ b/docs/en/gt-guidelines/pagexml/Simple_Type.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_AdvertRegionType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_AdvertRegionType.html index 45347995a..9cdf5e54a 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_AdvertRegionType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_AdvertRegionType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_AlternativeImageType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_AlternativeImageType.html index 24552fd72..c97351574 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_AlternativeImageType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_AlternativeImageType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_BaselineType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_BaselineType.html index e6c569d61..a68f994c3 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_BaselineType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_BaselineType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_BorderType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_BorderType.html index dc654aa97..24030cc67 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_BorderType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_BorderType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ChartRegionType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ChartRegionType.html index b44b53f8c..c788b594b 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ChartRegionType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ChartRegionType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ChemRegionType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ChemRegionType.html index 2639e21c0..601b2adb0 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ChemRegionType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ChemRegionType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_CoordsType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_CoordsType.html index b61791e44..5c6fa9f72 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_CoordsType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_CoordsType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_CustomRegionType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_CustomRegionType.html index 9f7056dcf..8fbe89cea 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_CustomRegionType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_CustomRegionType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GlyphType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GlyphType.html index 5d20e0718..413f9fa8e 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GlyphType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GlyphType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeBaseType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeBaseType.html index fc6f75d62..5d386e28c 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeBaseType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeBaseType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeGroupType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeGroupType.html index 1c64d6246..3d447f088 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeGroupType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeGroupType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeType.html index f59391607..a0db73af3 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemeType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemesType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemesType.html index a5b925569..8109ea046 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemesType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphemesType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphicRegionType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphicRegionType.html index 2da6106aa..a1cea04c4 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphicRegionType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GraphicRegionType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GridPointsType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GridPointsType.html index 0b3902a1a..bd2501d4f 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GridPointsType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GridPointsType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GridType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GridType.html index fef179c57..4bf2df070 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GridType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_GridType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ImageRegionType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ImageRegionType.html index 90c1d5a1e..ab68f5a0e 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ImageRegionType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ImageRegionType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LabelType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LabelType.html index b17be3ae6..21e9a7f10 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LabelType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LabelType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LabelsType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LabelsType.html index 602edc986..70108411a 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LabelsType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LabelsType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LayerType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LayerType.html index 2e38175fd..e6eebcb8b 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LayerType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LayerType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LayersType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LayersType.html index 0c2cb4567..4cae76d02 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LayersType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LayersType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LineDrawingRegionType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LineDrawingRegionType.html index c8c72c991..665735025 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LineDrawingRegionType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_LineDrawingRegionType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MapRegionType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MapRegionType.html index befe4eb93..a8904d09f 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MapRegionType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MapRegionType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MathsRegionType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MathsRegionType.html index 351295515..25d22d458 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MathsRegionType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MathsRegionType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MetadataItemType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MetadataItemType.html index b00e6bb5e..b0c0fe2c3 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MetadataItemType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MetadataItemType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MetadataType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MetadataType.html index e139820e7..16a7fc632 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MetadataType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MetadataType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MusicRegionType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MusicRegionType.html index c9c929d3c..c9a645d5f 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MusicRegionType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_MusicRegionType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_NoiseRegionType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_NoiseRegionType.html index 6f9ec8610..4e6c19198 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_NoiseRegionType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_NoiseRegionType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_NonPrintingCharType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_NonPrintingCharType.html index f998734a2..b5ada3885 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_NonPrintingCharType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_NonPrintingCharType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_OrderedGroupIndexedType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_OrderedGroupIndexedType.html index 882895a60..acf887c91 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_OrderedGroupIndexedType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_OrderedGroupIndexedType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_OrderedGroupType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_OrderedGroupType.html index 7288b31a1..c5c09170f 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_OrderedGroupType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_OrderedGroupType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PageType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PageType.html index 20adeed4e..1eb0f1880 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PageType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PageType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PcGtsType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PcGtsType.html index 2b0e07792..80cad11c6 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PcGtsType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PcGtsType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PrintSpaceType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PrintSpaceType.html index b4c76e19a..a40f26af4 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PrintSpaceType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_PrintSpaceType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ReadingOrderType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ReadingOrderType.html index 63b472864..608382018 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ReadingOrderType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_ReadingOrderType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionRefIndexedType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionRefIndexedType.html index 83d60a7dd..1e19e47d0 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionRefIndexedType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionRefIndexedType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionRefType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionRefType.html index 6fdc5f4c5..d0f0881fb 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionRefType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionRefType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionType.html index 17185ba2c..1418fbc10 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RegionType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RelationType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RelationType.html index 5141f72d1..ac242c038 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RelationType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RelationType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RelationsType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RelationsType.html index 98c119d6f..4a6f0dee8 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RelationsType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RelationsType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RolesType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RolesType.html index 646f75f58..47e45937e 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RolesType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_RolesType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_SeparatorRegionType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_SeparatorRegionType.html index 8a8784b1a..235f8d467 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_SeparatorRegionType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_SeparatorRegionType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TableCellRoleType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TableCellRoleType.html index 5908c7f92..7b356573c 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TableCellRoleType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TableCellRoleType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TableRegionType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TableRegionType.html index be41dcc06..13f4a76f6 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TableRegionType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TableRegionType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextEquivType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextEquivType.html index 16a1c325f..2bb865688 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextEquivType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextEquivType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextLineType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextLineType.html index c24adb4d6..ae6f0c360 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextLineType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextLineType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextRegionType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextRegionType.html index 703193470..205974460 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextRegionType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextRegionType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextStyleType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextStyleType.html index dc28009d7..cdc2c36ed 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextStyleType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_TextStyleType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnknownRegionType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnknownRegionType.html index cdbbb4f53..87db79c6b 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnknownRegionType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnknownRegionType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnorderedGroupIndexedType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnorderedGroupIndexedType.html index 55ff8769b..1f1141ff4 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnorderedGroupIndexedType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnorderedGroupIndexedType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnorderedGroupType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnorderedGroupType.html index 7b5065f38..baab4b188 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnorderedGroupType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UnorderedGroupType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UserAttributeType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UserAttributeType.html index 0788d4cef..ed8f02e25 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UserAttributeType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UserAttributeType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UserDefinedType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UserDefinedType.html index 80597db1b..9ea20e70f 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UserDefinedType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_UserDefinedType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_WordType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_WordType.html index ce81f1206..f0f8d7f11 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_WordType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Complex_Type_pc_WordType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Element_pc_PcGts.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Element_pc_PcGts.html index 2bb07d0d8..9fc18cd72 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Element_pc_PcGts.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Element_pc_PcGts.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Main_schema_pagecontent_xsd.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Main_schema_pagecontent_xsd.html index 129f121d5..85719dd6e 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Main_schema_pagecontent_xsd.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Main_schema_pagecontent_xsd.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_AlignSimpleType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_AlignSimpleType.html index c12657801..4c6617b01 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_AlignSimpleType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_AlignSimpleType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ChartTypeSimpleType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ChartTypeSimpleType.html index 9c6e93578..405aecdf9 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ChartTypeSimpleType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ChartTypeSimpleType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ColourDepthSimpleType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ColourDepthSimpleType.html index 585025bee..c817da7a4 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ColourDepthSimpleType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ColourDepthSimpleType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ColourSimpleType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ColourSimpleType.html index 882d3ae02..1ce59d087 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ColourSimpleType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ColourSimpleType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ConfSimpleType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ConfSimpleType.html index e8d18465b..30fcd561a 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ConfSimpleType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ConfSimpleType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_GraphicsTypeSimpleType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_GraphicsTypeSimpleType.html index 51a56da5c..10ac64f8e 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_GraphicsTypeSimpleType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_GraphicsTypeSimpleType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_GroupTypeSimpleType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_GroupTypeSimpleType.html index 86d66259a..fe5f141df 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_GroupTypeSimpleType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_GroupTypeSimpleType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_LanguageSimpleType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_LanguageSimpleType.html index e30ff2237..685b09b40 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_LanguageSimpleType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_LanguageSimpleType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_PageTypeSimpleType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_PageTypeSimpleType.html index 31ec836d9..5fb844a71 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_PageTypeSimpleType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_PageTypeSimpleType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_PointsType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_PointsType.html index f9cb46bdc..56ebeb9fb 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_PointsType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_PointsType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ProductionSimpleType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ProductionSimpleType.html index 73fe57b51..2838617d1 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ProductionSimpleType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ProductionSimpleType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ReadingDirectionSimpleType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ReadingDirectionSimpleType.html index 107cc84e7..7e0f72608 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ReadingDirectionSimpleType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ReadingDirectionSimpleType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ScriptSimpleType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ScriptSimpleType.html index dc837123e..3630ae176 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ScriptSimpleType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_ScriptSimpleType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextDataTypeSimpleType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextDataTypeSimpleType.html index c23b4e0a6..6a0d3965e 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextDataTypeSimpleType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextDataTypeSimpleType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextLineOrderSimpleType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextLineOrderSimpleType.html index 15306b2e4..b73b003a3 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextLineOrderSimpleType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextLineOrderSimpleType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextTypeSimpleType.html b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextTypeSimpleType.html index 726d3c9c0..baf507af7 100644 --- a/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextTypeSimpleType.html +++ b/docs/en/gt-guidelines/pagexml/pagecontent_xsd_Simple_Type_pc_TextTypeSimpleType.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/toc.html b/docs/en/gt-guidelines/toc.html index cba086401..fd4365aa0 100644 --- a/docs/en/gt-guidelines/toc.html +++ b/docs/en/gt-guidelines/toc.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/exif_pagexml_konkordanz.html b/docs/en/gt-guidelines/trans/exif_pagexml_konkordanz.html index a6ad29e45..48754ebf1 100644 --- a/docs/en/gt-guidelines/trans/exif_pagexml_konkordanz.html +++ b/docs/en/gt-guidelines/trans/exif_pagexml_konkordanz.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/impressum.html b/docs/en/gt-guidelines/trans/impressum.html index 1eb8ac9d1..08548ed3e 100644 --- a/docs/en/gt-guidelines/trans/impressum.html +++ b/docs/en/gt-guidelines/trans/impressum.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/index.html b/docs/en/gt-guidelines/trans/index.html index 7ef01adff..644e2539f 100644 --- a/docs/en/gt-guidelines/trans/index.html +++ b/docs/en/gt-guidelines/trans/index.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/layout.html b/docs/en/gt-guidelines/trans/layout.html index c0768bb46..2833f8d5b 100644 --- a/docs/en/gt-guidelines/trans/layout.html +++ b/docs/en/gt-guidelines/trans/layout.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/leerzeichen.html b/docs/en/gt-guidelines/trans/leerzeichen.html index 15078cf4a..2f63109a0 100644 --- a/docs/en/gt-guidelines/trans/leerzeichen.html +++ b/docs/en/gt-guidelines/trans/leerzeichen.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/level_1_1.html b/docs/en/gt-guidelines/trans/level_1_1.html index e31283909..3d3d0eb43 100644 --- a/docs/en/gt-guidelines/trans/level_1_1.html +++ b/docs/en/gt-guidelines/trans/level_1_1.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/level_1_2.html b/docs/en/gt-guidelines/trans/level_1_2.html index 0aa9a2810..b40227641 100644 --- a/docs/en/gt-guidelines/trans/level_1_2.html +++ b/docs/en/gt-guidelines/trans/level_1_2.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/level_1_3.html b/docs/en/gt-guidelines/trans/level_1_3.html index 162542c13..984b17ef1 100644 --- a/docs/en/gt-guidelines/trans/level_1_3.html +++ b/docs/en/gt-guidelines/trans/level_1_3.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/level_1_4.html b/docs/en/gt-guidelines/trans/level_1_4.html index b7745314c..2bf6fd93d 100644 --- a/docs/en/gt-guidelines/trans/level_1_4.html +++ b/docs/en/gt-guidelines/trans/level_1_4.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/level_1_5.html b/docs/en/gt-guidelines/trans/level_1_5.html index 12953e65f..141746d77 100644 --- a/docs/en/gt-guidelines/trans/level_1_5.html +++ b/docs/en/gt-guidelines/trans/level_1_5.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/level_1_6.html b/docs/en/gt-guidelines/trans/level_1_6.html index 21c01088c..3db7a305d 100644 --- a/docs/en/gt-guidelines/trans/level_1_6.html +++ b/docs/en/gt-guidelines/trans/level_1_6.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/level_1_7.html b/docs/en/gt-guidelines/trans/level_1_7.html index 992a23f2d..dc55e34a5 100644 --- a/docs/en/gt-guidelines/trans/level_1_7.html +++ b/docs/en/gt-guidelines/trans/level_1_7.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/level_1_8.html b/docs/en/gt-guidelines/trans/level_1_8.html index 19194cbca..65622c1d0 100644 --- a/docs/en/gt-guidelines/trans/level_1_8.html +++ b/docs/en/gt-guidelines/trans/level_1_8.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/level_2_1.html b/docs/en/gt-guidelines/trans/level_2_1.html index eb60addc7..5f43d244f 100644 --- a/docs/en/gt-guidelines/trans/level_2_1.html +++ b/docs/en/gt-guidelines/trans/level_2_1.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/level_2_2.html b/docs/en/gt-guidelines/trans/level_2_2.html index 454d5dd60..9b075f305 100644 --- a/docs/en/gt-guidelines/trans/level_2_2.html +++ b/docs/en/gt-guidelines/trans/level_2_2.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/level_2_3.html b/docs/en/gt-guidelines/trans/level_2_3.html index 1d2303b9e..468e4e7fa 100644 --- a/docs/en/gt-guidelines/trans/level_2_3.html +++ b/docs/en/gt-guidelines/trans/level_2_3.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/level_2_4.html b/docs/en/gt-guidelines/trans/level_2_4.html index 5ea8ddf7e..0293e10f6 100644 --- a/docs/en/gt-guidelines/trans/level_2_4.html +++ b/docs/en/gt-guidelines/trans/level_2_4.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/level_2_und_3.html b/docs/en/gt-guidelines/trans/level_2_und_3.html index 1e8021352..2b362ae34 100644 --- a/docs/en/gt-guidelines/trans/level_2_und_3.html +++ b/docs/en/gt-guidelines/trans/level_2_und_3.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/level_2_und_3_0.html b/docs/en/gt-guidelines/trans/level_2_und_3_0.html index 63c10c074..067acf853 100644 --- a/docs/en/gt-guidelines/trans/level_2_und_3_0.html +++ b/docs/en/gt-guidelines/trans/level_2_und_3_0.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/level_2_und_3_1.html b/docs/en/gt-guidelines/trans/level_2_und_3_1.html index 26d7dfd91..d8e314caa 100644 --- a/docs/en/gt-guidelines/trans/level_2_und_3_1.html +++ b/docs/en/gt-guidelines/trans/level_2_und_3_1.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/level_2_und_3_2.html b/docs/en/gt-guidelines/trans/level_2_und_3_2.html index cc5dd7eaf..250f105a3 100644 --- a/docs/en/gt-guidelines/trans/level_2_und_3_2.html +++ b/docs/en/gt-guidelines/trans/level_2_und_3_2.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/level_3_1.html b/docs/en/gt-guidelines/trans/level_3_1.html index 13b295b41..c60b236d6 100644 --- a/docs/en/gt-guidelines/trans/level_3_1.html +++ b/docs/en/gt-guidelines/trans/level_3_1.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/level_3_2.html b/docs/en/gt-guidelines/trans/level_3_2.html index 590456a9a..ee55b2916 100644 --- a/docs/en/gt-guidelines/trans/level_3_2.html +++ b/docs/en/gt-guidelines/trans/level_3_2.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyAbsatz.html b/docs/en/gt-guidelines/trans/lyAbsatz.html index 6740c262f..cb979b51c 100644 --- a/docs/en/gt-guidelines/trans/lyAbsatz.html +++ b/docs/en/gt-guidelines/trans/lyAbsatz.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyAllgemein.html b/docs/en/gt-guidelines/trans/lyAllgemein.html index f76ac591e..64fa5950d 100644 --- a/docs/en/gt-guidelines/trans/lyAllgemein.html +++ b/docs/en/gt-guidelines/trans/lyAllgemein.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyBildbereiche.html b/docs/en/gt-guidelines/trans/lyBildbereiche.html index 12517479a..c53d96dab 100644 --- a/docs/en/gt-guidelines/trans/lyBildbereiche.html +++ b/docs/en/gt-guidelines/trans/lyBildbereiche.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyBogensignatur.html b/docs/en/gt-guidelines/trans/lyBogensignatur.html index 17e184f7b..52883d163 100644 --- a/docs/en/gt-guidelines/trans/lyBogensignatur.html +++ b/docs/en/gt-guidelines/trans/lyBogensignatur.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyChemische_Symbole.html b/docs/en/gt-guidelines/trans/lyChemische_Symbole.html index e30c7088d..de9c128ac 100644 --- a/docs/en/gt-guidelines/trans/lyChemische_Symbole.html +++ b/docs/en/gt-guidelines/trans/lyChemische_Symbole.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyDiskontinuierlich.html b/docs/en/gt-guidelines/trans/lyDiskontinuierlich.html index 3550c6c50..d989e29b3 100644 --- a/docs/en/gt-guidelines/trans/lyDiskontinuierlich.html +++ b/docs/en/gt-guidelines/trans/lyDiskontinuierlich.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyFussnote.html b/docs/en/gt-guidelines/trans/lyFussnote.html index 23c11dbf5..5addf98eb 100644 --- a/docs/en/gt-guidelines/trans/lyFussnote.html +++ b/docs/en/gt-guidelines/trans/lyFussnote.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyGraphik.html b/docs/en/gt-guidelines/trans/lyGraphik.html index 55a317c00..e2a72116f 100644 --- a/docs/en/gt-guidelines/trans/lyGraphik.html +++ b/docs/en/gt-guidelines/trans/lyGraphik.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyInhaltsverzeichnis.html b/docs/en/gt-guidelines/trans/lyInhaltsverzeichnis.html index eb9aa9e0e..0c1bce8cf 100644 --- a/docs/en/gt-guidelines/trans/lyInhaltsverzeichnis.html +++ b/docs/en/gt-guidelines/trans/lyInhaltsverzeichnis.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyInitiale.html b/docs/en/gt-guidelines/trans/lyInitiale.html index 5a2b90182..850c96884 100644 --- a/docs/en/gt-guidelines/trans/lyInitiale.html +++ b/docs/en/gt-guidelines/trans/lyInitiale.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyKarten.html b/docs/en/gt-guidelines/trans/lyKarten.html index a211b366b..c611fa8d5 100644 --- a/docs/en/gt-guidelines/trans/lyKarten.html +++ b/docs/en/gt-guidelines/trans/lyKarten.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyKolumnentitel.html b/docs/en/gt-guidelines/trans/lyKolumnentitel.html index 6fb1ce7ac..07037a7ce 100644 --- a/docs/en/gt-guidelines/trans/lyKolumnentitel.html +++ b/docs/en/gt-guidelines/trans/lyKolumnentitel.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyKustode.html b/docs/en/gt-guidelines/trans/lyKustode.html index 2119bcad8..b952b4877 100644 --- a/docs/en/gt-guidelines/trans/lyKustode.html +++ b/docs/en/gt-guidelines/trans/lyKustode.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyLeserichtung.html b/docs/en/gt-guidelines/trans/lyLeserichtung.html index 1a180330e..b00ffb28b 100644 --- a/docs/en/gt-guidelines/trans/lyLeserichtung.html +++ b/docs/en/gt-guidelines/trans/lyLeserichtung.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyLigatur.html b/docs/en/gt-guidelines/trans/lyLigatur.html index 901ae7ea3..ae1416322 100644 --- a/docs/en/gt-guidelines/trans/lyLigatur.html +++ b/docs/en/gt-guidelines/trans/lyLigatur.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyMarginalie.html b/docs/en/gt-guidelines/trans/lyMarginalie.html index 531c1e288..2e2b86b56 100644 --- a/docs/en/gt-guidelines/trans/lyMarginalie.html +++ b/docs/en/gt-guidelines/trans/lyMarginalie.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyMathematische_Zeichen.html b/docs/en/gt-guidelines/trans/lyMathematische_Zeichen.html index ab80c0a3e..048426790 100644 --- a/docs/en/gt-guidelines/trans/lyMathematische_Zeichen.html +++ b/docs/en/gt-guidelines/trans/lyMathematische_Zeichen.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyNotenzeichen.html b/docs/en/gt-guidelines/trans/lyNotenzeichen.html index 83dc834e4..6657c97d6 100644 --- a/docs/en/gt-guidelines/trans/lyNotenzeichen.html +++ b/docs/en/gt-guidelines/trans/lyNotenzeichen.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyRand.html b/docs/en/gt-guidelines/trans/lyRand.html index 52af9842a..2f5e0fc11 100644 --- a/docs/en/gt-guidelines/trans/lyRand.html +++ b/docs/en/gt-guidelines/trans/lyRand.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyRauschen.html b/docs/en/gt-guidelines/trans/lyRauschen.html index 2528467ef..96e94247c 100644 --- a/docs/en/gt-guidelines/trans/lyRauschen.html +++ b/docs/en/gt-guidelines/trans/lyRauschen.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyRelationen.html b/docs/en/gt-guidelines/trans/lyRelationen.html index 2ed5c5ef5..d0ad270bb 100644 --- a/docs/en/gt-guidelines/trans/lyRelationen.html +++ b/docs/en/gt-guidelines/trans/lyRelationen.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lySatzspiegel.html b/docs/en/gt-guidelines/trans/lySatzspiegel.html index da8cd61ad..d299df80c 100644 --- a/docs/en/gt-guidelines/trans/lySatzspiegel.html +++ b/docs/en/gt-guidelines/trans/lySatzspiegel.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lySchriftarten.html b/docs/en/gt-guidelines/trans/lySchriftarten.html index ad794db21..45d67abb0 100644 --- a/docs/en/gt-guidelines/trans/lySchriftarten.html +++ b/docs/en/gt-guidelines/trans/lySchriftarten.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lySeitentypen.html b/docs/en/gt-guidelines/trans/lySeitentypen.html index 9209915d3..4d06a1cf2 100644 --- a/docs/en/gt-guidelines/trans/lySeitentypen.html +++ b/docs/en/gt-guidelines/trans/lySeitentypen.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lySeitenzahl.html b/docs/en/gt-guidelines/trans/lySeitenzahl.html index c612e309a..b61570317 100644 --- a/docs/en/gt-guidelines/trans/lySeitenzahl.html +++ b/docs/en/gt-guidelines/trans/lySeitenzahl.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lySeparatoren.html b/docs/en/gt-guidelines/trans/lySeparatoren.html index 373bca64e..2a8dca10d 100644 --- a/docs/en/gt-guidelines/trans/lySeparatoren.html +++ b/docs/en/gt-guidelines/trans/lySeparatoren.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lySonstiges.html b/docs/en/gt-guidelines/trans/lySonstiges.html index 6cec8bd4a..a29f8464f 100644 --- a/docs/en/gt-guidelines/trans/lySonstiges.html +++ b/docs/en/gt-guidelines/trans/lySonstiges.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyTabellen.html b/docs/en/gt-guidelines/trans/lyTabellen.html index 90009ab7a..0881d9e17 100644 --- a/docs/en/gt-guidelines/trans/lyTabellen.html +++ b/docs/en/gt-guidelines/trans/lyTabellen.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyTextregionen.html b/docs/en/gt-guidelines/trans/lyTextregionen.html index 5c5364183..5508c2902 100644 --- a/docs/en/gt-guidelines/trans/lyTextregionen.html +++ b/docs/en/gt-guidelines/trans/lyTextregionen.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyTypographie.html b/docs/en/gt-guidelines/trans/lyTypographie.html index 13c294aec..1dd476bae 100644 --- a/docs/en/gt-guidelines/trans/lyTypographie.html +++ b/docs/en/gt-guidelines/trans/lyTypographie.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyUeberschrift.html b/docs/en/gt-guidelines/trans/lyUeberschrift.html index 19a304f91..3db00dae4 100644 --- a/docs/en/gt-guidelines/trans/lyUeberschrift.html +++ b/docs/en/gt-guidelines/trans/lyUeberschrift.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lyWerbung.html b/docs/en/gt-guidelines/trans/lyWerbung.html index c5d9523e7..790e84373 100644 --- a/docs/en/gt-guidelines/trans/lyWerbung.html +++ b/docs/en/gt-guidelines/trans/lyWerbung.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/ly_level_1_5.html b/docs/en/gt-guidelines/trans/ly_level_1_5.html index 8eede5428..d48f5f71e 100644 --- a/docs/en/gt-guidelines/trans/ly_level_1_5.html +++ b/docs/en/gt-guidelines/trans/ly_level_1_5.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/ly_level_2_5.html b/docs/en/gt-guidelines/trans/ly_level_2_5.html index c387cb839..f4c5fc1f6 100644 --- a/docs/en/gt-guidelines/trans/ly_level_2_5.html +++ b/docs/en/gt-guidelines/trans/ly_level_2_5.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/lytextregion.html b/docs/en/gt-guidelines/trans/lytextregion.html index d7e12b3ba..07cbb5c76 100644 --- a/docs/en/gt-guidelines/trans/lytextregion.html +++ b/docs/en/gt-guidelines/trans/lytextregion.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/ocr_d_koordinationsgremium_codierung.html b/docs/en/gt-guidelines/trans/ocr_d_koordinationsgremium_codierung.html index 8dda5c3ef..ba1f447e6 100644 --- a/docs/en/gt-guidelines/trans/ocr_d_koordinationsgremium_codierung.html +++ b/docs/en/gt-guidelines/trans/ocr_d_koordinationsgremium_codierung.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/page_xml_erweiterungen.html b/docs/en/gt-guidelines/trans/page_xml_erweiterungen.html index 3518944d0..a64e97ca4 100644 --- a/docs/en/gt-guidelines/trans/page_xml_erweiterungen.html +++ b/docs/en/gt-guidelines/trans/page_xml_erweiterungen.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/structur_gt.html b/docs/en/gt-guidelines/trans/structur_gt.html index be282ab9c..7ceb90c1e 100644 --- a/docs/en/gt-guidelines/trans/structur_gt.html +++ b/docs/en/gt-guidelines/trans/structur_gt.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/structur_gtdefinition.html b/docs/en/gt-guidelines/trans/structur_gtdefinition.html index fd88c3ebb..0c81c6eb9 100644 --- a/docs/en/gt-guidelines/trans/structur_gtdefinition.html +++ b/docs/en/gt-guidelines/trans/structur_gtdefinition.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/structur_gtgrundlage.html b/docs/en/gt-guidelines/trans/structur_gtgrundlage.html index 0dbd06db2..5f4fa9dd9 100644 --- a/docs/en/gt-guidelines/trans/structur_gtgrundlage.html +++ b/docs/en/gt-guidelines/trans/structur_gtgrundlage.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/structur_gtpageformat.html b/docs/en/gt-guidelines/trans/structur_gtpageformat.html index 84da5c983..fe40602d3 100644 --- a/docs/en/gt-guidelines/trans/structur_gtpageformat.html +++ b/docs/en/gt-guidelines/trans/structur_gtpageformat.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/structurmets2page.html b/docs/en/gt-guidelines/trans/structurmets2page.html index 83b0beb72..d355253fe 100644 --- a/docs/en/gt-guidelines/trans/structurmets2page.html +++ b/docs/en/gt-guidelines/trans/structurmets2page.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trAnfZeichen.html b/docs/en/gt-guidelines/trans/trAnfZeichen.html index 4568ceac0..baabced03 100644 --- a/docs/en/gt-guidelines/trans/trAnfZeichen.html +++ b/docs/en/gt-guidelines/trans/trAnfZeichen.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trBeispiele.html b/docs/en/gt-guidelines/trans/trBeispiele.html index 063c6a2fa..9d1f53648 100644 --- a/docs/en/gt-guidelines/trans/trBeispiele.html +++ b/docs/en/gt-guidelines/trans/trBeispiele.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trBruch.html b/docs/en/gt-guidelines/trans/trBruch.html index 70e61cadb..86757f7c4 100644 --- a/docs/en/gt-guidelines/trans/trBruch.html +++ b/docs/en/gt-guidelines/trans/trBruch.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trDiakritika.html b/docs/en/gt-guidelines/trans/trDiakritika.html index 1f77093b0..f8dd928d9 100644 --- a/docs/en/gt-guidelines/trans/trDiakritika.html +++ b/docs/en/gt-guidelines/trans/trDiakritika.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trDokuKonventionen.html b/docs/en/gt-guidelines/trans/trDokuKonventionen.html index 9fbe0d518..0d20b30b3 100644 --- a/docs/en/gt-guidelines/trans/trDokuKonventionen.html +++ b/docs/en/gt-guidelines/trans/trDokuKonventionen.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trFremdsprache.html b/docs/en/gt-guidelines/trans/trFremdsprache.html index 9fbdfe815..50c5e902a 100644 --- a/docs/en/gt-guidelines/trans/trFremdsprache.html +++ b/docs/en/gt-guidelines/trans/trFremdsprache.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trGedankenstrich.html b/docs/en/gt-guidelines/trans/trGedankenstrich.html index a9aa258d9..5b66ba52b 100644 --- a/docs/en/gt-guidelines/trans/trGedankenstrich.html +++ b/docs/en/gt-guidelines/trans/trGedankenstrich.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trGrundsaetze.html b/docs/en/gt-guidelines/trans/trGrundsaetze.html index a669c1f8c..af55de71f 100644 --- a/docs/en/gt-guidelines/trans/trGrundsaetze.html +++ b/docs/en/gt-guidelines/trans/trGrundsaetze.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trHandschrift.html b/docs/en/gt-guidelines/trans/trHandschrift.html index 95a14ca5f..6000f2d3f 100644 --- a/docs/en/gt-guidelines/trans/trHandschrift.html +++ b/docs/en/gt-guidelines/trans/trHandschrift.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trHochgestellteZahl.html b/docs/en/gt-guidelines/trans/trHochgestellteZahl.html index 858184d22..c2a727dc1 100644 --- a/docs/en/gt-guidelines/trans/trHochgestellteZahl.html +++ b/docs/en/gt-guidelines/trans/trHochgestellteZahl.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trLigatur.html b/docs/en/gt-guidelines/trans/trLigatur.html index 42f3a6655..ceac90d53 100644 --- a/docs/en/gt-guidelines/trans/trLigatur.html +++ b/docs/en/gt-guidelines/trans/trLigatur.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trLigaturen2.html b/docs/en/gt-guidelines/trans/trLigaturen2.html index 905f8549f..7d06db619 100644 --- a/docs/en/gt-guidelines/trans/trLigaturen2.html +++ b/docs/en/gt-guidelines/trans/trLigaturen2.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trNasalstrich.html b/docs/en/gt-guidelines/trans/trNasalstrich.html index 023f7ec1f..d6a0ba697 100644 --- a/docs/en/gt-guidelines/trans/trNasalstrich.html +++ b/docs/en/gt-guidelines/trans/trNasalstrich.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trPage.html b/docs/en/gt-guidelines/trans/trPage.html index 37ecadd6b..ba61cae91 100644 --- a/docs/en/gt-guidelines/trans/trPage.html +++ b/docs/en/gt-guidelines/trans/trPage.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trRom.html b/docs/en/gt-guidelines/trans/trRom.html index 0b6e1e7fa..5e8846ac9 100644 --- a/docs/en/gt-guidelines/trans/trRom.html +++ b/docs/en/gt-guidelines/trans/trRom.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trSchreibungIJ.html b/docs/en/gt-guidelines/trans/trSchreibungIJ.html index 6cc66e55b..4ae8e979b 100644 --- a/docs/en/gt-guidelines/trans/trSchreibungIJ.html +++ b/docs/en/gt-guidelines/trans/trSchreibungIJ.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trSchreibungR.html b/docs/en/gt-guidelines/trans/trSchreibungR.html index 1ed9855c2..de017b1a9 100644 --- a/docs/en/gt-guidelines/trans/trSchreibungR.html +++ b/docs/en/gt-guidelines/trans/trSchreibungR.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trSchreibungS.html b/docs/en/gt-guidelines/trans/trSchreibungS.html index a1613b1d9..1ea036b09 100644 --- a/docs/en/gt-guidelines/trans/trSchreibungS.html +++ b/docs/en/gt-guidelines/trans/trSchreibungS.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trSchreibungUV.html b/docs/en/gt-guidelines/trans/trSchreibungUV.html index 2c34c80fd..9ee2a8f5f 100644 --- a/docs/en/gt-guidelines/trans/trSchreibungUV.html +++ b/docs/en/gt-guidelines/trans/trSchreibungUV.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trSchreibweisen.html b/docs/en/gt-guidelines/trans/trSchreibweisen.html index 5432bb8bd..afe377e13 100644 --- a/docs/en/gt-guidelines/trans/trSchreibweisen.html +++ b/docs/en/gt-guidelines/trans/trSchreibweisen.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trSilbentrennung.html b/docs/en/gt-guidelines/trans/trSilbentrennung.html index 7c12b4579..7e84b6f44 100644 --- a/docs/en/gt-guidelines/trans/trSilbentrennung.html +++ b/docs/en/gt-guidelines/trans/trSilbentrennung.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trSonderzeichen.html b/docs/en/gt-guidelines/trans/trSonderzeichen.html index c94ccaa16..e28075203 100644 --- a/docs/en/gt-guidelines/trans/trSonderzeichen.html +++ b/docs/en/gt-guidelines/trans/trSonderzeichen.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trTabellen.html b/docs/en/gt-guidelines/trans/trTabellen.html index fd9d8eed6..9c40c9c52 100644 --- a/docs/en/gt-guidelines/trans/trTabellen.html +++ b/docs/en/gt-guidelines/trans/trTabellen.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trUmlaute.html b/docs/en/gt-guidelines/trans/trUmlaute.html index 1ab546791..34df87171 100644 --- a/docs/en/gt-guidelines/trans/trUmlaute.html +++ b/docs/en/gt-guidelines/trans/trUmlaute.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trZeichensetzung.html b/docs/en/gt-guidelines/trans/trZeichensetzung.html index 2627ad49a..53949a8cf 100644 --- a/docs/en/gt-guidelines/trans/trZeichensetzung.html +++ b/docs/en/gt-guidelines/trans/trZeichensetzung.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/tr_compareLevel1_3.html b/docs/en/gt-guidelines/trans/tr_compareLevel1_3.html index 05bd36c4d..f80fe65f6 100644 --- a/docs/en/gt-guidelines/trans/tr_compareLevel1_3.html +++ b/docs/en/gt-guidelines/trans/tr_compareLevel1_3.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/tr_dia_level_1_0.html b/docs/en/gt-guidelines/trans/tr_dia_level_1_0.html index fb11e00a5..6a0042677 100644 --- a/docs/en/gt-guidelines/trans/tr_dia_level_1_0.html +++ b/docs/en/gt-guidelines/trans/tr_dia_level_1_0.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/tr_dia_level_2_0.html b/docs/en/gt-guidelines/trans/tr_dia_level_2_0.html index 82258859c..5ea0567c5 100644 --- a/docs/en/gt-guidelines/trans/tr_dia_level_2_0.html +++ b/docs/en/gt-guidelines/trans/tr_dia_level_2_0.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/tr_dia_level_3_0.html b/docs/en/gt-guidelines/trans/tr_dia_level_3_0.html index c858d9ea3..6b5789b30 100644 --- a/docs/en/gt-guidelines/trans/tr_dia_level_3_0.html +++ b/docs/en/gt-guidelines/trans/tr_dia_level_3_0.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/tr_level_1.html b/docs/en/gt-guidelines/trans/tr_level_1.html index 7081fe72c..cb26214be 100644 --- a/docs/en/gt-guidelines/trans/tr_level_1.html +++ b/docs/en/gt-guidelines/trans/tr_level_1.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/tr_level_1_3.html b/docs/en/gt-guidelines/trans/tr_level_1_3.html index 246f99b3c..773316652 100644 --- a/docs/en/gt-guidelines/trans/tr_level_1_3.html +++ b/docs/en/gt-guidelines/trans/tr_level_1_3.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/tr_level_1_4.html b/docs/en/gt-guidelines/trans/tr_level_1_4.html index 1fe11d08e..11dc293ba 100644 --- a/docs/en/gt-guidelines/trans/tr_level_1_4.html +++ b/docs/en/gt-guidelines/trans/tr_level_1_4.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/tr_level_2.html b/docs/en/gt-guidelines/trans/tr_level_2.html index e4d89d3ee..b329425f0 100644 --- a/docs/en/gt-guidelines/trans/tr_level_2.html +++ b/docs/en/gt-guidelines/trans/tr_level_2.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/tr_level_2_3.html b/docs/en/gt-guidelines/trans/tr_level_2_3.html index 9bf2be1d2..cd190d344 100644 --- a/docs/en/gt-guidelines/trans/tr_level_2_3.html +++ b/docs/en/gt-guidelines/trans/tr_level_2_3.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/tr_level_2_4.html b/docs/en/gt-guidelines/trans/tr_level_2_4.html index 89a030746..00ecf4ca2 100644 --- a/docs/en/gt-guidelines/trans/tr_level_2_4.html +++ b/docs/en/gt-guidelines/trans/tr_level_2_4.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/tr_level_3.html b/docs/en/gt-guidelines/trans/tr_level_3.html index 8da922f5e..9385a181b 100644 --- a/docs/en/gt-guidelines/trans/tr_level_3.html +++ b/docs/en/gt-guidelines/trans/tr_level_3.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/tr_level_3_4.html b/docs/en/gt-guidelines/trans/tr_level_3_4.html index 1d33d423d..0295c2704 100644 --- a/docs/en/gt-guidelines/trans/tr_level_3_4.html +++ b/docs/en/gt-guidelines/trans/tr_level_3_4.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/tr_nasal_level_1.html b/docs/en/gt-guidelines/trans/tr_nasal_level_1.html index a563cb843..2bc95787c 100644 --- a/docs/en/gt-guidelines/trans/tr_nasal_level_1.html +++ b/docs/en/gt-guidelines/trans/tr_nasal_level_1.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/tr_nasal_level_2.html b/docs/en/gt-guidelines/trans/tr_nasal_level_2.html index d10c6c764..52eceb2eb 100644 --- a/docs/en/gt-guidelines/trans/tr_nasal_level_2.html +++ b/docs/en/gt-guidelines/trans/tr_nasal_level_2.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/tr_nasal_level_3.html b/docs/en/gt-guidelines/trans/tr_nasal_level_3.html index 9bd1afde3..8e6a25791 100644 --- a/docs/en/gt-guidelines/trans/tr_nasal_level_3.html +++ b/docs/en/gt-guidelines/trans/tr_nasal_level_3.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/transkription.html b/docs/en/gt-guidelines/trans/transkription.html index a7535bb8f..a9c88505e 100644 --- a/docs/en/gt-guidelines/trans/transkription.html +++ b/docs/en/gt-guidelines/trans/transkription.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/gt-guidelines/trans/trtiefgestellteZahl.html b/docs/en/gt-guidelines/trans/trtiefgestellteZahl.html index 41ee8bec5..a3e6e98eb 100644 --- a/docs/en/gt-guidelines/trans/trtiefgestellteZahl.html +++ b/docs/en/gt-guidelines/trans/trtiefgestellteZahl.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/imprint.html b/docs/en/imprint.html index 90737d50f..82fd96e32 100644 --- a/docs/en/imprint.html +++ b/docs/en/imprint.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/index.html b/docs/en/index.html index 9fc4ba4c6..8b298bd7b 100644 --- a/docs/en/index.html +++ b/docs/en/index.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/initial-tests.html b/docs/en/initial-tests.html index 391cbc2ed..a57e37cf2 100644 --- a/docs/en/initial-tests.html +++ b/docs/en/initial-tests.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/kwalitee.html b/docs/en/kwalitee.html index 4fbb459b4..37af8b1a4 100644 --- a/docs/en/kwalitee.html +++ b/docs/en/kwalitee.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/module-processors.html b/docs/en/module-processors.html index e04852307..5c667510f 100644 --- a/docs/en/module-processors.html +++ b/docs/en/module-processors.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/module-projects.html b/docs/en/module-projects.html index 75b6fa635..e2948d75b 100644 --- a/docs/en/module-projects.html +++ b/docs/en/module-projects.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/ocrd-gt-repo.html b/docs/en/ocrd-gt-repo.html index 4fe5277fd..710549386 100644 --- a/docs/en/ocrd-gt-repo.html +++ b/docs/en/ocrd-gt-repo.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/platforms.html b/docs/en/platforms.html index 30faaf394..320398a41 100644 --- a/docs/en/platforms.html +++ b/docs/en/platforms.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/project-summary.html b/docs/en/project-summary.html index c94c77c87..4b19a1fdf 100644 --- a/docs/en/project-summary.html +++ b/docs/en/project-summary.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/project.html b/docs/en/project.html index 05536edb9..2cfeac3b5 100644 --- a/docs/en/project.html +++ b/docs/en/project.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/publications.html b/docs/en/publications.html index 6b093c3d1..033d0dc59 100644 --- a/docs/en/publications.html +++ b/docs/en/publications.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/setup.html b/docs/en/setup.html index 90481eb35..fbc86da99 100644 --- a/docs/en/setup.html +++ b/docs/en/setup.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/spec/CHANGELOG.html b/docs/en/spec/CHANGELOG.html index d7ececdb3..77bbcfdf2 100644 --- a/docs/en/spec/CHANGELOG.html +++ b/docs/en/spec/CHANGELOG.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/spec/README.html b/docs/en/spec/README.html index 76146064c..538aacfbc 100644 --- a/docs/en/spec/README.html +++ b/docs/en/spec/README.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/spec/cli.html b/docs/en/spec/cli.html index ec109a8ae..caa53ff16 100644 --- a/docs/en/spec/cli.html +++ b/docs/en/spec/cli.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/spec/docker.html b/docs/en/spec/docker.html index 2775c5b8e..cf3ca26dd 100644 --- a/docs/en/spec/docker.html +++ b/docs/en/spec/docker.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/spec/glossary.html b/docs/en/spec/glossary.html index ff91b4899..f959d971d 100644 --- a/docs/en/spec/glossary.html +++ b/docs/en/spec/glossary.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/spec/index.html b/docs/en/spec/index.html index 415f9e4ce..cb110a945 100644 --- a/docs/en/spec/index.html +++ b/docs/en/spec/index.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/spec/intro.html b/docs/en/spec/intro.html index a992304d9..79aab9672 100644 --- a/docs/en/spec/intro.html +++ b/docs/en/spec/intro.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/spec/logging.html b/docs/en/spec/logging.html index 4ed6b5d71..8eb3b6cb4 100644 --- a/docs/en/spec/logging.html +++ b/docs/en/spec/logging.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/spec/mets.html b/docs/en/spec/mets.html index c681642f2..0cdce6e4f 100644 --- a/docs/en/spec/mets.html +++ b/docs/en/spec/mets.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/spec/ocrd_tool.html b/docs/en/spec/ocrd_tool.html index 51ffaadf5..740b6d799 100644 --- a/docs/en/spec/ocrd_tool.html +++ b/docs/en/spec/ocrd_tool.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/spec/ocrd_zip.html b/docs/en/spec/ocrd_zip.html index 9b65ff6a7..2318569e8 100644 --- a/docs/en/spec/ocrd_zip.html +++ b/docs/en/spec/ocrd_zip.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/spec/page.html b/docs/en/spec/page.html index 226b3a9f6..49a9ea1da 100644 --- a/docs/en/spec/page.html +++ b/docs/en/spec/page.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/spec/provenance.html b/docs/en/spec/provenance.html index 1b6560d08..1a5478941 100644 --- a/docs/en/spec/provenance.html +++ b/docs/en/spec/provenance.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/use.html b/docs/en/use.html index 632bf88f8..d72697b01 100644 --- a/docs/en/use.html +++ b/docs/en/use.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/user_guide.html b/docs/en/user_guide.html index c2190c10e..59a6278f9 100644 --- a/docs/en/user_guide.html +++ b/docs/en/user_guide.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/user_survey.html b/docs/en/user_survey.html index 1e1ee45b8..ef4f137ae 100644 --- a/docs/en/user_survey.html +++ b/docs/en/user_survey.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows diff --git a/docs/en/workflows.html b/docs/en/workflows.html index 1bfd3906e..537f5ef98 100644 --- a/docs/en/workflows.html +++ b/docs/en/workflows.html @@ -138,6 +138,11 @@ + OCR models + + + + Workflows @@ -178,106 +183,120 @@