Anhang B – Applikationen

Die Zentrale Applikation zur Verarbeitung der Bildsequenzen ist mpeg2points. Dieses Programm liest die Bildsequenzen ein, verarbeitet sie, erstellt die Differenzbilder und erkennt daraus die Stiftpositionen welche dann in einer Textdatei abgespeichert werden. Der Programmfluss wird durch eine Vielzahl von Parametern gesteuert. Um den Anwender nicht über Gebühr mit komplizierten Kommandozeilenparametern zu belasten stehen für mpeg2points zusätzliche Hilfsprogramme zur Verfügung.

viewimages lässt den Anwender die Bildsequenzen betrachten und eine massgeschneiderte Konfigurationsdatei erstellen. Nach der Verarbeitung der Daten dient viewpoints dazu, die Resultate zu sichten und die Verbesserung und Ausgabe der Online-Daten zu steuern. Das Programm HTMLreport.pl erlaubt es, aufgrund der Konfigurationsdateien von viewimages, diverse Berechnungen von Bildsequenzen mit mpeg2points vorzunehmen. Hierbei ist es möglich einen Parameter verschiedene Werte in einem Bereich annehmen zu lassen oder verschiedene Methoden zur Erkennung der Stiftposition zu testen. Die einzelnen Instanzen von mpeg2points können auf anderen Rechnern im Netzwerk ausgeführt werden. Die Resultate von HTMLreport.pl werden übersichtlich in einer HTML-Datei, welche mit jedem gängigen Web-Browser betrachtet werden kann, dargestellt. Ein JAVA-Applet (1) erlaubt es die Online-Daten animiert darzustellen.

Die vier Hauptapplikationen mpeg2points, viewimages, viewpoints und HTMLreport.pl werden in den nächsten Abschnitten vorgestellt. Dem Anwender wird die Möglichkeit geboten diese Programme zu benutzen und damit Bildsequenzen verarbeiten zu lassen.

mpeg2points

Wie bereits oben erwähnt wurde, ist mpeg2points die zentrale Applikation. Gesteuert durch Kommandozeilenparameter verarbeitet sie die Eingabesequenzen und gibt die Resultate und zusätzliche Infos in Form von Dateien aus. Die Syntax des Programmaufrufes von mpeg2points kann Bild 89 entnommen werden. Ein Beispiel ist in Bild 90 abgebildet. Die Parameter von mpeg2points haben folgende Bedeutung:

mpeg legt die Eingabesequenz fest, welche als Quelle der Verarbeitung dient. Hierzu wird der Pfad zu den Einzelbildern, das Präfix und die Anzahl Ziffern mit der die Bilder numeriert werden benötigt. Bei der Sequenz test0000.ppm, test0001.ppm, test0002.ppm, etc. ist test das Präfix und die Sequenz wird 4-stellig numeriert.

win bestimmt die Bounding-Box fest in welcher das Wort oder die Textzeile gefunden werden kann. Dank dieser Bounding-Box kann die Berechnung stark beschleunigt werden und die Qualität der Resultate ist besser. Die Bounding-Box wird mit 2 Koordinatenpaaren für die obere linke bzw. die untere rechte Ecke definiert.

mask bestimmt die Anzahl der Expansionsstufen der Maske. Die Maske wird verwendet um den Suchbereich nach Stiftpositionen auf die unmittelbare Umgebung des Schriftzuges zu beschränken. Die Maske wird durch mehrfache Expansion des binären Bilds des kompletten Wortes oder Textzeile erzeugt.

winsize Um den Suchraum weiter einzuschränken werden neue Stiftpositionen nur in einer quadratischen Umgebung um die letzte gültige Stiftposition gesucht. Dieser Parameter bestimmt die Seitenlänge dieses Quadrates in Pixeln.

interval Diese beiden Zahlen bestimmen den Index des ersten und letzten Einzelbilds des Intervalls der Bildsequenz, welches zur Verarbeitung betrachtet werden muss.

mpeg2points -mpeg Dateipfad Dateipräfix Anzahl_Ziffern
-win x1 y1 x2 y2
-mask Maskengrösse
-winsize Fenstergrösse
-interval Startbild Stopbild
-lookahead Anzahl_Bilder_Lookahead
-area Verhältnis
-otsu Varianzschwellwert
-method neighbour | simple | median | iterative
-interpolate   Maximale_Lückengrösse
Längste_zulässige_Strecke
Maximale_Lückenzahl

