Siemens ST 400 Scanner software
-------------------------------
For: ST-400 scanner, OS 2.04+, 68020+
(works with AGA and graphics card, but
e.g. NewMode is needed with the latter)
This scanner software has been written by Frank-Christian Kruegel
<FCHK@MLO.ZER> in 1991-92 and published under the GNU General Public
License V1. Later on, Henning Peters <faroul@beyond.hb.north.de>
tried to get the stuff running under newer OS and hardware, but
although he did make some changes to the source (for GCC), it
did not work as expected. He asked for some advice in a german
newsgroup, and since I was interested in the program, I asked
him for the source and did some modifications. Me, that
is Andreas R. Kleinert <Andreas_Kleinert@t-online.de> and
here's the - possibly incomplete - list of changes done:
16 Aug 1997: V3.01D [ Andreas R. Kleinert ]
- recompiled with SAS/C V6.58
- view() had been commented out (imginout.c)
11 Aug 1997: V3.00D [ Andreas R. Kleinert ]
- did all necessary modifications for
SAS/C V6.57, MC 68020 recompilation
- removed/changed several odd/obsolete data
definitions
- ANSIfied the source code, added header files
- adjusted the assembler source pieces for
SAS/C ASM
- removed unused variables
- replaced header files with newer versions
- removed compatibility header kludges
- added copy of GNU General Public License V2
- fixed some bugs, e.g. often char wtitle[20]
was refered to as &wtitle instead of &wtitle[0]
and increased its varying sizes
- removed references to "a_lib" includes
- added descriptive headers to all source/include
files
- most includes are done within stscan.h now,
no more redundant/differing stuff
- prefs now located in PROGDIR:
- __USE_SYSBASE defined ;)
- still missing: explicite AGA support
- etc. etc. etc.
1997: V2.50D mod. [ Henning Peters ]
- small changes
1991/92: V2.50D [ Frank-Christian Krügel ]
- initial release
Below is the original, german only, LIESMICH text:
*******************************************************************
Siemens ST 400 Scanner- und Bildverarbeitungssoftware
-----------------------------------------------------
Author und Copyright 1991/92 bei:
Frank-Christian Krügel
Rabienstraße 52
W-2862 Worpswede (Achtung! Ab 1.7. neue PLZ: 27726)
Germany
Fido: 2:240/300.44
Z-Netz: FCHK@MLO.ZER
Usenet: fck@finland.fido.de oder (wenn's gar nicht anders geht)
a02e@alf.zfn.uni-bremen.de
Telefon/Telefax: 04792-894 (nur zu verkehrsüblichen Zeiten, ansonsten drohen
Kabelbrand, Überfaxe und Briefbomben!)
Lizenz:
Dies ist freie Software; Du darfst sie unter Beachtung der GNU General Public
Licence, wie sie von der Free Software Foundation in der Version 1 herausgegeben
wurde, weiterverbreiten und/oder modifizieren.
Dieses Programm wird in der Hoffnung verbreitet, daß es einigen Leuten
nützen möge. Ich garantiere jedoch für überhaupt gar nichts, nur daß die
Software Speicherplatz auf der jeweiligen Platte oder Diskette einnimmt.
Ein Exemplar der GNU General Public Licence ist dem Programm beigefügt
(File: GNU_COPYLEFT); falls es fehlt, kann es bei folgender Adresse
angefordert werden: Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA.
Sinn und Zweck:
Dieses Programm dient dazu, einen Flachbettscanner mit SCSI-Bus über
den Amiga ansteuern zu können. Hierfür können die Größe (DIN A6, A5 und A4),
die Auflösung (200, 300 und 400 DPI) und die Anzahl an Graufstufen (2 oder 16)
eingestellt werden.
Der Sacnner erzeugt eigentlich 64 Graustufen. Da solche Bilder aber bis zu
16MB an Speicher verbrauchen und ein normaler ECS-Amiga nur 16 Graustufen
anzeigen kann, werden die beiden niederwertigsten Bits ignoriert.
Bilder können im IFF-IBLM-Format gespeichert und wieder geladen werden.
Das Speichern kann entweder unkomprimiert oder mit der standardmäßigen
Packbits-Kompression geschehen. Der Filerequester benutzt die req.library,
die hierzu vorhanden sein muß.
Das Bild wird entweder 1:1 oder verkleinert als Ganzseitenansicht dargestellt.
Zwischen den beiden Darstellungsformen kann mit dem Gadget in der rechten unteren
Ecke umgeschaltet werden. Im Konfig.Menü kann der verwendete Bildschirmmodus
(ab Kick 2.0) und das verwendete SCSI-Device eingestellt werden. Bei der
Interlace-Einstellung gibt es bei Verwendung des 2024-Graustufenmonitors
eine Besonderheit. Dort wird mit der Interlace-Einstellung nämlich zwischen
10Hz und 15Hz umgeschaltet. Aufgrund von Hardwarebeschänkungen beim
ECS-Chipsatz können in einigen Grafikmodi nur vier Graustufen dargestellt
werden. Intern wird jedoch immer mit 16 Grafustufen gerechnet.
Eine Anpassung an die neuen AA-Grafikmodi wird erfolgen, sobald mir jemand
einen 4000'er mit SCSI-Controller schenkt.
Zusätzlich sind noch eine Reihe von Bildbe- und Bildverarbeitungsfunktionen
eingebaut. Einige sind nur bei Graustufenbildern möglich, andere nur bei
Bilevel- (Schwarzweiß-)Bildern.
Funktionen für Graustufenbilder:
- Histogramm zur Anzeige der Häufigkeit der einzelnen Helligkeitswerte
- Konstrastverstärkung
- Lokale Operatoren (Hochpaß, Tiefpaß, Relief, Maximum-, Minimum- und Median-
Operator)
- Umwandlung in Bilevel-Bilder durch Schwellwertbildung oder Dithern (ordered
Dither und Floyd-Steinberg)
Funktionen für Bilevel-Bilder:
- Umwandlung in Graustufenbilder
- Ausdünnung (Vorstufe zur Vektorisierung)
- Vektorisierung eines ausgedünnten Bildes)
Funktionen für beide Bildarten:
- Invertierung
- Spiegelung (horizontal, vertikal)
- Ausschneiden eines Bereiches
Vektorisierung:
rasterbilder können in ein Vektorformat umgewandelt werden. Hierzu
muß man in drei Stufen vorgehen:
- Scannen oder Laden eines Bilevel-Bildes
- Ausdünnen
- Vektorisieren
Als Ergebnis erhält man eine Textdatei, die z.B. mit IntroCad oder UltraCad
geladen werden kann. Beim PD-Programm "MPLOT" sind Hilfsprogramme dabei,
mit denen man solche Dateien in das ICAD-Binärformat, das von Aegis Draw oder
das DXF-Format umwandeln kann.
Die erzeugten Textdateien haben das folgende Format:
<x11> <y11> \
<x21> <y21> /erster Vektor
Leerzeile als Trenner
<x12> <y12> \
<x22> <y22> /nächster Vektor
Leerzeile als Trenner
....
Achtung! Während der Vektorisierung wird jeder erkannte Punkt im Speicher
gelöscht, damit er nicht zweimal erkannt wird. Wenn das Bild noch benötigt
wird, vorher speichern!
Voraussetzungen:
- diese Disk
- ein Amiga
- am Besten ein flimmerfreier Bildschirm
- ein SCSI-Controller mit dem von Commodore festgelegten "Exec level Direct
SCSI" Software-Interface
- so viel zusammenhängender Speicher wie irgendwie möglich
- ein passender Scanner
- die req.library
- Zum Neucompilieren zusätzlich entspechende Kenntnisse und Aztec C 5.0 oder
5.2 Mit Lattice C sollte es auch gehen, den habe ich aber nicht
Start: einfach Programm per Doppelklick oder CLI aufrufen.
Der Scanner muß vorher angeschlossen, angeschaltet und betriebbereit sein.
Der Siemens-Scanner ST400 ist hardwaremäßig auf Target ID 3 und Target LUN 3
eingestellt. Auf dieser ID dürfen also keine anderen Geräte liegen.
Funktionsbereschreibung des Siemens-Scanners:
siehe die englische Anleitung. Ich bin ja so tippfaul.
*******************************************************************
|