Pasetti Digital

Vom 29. April 2021 bis 30. Jänner 2022 zeigt die Österreichische Nationalbibliothek im Prunksaal eine Ausstellung zum Donaufluss unter dem Titel Die Donau. Eine Reise in die Vergangenheit. Im Zentrum der Ausstellung steht eine Installation, auf welcher das prominenteste Objekt – die sogenannte Pasetti-Karte der österreichischen Abschnitte des Donaustromes von 1862–1867 – auf 44 Metern Länge grafisch aufbereitet zu bestaunen ist. Über die ÖNB Library Labs steht nun eine digital navigierbare Pasetti-Karte zur Verfügung. In diesem begleitenden Beitrag erklären wir den Mehrwert der Anwendung und wie diese erstellt wurde.

Pasetti-Karte ⮕
Link zur Pasetti-Karte
Abb. 1: Vorschau auf den Viewer der Pasetti-Karte. Durch Klick auf das Bild gelangen Sie direkt zur Karte.

Inhaltsverzeichnis:

  1. Die Pasetti-Karte – Geschichte und Objekt
  2. Digitale Pasetti-Karte der ÖNB Labs
  3. Methoden
  4. Anhang

1. Die Pasetti-Karte – Geschichte und Objekt

Die unter der Bezeichnung Pasetti-Karte bekannte Donau-Karte ist eine kartografische "Bestandsaufnahme" des Donauflusses samt Uferlandschaft vor den eingreifenden Donauregulierungen der zweiten Hälfte des 19. Jahrhunderts (zur Geschichte der Karte vgl. Zeilinger: 2021a und Zeilinger: 2021b). Die Karte zeigt den Fluss der Donau von der deutsch-österreichischen Grenze bis zum Eisernen Tor in einem Maßstab von 1:28.800 basierend auf der Franziszeischen Landesaufnahme und Stromaufnahmen der Zeit vor 1830. Zahlreiche Details zu den Ufern, Strömungen, Tiefen und Verkehrswegen sind aus der Karte ablesbar. Benannt ist sie nach dem Hydrotechniker und Ministerialbeamten Florian von Pasetti (1793–1875), der zahlreiche Bauprojekte für Schiffswege und Häfen im Österreichischen Kaiserreich leitete und für das Projekt der Karten-Edition als Herausgeber zeichnete. Die Initiative zur Karte ging jedoch von Valentin von Streffleur (1808–1870) aus (vgl. Zeilinger 2021b). Alexander Möring (1818–1893) war verantwortlich für Zusammenstellung und Zeichnung, Anton Dolezal für die Umsetzung als Lithografie. Die aufwändige Produktion erfolgte zwischen 1862 und 1867 in 6 Lieferungen aus einzelnen Blättern (1862 lagen bereits vier Lieferungen mit den Blättern 1–28 vor, 1864 (1862 lagen bereits vier Lieferungen mit den Blättern 1–28 vor, 1864 erschien die fünfte Lieferung, 1867 die sechste). Begleitend erschienen 1862 Pasettis Notizen über die Donauregulierung im Österreichischen Kaiserstaate bis zu Ende des Jahres 1861 mit Bezug auf die im K.K.Staatsministerium herausgegebenen Übersichts-Karte der Donau. Die Karte wurde 1862 bei der Londoner und 1867 bei der Pariser Weltausstellung ausgezeichnet. Zweck der Karte war weniger eine fundierte Basis für Regulierungsarbeiten zu geben, sondern "ein öffentliches Bewusstsein für die Bedeutung der Donau und ihre systematische Regulierung zu schaffen" (Zeilinger: 2021b).

Die Karte wurde in Lithografie in Graustufen produziert. Die Blätter der Karte wurden so bedruckt, dass sie beschnitten und zu einem Leporello zusammengefügt werden konnten. "Bemerkenswert ist," – wie die Kuratoren der Donau-Ausstellung vermerken –, "dass mit Hilfe von Zwickelsegmenten der Strom auch korrekt in seinem Nord-Süd-Verlauf abgebildet wird" (Petschar/Zeilinger: 2021, 11). Bei entsprechender Verarbeitung der Zwickel erhält die Karte somit nicht nur eine horizontale, sondern auch eine vertikale Ausdehnung.

Die Kartensammlung der Österreichischen Nationalbibliothek verwahrt zwei Exemplare dieser lithografischen Karte. Ein Exemplar (Signatur KAR FKB 281-7) mit Blättern der Lieferung I–V, welches zu einem Leporello zusammengefügt wurde. Ein zweites Exemplar (Signatur KAR AB 356(9)) umfasst sämtliche Lieferungen in unbearbeiteten Einzelblättern.

Zudem ist in derselben Sammlung ein Exemplar einer früheren Variante überliefert, welche 1857 unter dem Titel Schifffahrts-Karte der Donau im Bereich des Österreichischen Kaiserstaates in 16 Sektionen (von Passau bis Samorin) erschien. Das Exemplar wurde händisch koloriert und dem Kaiser gewidmet (Signatur KAR FKB 279-3). Es war einst Teil der kaiserlichen Privatsammlung (Fideikommissbibliothek). Sämtliche Exemplare wurden digitalisiert und können über ÖNB Digital eingesehen werden (Exemplar KAR FKB 279-3, Exemplar KAR FKB 281-7 und Exemplar KAR AB 356(9)). Aus letztem Exemplar wurde jedoch nur die VI. Lieferung digitalisiert, welche in der virtuellen Karte Pasetti Digital mit den fünf Lieferungen des ersten Exemplars in Graustufen zusammengeführt wurde.

In der grafischen Bearbeitung, wie sie in der Ausstellung installiert wurde und im begleitenden Katalog (Seite 164–201) zu sehen ist, wurden die Teile aus den Varianten zusammengefügt, beschnittet, geglättet, und für die Installation um 20 Prozent vergrößert. Werden die Segmente horizontal ausgerichtet gereiht ergibt sich eine Länge von 36 Metern (im Prunksaal durch die Vergrößerung 44 Meter). Durch die horizontale Anpassung bleibt zwischen den rechteckigen Segementen und den dreieckigen Zwickeln Weißraum. Die gesamte Ausdehnung lässt sich anhand des Übersichtsblattes (Skelett zur Donau-Strom-Karte) erahnen, siehe Abbildung 2.

Übersichtsblatt der Pasetti-Karte
Abb. 2: Übersichtsblatt (sog. Skelett) der Pasetti-Karte. Klicken Sie auf das Bild für eine höhere Auflösung.

2. Digitale Pasetti-Karte der ÖNB Labs

Eine digitale Zusammenführung der Kartenblätter erfolgte nun in den ÖNB Library Labs vor dem Hintergrund der Beschäftigung mit der Erkennung von Bildmerkmalen. Die Annahme war, über die automatisierte Erkennung von charakteristischen Bildmerkmalen eine bessere Überlappung der Segmente zu erreichen als über manuelles Stitching der Segment-Umrisse. Unsere Zielvorgabe war, eine navigierbare, topografisch möglichst akkurate Präsentation der Pasetti-Karte in hoher Auflösung in horizontaler und vertikaler Ausdehnung, wie am Übersichtsblatt vorgesehen, zu erstellen. Navigierbar heißt für uns, dass die Karte den Himmelsrichtungen entsprechend gedreht werden kann und sowohl in als auch aus der Karte gezoomed werden kann. Wie diese Anwendung technisch umgesetzt wurde, wird im nächsten Abschnitt genauer erläutert. Zudem legen wir gemäß unseren Leitlinien die Datengrundlage der Entwicklung und die dafür verwendeten Tools offen. Damit steht die Pasetti-Karte für weiterführende Verarbeitungen und Erweiterungen frei zur Verfügung.

"Die Karte des Donaustroms wird auch heute noch verwendet – trotz gewisser Mängel, was die Genauigkeit und Lagerichtigkeit betrifft. Sie wird für Fragestellungen zur Rekonstruktion der historischen Donau oder auch im Rahmen von ökologischen Restaurations- und Rückbaukonzepten konsultiert" (Zeilinger: 2021a, 159). Eine Georeferenzierung der Karte wäre dafür wünschenswert, bedeutet aber einen hohen Aufwand, der in vorliegender Applikation nicht berücksichtigt werden konnte, zumal die Zuweisung der historischen Orts- und Flurnamen der Karte nicht trivial ist. Das Labs-Team möchte mit der Präsentation der Pasetti-Karte digital Grundlage für diese oder andere Erweiterungen geben.

3. Methoden

In diesem Abschnitt möchten wir einen Einblick in die Methoden und Techniken geben, welche bei der Entwicklung der digitalen Pasetti-Karte verwendet wurden. Der Code für das Zusammenführen der Bilddaten wurde in Python geschrieben und die Einbindung des Viewers in JavaScript bzw. HTML. Wir verwenden die Programmbibliothek OpenCV, welche viele Algorithmen zur Bildbearbeitung beinhaltet und dem Leitbild der Labs entspricht, Open Source Software zu verwenden.

Erkennen und Beschreiben von Merkmalen

Wir verwenden bereits implementierte Algorithmen in OpenCV zur Erkennung und Beschreibung von Bildmerkmalen. Zur Veranschaulichung dafür, was "gute" Merkmale sind, siehe das folgende schematische Bild:

Typische Bildmerkmale
Abb. 3: Schematische Darstellung von Bildmerkmalen anhand eines uniform hellblau eingefärbten Rechtecks.

Das Gebiet im roten Rechteck mitten im Bild kann nur schwer gefunden werden, denn durch Verschieben des roten Rechtecks innerhalb des größeren hellblauen Bilds verändert sich sein Inhalt nicht. Das dunkelblaue Rechteck hingegen liegt an einer Kante und eine Verschiebung nach oben oder unten bewirkt eine Veränderung seines Inhalts. Allerdings kann es nach rechts oder links verschoben werden ohne Änderung. Schließlich betrachten wir das grüne Rechteck in der rechten oberen Ecke des Bilds. Jede Art von Verschiebung verändert seinen Inhalt und so kann seine Position eindeutig bestimmt werden. Auf diesem Bild sind also die Ecken des hellblauen Rechtecks "gute" Merkmale zur Beschreibung. Wir verweisen auf die Dokumentation von OpenCV zu Feature detection and description für mehr Details.

In der folgenden Abbildung haben wir Bildmerkmale aus zwei aufeinander folgenden Scans markiert. Anhand der erzeugten Deskriptoren zu jedem Merkmal wurden die wahrscheinlichsten Treffer mit Linien verbunden. Am Schriftzug "Wien" ist gut zu erkennen, wie wichtig Kanten und kontrastreiche Gegenden im Bild für die Merkmalserkennung sind.

Markierte Bildmerkmale
Abb. 4: Ausschnitt aus zwei aufeinanderfolgenden Scans der Karte um Wien mit identifizierten Bildmerkmalen. Klicken Sie auf das Bild für eine höhere Auflösung.

Vergleich der Algorithmen

In OpenCV ist eine große Zahl an Algorithmen zur Merkmalserkennung und -beschreibung implementiert, die qualitativ unterschiedliche Ergebnisse liefern für unseren Anwendungsfall: Es werden manche Bilder mit Überlapp nicht als zusammengehörig erkannt oder gar fälschlich zugeordnet, sowie bei richtiger Zuordnung der Bilder falsche Koordinaten ermittelt, bis hin zur gewünschten richtigen Zuordnung und exakten Koordinaten. Daher haben wir fünf der Algorithmen (AKAZE, BRISK, KAZE, ORB, SIFT) untereinander verglichen anhand des Konfidenz-Werts, der ausgegeben wird. Siehe den nachfolgenden Graphen für eine Übersicht:

Graph zum Vergleich der Algorithmen
Abb. 5: Gemittelte Konfidenz-Werte von in OpenCV implementierten Algorithmen (AKAZE, BRISK, KAZE, ORB, SIFT) aufgetragen gegen den Input-Parameter, welcher die Schranke für das Verhältnis zwischen den Distanzen nächster Nachbarn ist (nearest neighbour distance ratio, zwischen 0 und 1). Die Skala des Konfidenz-Werts ist willkürlich, die verschiedenen Algorithmen sind daher nicht direkt vergleichbar mit diesem Wert.

Die Entscheidung fiel zugunsten SIFT (scale-invariant feature transform), dieser hat nicht nur einen guten mittleren Konfidenz-Wert, sondern es werden auch (im Gegensatz zu ORB) alle diejenigen Bilder korrekt als zusammengehörig identifiziert, welche auch Überlapp haben.

Koordinaten-Bestimmung

Aus der sogenannten Homographie-Matrix, die vom Algorithmus geliefert wird, extrahieren wir Winkel, Skala und Verschiebung (in x- und y-Richtung) zweier Bilder relativ zueinander. Dies rechnen wir dann um, so dass alle Koordinaten relativ zu einem Fixpunkt (in unserem Fall das erste Bild) angegeben werden. Hier ein Auszug aus der JSON-Datei, welche alle Koordinaten enthält:

0: {'src_name': '10.jpg', 'src_shape': [4578, 3150], 'dst_name': '9.jpg', 'dst_shape': [4224, 3136], 'angle': -0.08323251825809101, 'scale': 0.9987168967645754, 'x': 3624.6878848288798, 'y': -1.3621290527400665}
1: {'src_name': '11.jpg', 'src_shape': [4542, 3791], 'dst_name': '9.jpg', 'dst_shape': [4224, 3136], 'angle': -0.47064110395516434, 'scale': 0.99932858086887, 'x': 7260.183542012214, 'y': 7.561213364046086}
2: {'src_name': '12.jpg', 'src_shape': [4422, 3780], 'dst_name': '9.jpg', 'dst_shape': [4224, 3136], 'angle': -0.3934912301887074, 'scale': 0.999136761213508, 'x': 11020.240986670498, 'y': 46.98343930721032}
3: {'src_name': '13.jpg', 'src_shape': [4619, 3515], 'dst_name': '9.jpg', 'dst_shape': [4224, 3136], 'angle': -0.434097036012544, 'scale': 0.9986708756016456, 'x': 14872.032249592248, 'y': -281.46732838637723}
4: {'src_name': '14.jpg', 'src_shape': [5896, 4119], 'dst_name': '9.jpg', 'dst_shape': [4224, 3136], 'angle': 18.600059627212573, 'scale': 1.0020764862820368, 'x': 17516.73162454565, 'y': -512.0283243361719}

Diese Koordinaten konnten allerdings nicht für alle Bilder automatisiert erzeugt werden. Einige Abschnitte der Karte (im Bereich der großflächigen III. Lieferung) wurden zunächst zusammengeklebt und dann danach – wohl zur besseren Lagerung – wieder auseinandergeschnitten. Die Scans dieser Bereiche zeigen keinen Überlapp zwischen den Bildern und wir haben daher die Verbindungen zwischen diesen Komponenten manuell nach Augenmaß erzeugt. Für die VI. Lieferung musste dies für jedes Bild gemacht werden, da diese nur in Einzelblättern vorliegt. Weiterhin wurden für alle Bilder binäre Masken manuell erstellt, damit geringere Unschärfen und weniger Artefakte im finalen Panoramabild zu sehen sind. Wir präsentieren ein Beispiel von Blatt 38a aus der VI. Lieferung, bei dem drei einzelne Teile ausgeschnitten wurden:

Blatt 38a der Pasetti-Karte Binäre Maske für den ersten TeilBinäre Maske für den zweiten TeilBinäre Maske für den dritten Teil
Abb. 6: Das Blatt 38a aus der VI. Lieferung liegt nur als Druckbogen vor und die drei Teilstücke wurden daher von uns mittels (manuell erstellter) binärer Masken ausgeschnitten.

Zerlegen in Kacheln

Aufgrund der enormen Größe des Panoramabilds wäre es wenig sinnvoll dieses als einzelnes Bild abzuspeichern und anzuzeigen. Wie man auf dem Übersichtsblatt (siehe oben in Abschnitt 1) sehen kann würde so auch sehr viel leerer Raum entstehen in einem gedachten rechteckigen Gesamtbild. Auch für den gewünschten Einsatz in einer Webanwendung wäre es wünschenswert, wenn das Bild unterteilt werden könnte in kleinere Teile. Die hier umgesetzte Lösung ist, aus dem gedachten großen Panoramabild Kacheln auszuschneiden und diese nur abzuspeichern, falls die Kachel nicht komplett schwarz ist. Nach Herumprobieren mit der Anzahl (beziehungsweise der Größe) der Kacheln hat sich 3000 ⨯ 3000 Pixel als ein guter Wert herausgestellt. Siehe den folgenden Ausschnitt aus der Karte um Wien für ein Beispiel von drei aufeinander folgenden Kacheln:

Kachel 1Kachel 2Kachel 3
Abb. 7: Drei horizontal aufeinander folgende Kacheln, die aus dem zusammengesetzten Panorama ausgeschnitten wurden.

Anzeige mit dem OpenSeadragon Viewer

Zur Anzeige der erzeugten Kacheln ist der OpenSeadragon Viewer sehr gut geeignet. Er wird verwendet, um hochaufgelöste Bilder in einer Web-Anwendung zu präsentieren. Durch seine Unterstützung der IIIF-Standards passt er sehr gut zur vorhandenen Infrastruktur an der ÖNB, denn die Kacheln werden von einem IIIF-Server bereitgestellt. Wir haben die Benutzeroberfläche des Viewers um zwei Elemente erweitert, zum einen um einen Info-Button und zum anderen um ein Kompass-Widget, mit dem die Karte gedreht werden kann. Siehe die nachfolgende Abbildung für Ausschnitte aus der Benutzeroberfläche.

BedienknöpfeKompass-Widget
Abb. 8: Zwei Ausschnitte aus der Benutzeroberfläche des Viewers: Links die Leiste mit Knöpfen zum Rein-/Rauszoomen, Zurückkehren zur Startposition, Vollbildschirm und Info-Panel, und rechts das Kompass-Widget.

4. Anhang

Tools/Daten

NameBeschreibungLink

OpenCV

Programmbibliothek mit Algorithmen für die Bildverarbeitung und Computer Vision

OpenCV Homepage

GIMP – GNU Image Manipulation Program

Pixelbasiertes Grafikprogramm mit Funktionen zur Bildbearbeitung und zum digitalen Malen von Rastergrafiken

GIMP Homepage

OpenSeadragon Viewer

Web-basierter Viewer für hochauflösende zoombare Bilder

OpenSeadragon Viewer Homepage

IIIF Manifeste der gescannten Bilder

Enthält Metadaten und Direktlinks zu den Bilddaten

Link zu den Lieferungen I–V

Link zur Lieferung VI

Koordinaten im JSON Format

Enthält die Daten, welche verwendet wurden um die einzelnen Scans relativ zueinander zu platzieren

Link zu complete_data.json

Mitmachen

Für besonders Neugierige ist der komplette Code im Repository zum Projekt auf unserem öffentlichen GitLab verfügbar. Wir freuen uns, wenn unsere BenutzerInnen zu den Projekten beitragen.

Speziell interessant bei diesem Projekt ist, dass auch eine manuell kolorierte Donau-Karte existiert (welche fünf Jahre zuvor veröffentlicht wurde und sich nicht so weit erstreckt, siehe die Diskussion im Abschnitt 1 und hier für das IIIF-Manifest dazu). Um diese Version der Karte ebenso präsentieren zu können wie die Schwarz-Weiß-Ausgabe freuen wir uns über Beiträge und Hilfe aus der Labs-Community!

Ein weiterer interessanter Aspekt wäre eine Geo-Referenzierung der Pasetti-Karte mit einer aktuellen Karte, um die Veränderungen am Flussbett sichtbar zu machen.

DiTAH

Dieses Projekt wurde unterstützt durch das Projekt "Digitale Transformation der österreichischen Geisteswissenschaften".

Literatur

  1. Hans Petschar und Elisabeth Zeilinger: Einleitung. In: Die Donau. Eine Reise in die Vergangenheit. Hg. Hans Petschar, Elisabeth Zeilinger. Wien 2021, Seite 8–11.
  2. Elisabeth Zeilinger: Die "Pasetti-Karte": Der Lauf der Donau von Passau bis zum Eisernen Tor. In: Die Donau. Eine Reise in die Vergangenheit. Hg. Hans Petschar, Elisabeth Zeilinger. Wien 2021, Seite 148–161.
  3. Elisabeth Zeilinger: Zur Urheberschaft der Pasetti-Karte. In: Forschungsblog der Österreichischen Nationalbibliothek vom 27.08.2021, https://www.onb.ac.at/forschung/forschungsblog/artikel/zur-urheberschaft-der-pasetti-karte/.