-result Reportpfad
-word 'Wort'
–reportDeltas
–reportImages

Bild 89: Syntax des Programmaufrufes von mpeg2points

lookahead bestimmt die Anzahl unmittelbar folgender Einzelbilder auf ein benachbartes Bildpaar, welche bei der Berechnung des Differenzbilds zur Korrektur hinzugezogen werden.

area ist eine Fliesskommazahl im Bereich von 0.0 bis 1.0 und legt den maximalen Anteil der Fläche, welche die dunklen Punkte des Differenzbilds aufspannen, an der Fenstergrösse fest.

otsu legt die minimal zulässige Varianz des Histogramms im Algorithmus von Otsu fest. Ist die Varianz grösser als der Schwellwert wird mit dem Threshold von Otsu eine Binärisierung des Differenzbilds durchgeführt, ansonsten wird keine Stiftposition erkannt.

method bestimmt die Routine welche zur Bestimmung der Stiftposition verwendet werden soll. Es stehen simple (vgl. "3.6.3 Einfacher Mittelpunkt"), iterative (vgl. "3.6.4 Iterativer Mittelpunkt"), median (vgl. "3.6.5 Mittelpunkt durch Median-Methode") und neighbour (vgl. "3.6.6 Mittelpunkt durch Neighbour-Methode") zur Verfügung.

interpolate steuert die Verbesserung der Online-Daten durch Interpolation. Die erste Zahl legt fest wie lange der Abstand zwischen zwei Stiftpositionen maximal sein darf. Die zweite Zahl dient als Obergrenze der Länge einer Verbindung zwischen zwei Punkten. Die dritte legt schliesslich fest viele leere Stiftpositionen zwischen zwei korrekten Stiftpositionen liegen dürfen um mittels Interpolation noch verbessert zu werden.

result In diesem Dateipfad werden die Resultate, in Form von Textdateien mit den Online-Daten und Bildern, abgespeichert. Bestehende Dateien werden hierbei durch die neuen Dateien überschrieben.

word Der Text der auf dieses Schlüsselwort folgt ist das Wort welches in dieser Bildsequenz geschrieben wird. Dieser Parameter ist fakultativ, macht bei der Verarbeitung einzelner Worte Sinn, da dieser Label Eingang in die Online-Daten der ETHZ findet und dort benötigt wird um die Korrektheit der Handschrifterkennung zu beurteilen.

reportDeltas ist fakultativ und schaltet die Erzeugung von Debug-Informationen über die Erstellung der Differenzbilder ein. Achtung: Hierdurch wird die Verarbeitung viel langsamer, da pro Differenzbild drei Bilder gespeichert werden.

reportImages ist fakultativ und hat die Speicherung der Bilder nach der Vorverarbeitung, bevor sie zur Erstellung der Differenzbilder verwendet werden, zur Folge.

Eine ausführlichere Besprechung der Parameter befindet sich in "5.2 Parameter der Erfassungsroutine". Dort wird auf sinnvolle Werte der Parameter und die Auswirkung der Parameter auf das Resultat eingegangen.

mpeg2points -mpeg mpeg/wc2/ test 4
-win 105 50 184 80
-mask 2
-winsize 30
-lookahead 3
-interval 225 408
-word 'brick'
-area 0.1
-otsu 40
-method neighbour
-interpolate 5 9 6
-result results/c_brick/

Bild 90: Beispiel für den Programmaufruf von mpeg2points

Als Resultate liefert mpeg2points die Online-Daten in einer Textdatei mit dem Namen points.txt (vgl. Bild 91). Die Online-Daten bestehen aus einem Dateikopf in welchem Informationen über den Bildausschnitt aus der Bildsequenz und das geschriebene Wort abgelegt sind. Danach folgen die aufsteigend numerierten Stiftpositionen (x und y Koordinaten). Wenn nach der Nummer keine Position angegeben ist war der Stift zu dieser Zeit nicht auf dem Papier abgesetzt.

# mpeg2points
Word: brick
Step: 1
Start: 225
Stop: 408
Width: 384
Height: 288
Rectangle: 105 50 184 80
#
0:
1: 109 / 58
2: 110 / 57
3:
4:
5:
6: 110 / 60
7: 110 / 61
8: 110 / 62
9: 111 / 64
10: 111 / 65
11: 111 / 67
12: 111 / 69
13: 111 / 71
14: 111 / 72
15: 112 / 74
16: 112 / 74
17:
18:
19:
20:
21:
22:
23:
24:
25:
26: 110 / 69

etc.

Bild 91: Ausschnitt der Online-Daten aus der Datei points.txt

Das Bild des Worts befindet sich in den Dateien lastImage.ppm bzw. lastImage.gif. Eine Zusammenstellung des Resultates wird in einer HTML-Datei mit dem Namen index.html abgelegt. Hiermit besteht die Möglichkeit die verwendeten Parameter und die Resultate der Erkennung wie in Bild 92 auf einen Blick einzusehen.

Bild 92: Report von mpeg2points als HTML-Datei (dargestellt in Netscape Navigator)

viewimages

Mit der Applikation viewimages wird die Betrachtung der Bildsequenzen vereinfacht. Der Benutzer kann in einer grafischen Benutzeroberfläche (vgl. Bild 93) alle Bilder der Sequenz betrachten und den geeigneten Ausschnitt daraus festlegen. Durch das Zeichnen eines Rechtecks über dem Bild kann die Bounding-Box bestimmt werden. Das aktuelle Bild wird sofort als letztes Bild des Intervalls der Sequenz bestimmt. Der Bildausschnitt in der Bounding-Box wird binärisiert und dient als Basis zur Erstellung der Maske. Diese Maske wird ab sofort auf jedes dargestellte Bild angewendet (vgl. Bild 94). Die nötige Grösse der Maske lässt sich hiermit leicht feststellen. Alle Bilder des Intervalls können mit Hilfe des Schiebereglers angezeigt werden. Dabei sollte geprüft werden, dass der selektierte Schriftzug immer vollständig dargestellt wird. Sollte dies nicht der Fall sein, muss die Maske vergrössert werden.

Bild 93: viewimages zeigt die Einzelbilder einer Bildsequenz dar

Jetzt sollte noch das Bild des Intervalls der Sequenz gesucht werden mit dem der selektierte Schriftzug beginnt. Mit dem Knopf Set Start wird dieses Bild markiert. Der Bildausschnitt und das Intervall sind nun bestimmt. Die anderen Parameter sind auf Standardwerte eingestellt und können noch angepasst werden. Um die Konfigurationsdatei für HTMLreport.pl erstellen zu können, muss deren Name im Feld Filename im Bereich Write CFG eingegeben werden. Das Drücken des Knopfs Write CFG speichert die Datei ab.

Beim Aufruf von viewimages muss das Quellverzeichnis der Bildsequenz und ev. das Präfix der Bilddateien und die Anzahl der Ziffern welche zur Numerierung benutzt wurden angegeben werden. Folgende Aufrufe sind beispielhaft für die Verwendung:


viewimages mpeg/bc1/
resp.
viewimages mpeg/bc1/ test 4

Hierbei werden die Bilder aus dem (relativ) erreichbaren Verzeichnis mpeg/bc1/ geladen. Die Namen der Einzelbilder sind von der Form test0000.ppm, test0001.ppm, test0002.ppm, etc.

Bild 94: viewimages stellt nach der Festlegung der Bounding-Box und der Maskierung nur noch den Ausschnitt aus der Bildsequenz dar, welcher später von mpeg2points für die Erstellung der Differenzbilder verwendet wird

HTMLreport.pl

Dieses PERL-Skript dient dazu Bildsequenzen zu berechnen, welche durch viewimages oder von Hand mit Konfigurationsdateien versehen wurden. Hierzu verarbeitet HTMLreport.pl die Konfigurationsdatei und lässt die notwendigen Berechnungen von mpeg2points ausführen. Diese Berechnungen lassen sich sowohl auf der lokalen Maschine als auch auf Workstations im Netzwerk ausführen. Diese Workstations müssen den Befehl rsh installiert haben und der lokalen Maschine trauen (trusted host (2) ). Zudem müssen alle Verzeichnisse unter den genau gleichen Dateipfaden auf allen Maschinen verfügbar sein. Im Netzwerk der SUN Workstations am IAM ist dies problemlos möglich.

HTMLreport.pl wird wie in Bild 95 aufgerufen. Die Angabe der Konfigurationsdatei ist zwingend. Der Aufbau dieser Datei wurde bereits in "5.2 Parameter der Erfassungsroutine" erläutert. Bild 64 zeigt diese Konfigurationsdatei zur Illustration nochmals auf. HTMLreport.pl liest diese Konfigurationsdatei ein und speichert alle Parameter. Diese Parameter steuern die Verarbeitung der Bildsequenzen durch mpeg2points. Pro Erfassungsmethode in der Konfigurationsdatei (Zeile 31 von Bild 96) wird ein Aufruf von mpeg2points getätigt. So können die verschiedenen Resultate der Methoden zur Bestimmung der Stiftposition miteinander verglichen werden.

HTMLreport.pl Konfigurationsdatei
[ Parameter Start Stop Step ]

wobei

Parameter = lookahead|winsize|otsuvariance|
masksize|area|
intermin|intermax|intergap

Bild 95: Aufrufsyntax von HTMLreport.pl

Wird ein fakultativer Parameter mit Start- und Stopwerten angegeben, dann wird dieser Parameter von HTMLreport.pl mit verschiedenen Werten versehen und zur Verarbeitung benutzt. Wird also nach der Konfigurationsdatei z.B. noch "lookahead 2 5 1" aufgeführt, so wird je eine Berechnung mit einem Lookahead von 2, 3, 4 und 5 ausgeführt. Die zulässigen Parameter sind in Bild 95 aufgelistet.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

# Config File to generate an HTML report
#
word=an

# Configuration of the Result-Destination
report_dir=results/
report_name=c_an
report_details=

# Configuration of the Data-Source
source_dir=mpeg/wc1/
source_name=test
source_digits=4

# Select window and interval of source
window=289 19 328 40
start=605
end=680

# Defaults for variable parameters
winsize=40
lookahead=3
otsuvariance=40
intermin=5
intermax=10
intergap=3
masksize=2
area=0.1

# List of detection methods
methods=neighbour,median

Bild 96: Beispiel einer Konfigurationsdatei für HTMLreport.pl

Alle Parameter der Konfigurationsdatei werden 1:1 an mpeg2points weitergeleitet. Die Wahl der Parameter und die Möglichkeiten können dem Beschrieb von mpeg2points entnommen werden.

Wie bereits erwähnt ruft HTMLreport.pl das Programm mpeg2points auf und weist dieses an seine Resultate (Textdatei, Bilder, HTML-Report) unterhalb des Reportverzeichnisses (Zeilen 6 bis 8 in Bild 96) von HTMLreport.pl abzulegen. HTMLreport.pl seinerseits erzeugt eine HTML-Datei mit dem Namen report.html. Diese Datei enthält einen tabellarische Aufstellung der verschiedenen Resultate der verarbeiteten Bildsequenz. Horizontal werden die Erfassungsmethoden angeordnet. Vertikal werden wie in Bild 98 die verschiedenen Ausprägungen des variablen Parameter aufgezeigt. Wurde kein variabler Parameter angegeben, dann wird wie in Bild 97 eine einzige Zeile mit den unveränderten Parametern aus der Konfigurationsdatei dargestellt.

Bild 97: Einfacher Report von HTMLreport.pl. Das Wort "brick" wurde sowohl mit der Median- als auch mit der Neighbour-Methode in Online-Daten konvertiert.

Bild 98: HTMLreport.pl bietet auch die Möglichkeit in einem Report sowohl mehrere Erfassungsroutinen (Horizontal: Simple, Iterative, Median und Neighbour) als auch verschiedene Werte für einen Parameter (Vertikal: Winsize 30, 35 und 40) in einer übersichtlichen Tabelle darzustellen.

Sollen die Bildsequenzen auf verschiedenen Workstations im Netzwerk berechnet werden, muss die Datei hosts.cfg von Bild 99 entsprechend angepasst werden. Minimal enthält hosts.cfg die Zeile "localhost,1,1". Hiermit werden alle Bilder auf der lokalen Maschine berechnet. Dabei wird eine Variante der Sequenz nach der anderen berechnet. Sollen weitere Rechner verwendet werden muss für diese je eine Zeile der Form "hostname,speed,tasks" zugefügt werden. speed dient als Mass der Geschwindigkeit. Die anstehenden Verarbeitungsaufgaben werden proportional zum Wert von speed vergeben. Eine Maschine mit Speedindex 2 erhält also ca. doppelt so viele Jobs wie eine Maschine mit Speedindex 1. tasks Legt fest wieviele der Jobs gleichzeitig verarbeitet werden sollen. Sinnvoll sind hier 1 oder 2 gleichzeitige Berechnungen. Wenn mehr als zwei Jobs gleichzeitig abgearbeitet werden sollen macht dies nur auf einer Maschine mit mehreren Prozessoren Sinn. Ansonsten wird die Verarbeitung durch den Verwaltungsaufwand der Jobs gebremst.

# List of Hosts to use for processing
#
# Hostname, Speedindex, # of tasks

localhost,4,1
notebook,2,2
tower,1,2
db_server,1,2

Bild 99: Die Datei hosts.cfg legt die Verwendung von Workstations im Netzwerk zur Verarbeitung von Bildsequenzen mit HTMLreport.pl fest

Durch die Datei hosts.cfg von Bild 99 werden die Verarbeitungen auf vier Rechnern ausgeführt. Dies sind einerseits die lokale Maschine und drei vernetzte Rechner. Zwei dieser Rechner sind langsam und haben einen Speedindex von 1. Der Rechner notebook ist doppelt so schnell und die lokale Maschine ist nochmals doppelt so schnell. Wenn 20 Jobs anstehen, so würden 10 Jobs auf der lokalen Maschine, 6 Jobs auf notebook und je 2 Jobs auf den langsamen Maschinen berechnet. Auf den vernetzten Maschinen werden immer zwei Jobs gleichzeitig berechnet. Dies macht Sinn, weil die Verbindung über das Netzwerk langsam ist und durch die gleichzeitige Verarbeitung von zwei Jobs die Maschinen langsamer arbeiten und nicht warten müssen bis die einzelnen Bilder übers Netz übertragen werden.

Im Report von HTMLreportl.pl wird zudem ein JAVA-Applet integriert (vgl. Bild 100). Diese Funktionalität ist aber nur auf Web-Browsern verfügbar welche JAVA-fähig sind. Dank diesem JAVA-Applet lassen sich die berechneten Online-Daten animiert darstellen. Hierzu kann oben rechts im Applet die gewünschte Parameterkombination gewählt werden und die entsprechenden Online-Daten durch Drücken des Knopfs Fetch new situation geladen werrden. Das Bild des Schriftzuges wird im weissen Bildschirmfenster dargestellt. Rechts vom Bildbereich kann die Vergrösserung des Wortes gewählt werden.

Um die Online-Daten darzustellen muss der Knopf Show gedrückt werden. Die Linienzüge werden mit einer Verzögerung dargestellt. Die Geschwindigkeit der Darstellung lässt sich ebenfalls rechts vom Bildbereich einstellen. Auf diese Art werden die rohen, unverbesserten Online-Daten dargestellt. Diese Darstellung ist normalerweise unbefriedigend. Unten rechts im Applet lässt sich die Interpolation zur Verbesserung der Online-Daten einschalten. Die Parameter der Interpolation können in der untersten Reihe eingestellt werden. Distance Min gibt die maximale Distanz an, welche noch durch Interpolation verbunden werden kann. Distance Max begrenzt die maximale Länge einer Verbindung zwischen zwei aufeinanderfolgenden Stiftpositionen in den Online-Daten. Number of Gaps schliesslich gibt die maximale Anzahl überbrückbarer Lücken in den Online-Daten an.

Bild 100: In einem JAVA-fähigen Web-Browser wird der Report von Bild 97 um ein JAVA-Applet (untere Hälfte) ergänzt. In diesem Applet können die Online-Daten der berechneten Resultate verbessert und animiert betrachtet werden.

Der Schalter Eliminate Runaways erlaubt eine weitere Verbesserung der Online-Daten. Hierbei werden Ausreisser (Stiftpositionen die zu weit von den benachbarten Positionen entfernt sind) eliminiert. Hierzu werden bei drei aufeinanderfolgenden Stiftpositionen der Abstand der zwei äusseren Punkten mit dem totalen Weg über den mittleren Punkt verglichen. Ist der "Umweg" über den mittleren Punkt zu lang, dann wird der mittlere Punkt wie in Bild 101 durch den Mittelpunkt der beiden äusseren Punkten ersetzt. Diese Verbesserung führt zu direkteren und geraderen Linienzügen, ist aber in der Praxis meistens nicht notwendig.

Bild 101: Der "Umweg" über den Ausreisser unten rechts im linken Teilbild ist zu gross. Daher wird der Ausreisser (graues Kreuz unten rechts) durch den Mittelpunkt der Verbindung (gepunktete Linie links) der beiden Nachbarn ersetzt.

viewpoints

Die Applikation viewpoints entspricht in Grundzügen dem JAVA-Applet von Bild 100. Mit diesem Programm lassen sich die Online-Daten welche, von mpeg2points resp. HTMLreport.pl erfasst wurden, auf dem Bildschirm darstellen, verbessern und im Online-Format der ETHZ speichern. Hierbei hat der Benutzer die Möglichkeit die Entstehung des Schriftzuges Schritt für Schritt zu begutachten und gegebenenfalls zu verbessern.

Beim Aufruf von viewpoints muss das Dateiverzeichnis angegeben werden, in dem Online-Daten (points.txt) und das Bild des Schriftzuges (lastImage.ppm) zu finden sind. In diesem Verzeichnis wurden zuvor die Resultate von mpeg2points gespeichert. viewpoints kann beispielsweise folgendermassen aufgerufen werden:


viewpoints results/c_brick/

Aus dem Verzeichnis results/c_brick/ wird die Datei lastImage.ppm gelesen und am Bildschirm dargestellt. Zudem wird die Textdatei points.txt mit den rohen Online-Daten eingelesen. Wenn viewimages aufgestartet ist wird zuerst nur das Bild des kompletten Schriftzuges dargestellt. Durch Drücken des Knopfs Generate Points werden die gelesenen Online-Daten aufbereitet und als Linienzüge sowohl dem Schriftzug überlagert als auch unterhalb des Schriftzuges dargestellt. Ist der Schalter Interpolate aktiviert, dann werden die Online-Daten mittels Interpolation verbessert. Dieses Vorgehen wurde bereits bei der Applikation mpeg2points als auch beim JAVA-Applet von HTMLreport.pl erläutert und wird hier nicht wiederholt.

Mit den Schieberegler (unten rechts in Bild 102) und den angrenzenden Knöpfen lassen sich die Online-Daten gezielt darstellen. Der Benutzer hat die Möglichkeit die erfassten Stiftpositionen und die zugehörigen Linienzüge Schritt für Schritt darzustellen. Es ist also leicht festzustellen, wie die einzelnen Buchstaben vom Schreiber genau entstanden sind. Hiermit lässt sich die Qualität der Erfassung der Online-Daten prüfen. Wenn der ganze Ablauf der Linienzüge für den Benutzer Sinn macht und dem Vorgehen des Schreibers entspricht, dann wurde die Bildsequenz in gute Online-Daten umgewandelt. Ansonsten kann man Probleme aufdecken und durch geeignete Anpassung der Verarbeitungsparameter ausmerzen.

Bild 102: In viewpoints können die Online-Daten betrachtet und verbessert werden. Auch eine komfortable Ausgabe der Daten im Online-Format der ETHZ ist möglich.

Weiter lassen sich die Online-Daten im speziellen Format der ETHZ exportieren. Auf dieses Format und das Erkennersystem wird im Anhang E genauer eingegangen. Der ETHZ-Erkenner arbeitet immer mit Worten. Wenn eine Folge von Worten an einem Stück verarbeitet wurde, muss diese Wortfolge in die einzelnen Worte aufgetrennt werden. Hierzu muss der Benutzer an den Anfang eines Wortes navigieren, d.h. er muss den Schieberegler so einstellen, dass mit den nächsten Stiftpositionen das neue Wort begonnen wird. Dann muss er das Wort im entsprechenden Feld eingeben und mit Add word in die Liste eintragen lassen. Dieses Vorgehen muss für jedes Wort wiederholt werden. Sind alle Worte in der Liste aufgeführt, dann können die Online-Daten mit Write ETHZ Format exportiert werden. Hierbei wird im Datenverzeichnis die Datei points.ethz erstellt. Write PPM Images generiert ein Bild des reinen Linienzuges (lines_on_blank.ppm) als auch ein Bild der Kombination von Linienzug und Schriftbild (lines_on_image.ppm). Diese Ausgabe ist zu Dokumentationszecken sehr nützlich.


Fussnoten:

1) Ein JAVA-Applet ist ein in der plattformunabhängigen Programmiersprache JAVA geschriebenes Programm, welches direkt innerhalb eines JAVA-fähigen Web-Browsers ausgeführt werden kann.

2) Durch Aufruf von "rsh hostname" lässt sich einfach prüfen ob rsh installiert ist. Wenn die Eingabe eines Passworts nicht nötig ist, dann traut der andere Host der lokalen Maschine.