Geo-Bild Ingenieurbüro Heiko Jacobs

Schwerpunkte des Ingenieurbüros
für Fernerkundung, Geodaten & Software
Alle Arten Geo-Daten
... werden verarbeitet
Bilder mit Geo-Bezug:
Woher Fernerkundungsdaten kommen
  Software-Entwicklung
... für Geodaten und anderes
Anwendungen und ...
Wie und wofür die Daten verarbeitet werden

DiDiX: Status und Module der "Baustelle"

... Software für Bilder
Womit die Bilder verarbeitet werden

Interna:


diprogen

DIdix PROgrammGENerator

Erzeugt aus der Angabe der geplanten Optionen eines Programms das Hauptprogramm, das diese Optionen auswertet und Rahmendateien für das Verarbeitungsprogramm, die Manualpage, TCL-Scripte für XDiDiX, Fehlermeldungen etc.
Doku
Ausführliche Anleitung auf man/tex, deutsch
ToDo
Änderungen im User-Interface mit mehr Flexibilität in den Optionen, einfachere Programmdokumentation und mehrere Ausgabeprodukte als derzeit nur manpage (TeX, HTML) längerfristig in Richtung Software-Wartung (neue Optionen etc.)

diwish

DiDiX-Variante von Tcl/Tk

Tcl 7.3, Tk 3.6 und TclC 7.3a ergänzt um das DiDiX-Bildformat
ToDo
In 7.3/3.6 mussten Erweiterungen fest einprogrammiert werden, ein Update auf neuere Versionen von Tcl/Tk war daher schwierig. Neuere Versionen von Tcl/Tk haben einen besseren Mechanismus, zusätzliche Pakete zu integrieren. Die Integration des DiDiX-Bildformates ist hierfür aber neu zu programmieren. Dabei soll auch eine bessere Verzahnung von DiDiX und Tcl/Tk erreicht werden, die über die heutigen Möglichkeiten von tdisplay, XDiDiX und statplot hinausgehen.

getdes

Auslesen bestimmter Bildbeschreibungseinträge


dicompress, diuncompress, dizcat, zcmp, zdiff, zmore

Komprimierung von (Bild-)Daten

Hilfsprogramme und Routinen für Bilddatenkomprimierung in den Bilddatenbanken

Makros:


dimacro, startmac

DiDiX-Makros

DiDiX-Makro-Mechanismus vom einfachen Zusammenhängen von DiDiX-Kommandos bis zu aufwendigen TCL-Scripts, derzeit nur zwei realisiert: pnmcrea (einfaches Zusammenhängen) und taerase (aufwendiges Tcl-Script)

User-Interface:


XDiDiX

Graphisches User-Interface

Fast jedes Programm bekommt mit diprogen ein Tcl/Tk-Interface, das von XDiDiX verwendet wird. Sprache deutsch oder englisch, erweiterbar
ToDo
Neben der Überarbeitung von diwish allg. (s.o.) bessere Benutzerführung, Einteilung der Programme, mehr Funktionalität, Statusinfos etc., WWW-DiDiX?

Kommandozeile, Abfrage

Standard-Interface mit Optionen in wahlfreier Reihenfolge oder mit interaktiver Abfrage

Viewer für Bilddaten:


display

Viewer auf X11-Basis

Aus einer älteren Version des ImageMagick-Paketes wurde das dortige display-Programm auf DiDiX angepasst. Neben der Anzeige eines Bildes ermöglicht es eine sehr flexible Farbanpassung des Bildes am Bildschirm. Darüberhinaus Messung von Trainingsgebieten und einfachen Passpunkten, Histogramme, Grauwertprofile etc.

sdisplay

Viewer auf X11-Basis

Abgespeckte Variante von display, nur Farbanpassung, schneller

tdisplay

Viewer auf Tcl/Tk-Basis

Vielseitiger Viewer, mehrere Bilder simultan, toggle (schneller Wechsel) zwischen den Bildern möglich, bei verkleinerter Darstellung Zoom-Fenster aus Original, Verkleinerung auch mit Farbtabelle, Farbanpassung weniger gut und buggy, besser display oder hislut verwenden, Anzeige Nummer der TK, Passpunktmessung simultan in Rasterkarte und Bild, erleichtert durch Affintransformation nach drei Punkten. Anbindung von DiDiX-Befehlen möglich.
ToDo
Neben diwish-Anpassung auf neue Tcl/Tk-Version (s.o.) in tdisplay selbst: Durch ständiges Wachsen ist source-code nicht mehr fehlerfrei, undokumentierte Features, Benutzer-Interface sollte übersichtlicher werden. Nach Umstellung auf neue Tcl/Tk-Version daher größere Überarbeitung des internen Codes und des Erscheinungsbildes empfehlenswert.

prdata

ASCII-"Viewer"


Allgemeine Verwaltungs-Programme:


mkdes

Anlegen einer Bildbeschreibung

DiDiX arbeitet mit Bildbeschreibungsdateien, die getrennt von der eigentlichen Bilddatendatei sind. mkdes erstellt eine solche, ganz neu oder an eine bestehende angelehnt.

prtl

Ausgeben der Bildbeschreibung am Bildschirm


create

Anlegen einer Bilddatei

erzeugt die zur Bildbeschreibung gehörende Bilddatendatei.
ToDo
Prüfung des verfügbaren Plattenplatzes arbeitet bei sehr großen Platten unter einigen Betriebssystemen nicht korrekt.

dirm

Löschen eines Bildes

Löscht Bilddatendatei und ggfs. auch Bildbeschreibungsdatei.

pnmcreat

Anlegen einer PNM-Bilddatei

erzeugt die zur Bildbeschreibung gehörende Bilddatendatei.

Allgemeine Verarbeitungs-Programme:

append

Anhängen oder Abschneiden von Kanälen einer Bilddatei

ToDo
resize?

copy

Kopieren eines Bildes/Ausschnittes

auch aus mehreren Eingabebildern und anhand von Weltkoordinaten.
ToDo
Weltkoordinaten statt Fenster auf mehrere Programme ausweiten. Kopieren über Lookup-Tabelle einbauen (bisher nur in calc).

rot90

Rotieren eines Bildes um Vielfache von 90 Grad oder Spiegeln


scale

Skalierung einer Bilddatei

Skalierung um Integer-Werte. Bei Verkleinerung Wahl zwischen verschiedenen Optionen: jedes n-te Pixel, Mittelwert, häufigster Wert, Maximum, Summe.

Flexibles allgemeines Verarbeitungsprogramm:

calc

Vielseitige Bildmanipulationen

Bilddatenmanipulation in einer an Formeln angelehnten Notation. Nahezu alles ist möglich. Derzeit eingebaute Funktionen: Grundrechenarten, trigonometrische Funktionen, E-Funktion. Logarithmus, Wurzeln, Rundungen, Modula, Minimum, Maximum, Vergleichsfunktionen, if/else, bitweise Funktionen. Derzeit eingebaute Filter in 3x3 bis 9x9: Mittelwert, Median, Sobel, Zählfunktionen, Maximum, Minimum, frei programmierbarer Filter. Außerdem Zeilen-, Spalten- und Kanalnummer in Formel integrierbar, somit regionale Funktionen realisierbar, Zufallszahl, Konstanten e und . Ausgabe auf Bild, als Histogramm (ermöglicht vielfältige Analysen des Bildinhaltes), als Summe oder als Pipe nach display. Benutzung von Lookup-Tabellen.
ToDo
Wegen ständigen Erweiterungen und Umbauten Überarbeitung des Codes empfehlenswert, auch wenn es fast nie abstürzt. Ergänzend anderes User-Interface empfehlenswert, das besser zu sonstigen DiDiX-Programmen passt. History fehlt.

xdcalc

Graphisches Interface zu calc


Bildformate, Im- und Export:


Direkt unterstützte Bildformate

DiDiX trennt Bilddaten von Bildbeschreibung (s.o.). Es unterstützt binäre Daten mit 8, 16, 32, 64 Bit, Integer oder Float, mehrkanalige Bilder nach Bändern, Zeilen oder Pixeln sortiert. Diese Rohdaten sind teils kompatibel zu Formaten anderer Pakete, z.B. zu BIL/BIP/BSQ in ARC/INFO. Das ähnlich aufgebaute binäre PNM-Format wird direkt unterstützt. Einige einfachere TIFF-Formate können lesend verwendet werden. Die direkte Unterstützung von SRF, PCI, einem älteren ERDAS-Format und ZEISS muss ggfs. geklärt werden, da fast nie verwendet. Wegen der offenen Strukturen sind neue Formate relativ einfach bei Bedarf zu integrieren. Neben dem unkomprimierten Format ist auch ein Runlength-codiertes Format in DiDiX lesend enthalten (für binäre und für farbige Bilder).

dixrle

Umwandlung in das DiDiX-runlength-Format


dix2tiff, tiff2dix

Im- und Export TIFF-Format

Große Bandbreite von Unterformaten, Erzeugung von World coordinate file, flexibles Lookup-Tabellen-Handling.
ToDo
GEO-TIFF? LZW-Rechte?

dixtopnm, pnmtodix

Im- und Export PNM-Format


---

div. Imports

sritodix (Sun Raster), resp2dix (Scitex), rlc2dix, lwpf2dix
ToDo
Stand der Formate?

---

div. Konvertierungen aus den PNM-Tools

ppm2tiff, ppmtotiff, tifftopnm, tiff2ps
tiffinfo (Info ueber tiffs), ppmquant (Farbreduzierung)

didalw

Druckausgabe nach PostScript

Druckausgabe mit Lookup-Tabellen und Möglichkeit, Trainingsgebiete etc. einzuplotten
ToDo
Außer prov. Kartenrahmenscript bisher keine kartographische Aufbereitung in DiDiX.

Farbraumwandlungen u.ä.:


rgb2cmyk, cmyk2rgb

Farbraumwandlung RGB/CMYK

Druckerfarbsystem CMYK

rgb2ihs, ihs2rgb

Farbraumwandlung RGB/IHS

IHS: Intensität/Farbe/Sättigung

c16to8

Reduktion von 16 auf 8 bit


colscale

Allgemeinere Farbreduzierung und -anpassung


hakotra

Hauptkomponententransformation


fft, ifft

Fast-Fourier-Transformation

bis 128x128 bzw. 8192

Statistiken und Histogramme:

histo

Histogrammberechnung


hislut

Histogramm- und Lookuptabellenberechnung

LUT als Eingabe für div. Programme (calc, didalw, dix2tiff, tdisplay) entweder hier aus hislut oder aus display. Weitere Histogrammprogramme: siehe calc und tahis
ToDo
Zusammnführung von histo und hislut, Angleichung an tahis und calc.

his2d

Zweidimensionales Histogramm


stats

Einige statistische Kennzahlen eines Bildes


Filter, Texturen und Kennzahlen:

epos

Hochwertiger Speckle-Filter für RADAR-Bilder


contrast

Berechnung Bildkontrast


correl

Berechnung Bildkorrelation


energy

Berechnung "`energy"' (Argenti/Alparone/Benelli)


entropy

Berechnung "`entropy"' (Argenti/Alparone/Benelli)


lochom

Berechnung lokale Homogenität

ToDo
Mehr Texturen und Filter?

Geometrie:

coords

Umrechnung Bild-/Landeskoordinaten


traco

Div. Formatwandlungen Koordinatendateien

auch mit Umrechnungen mit Polynomen 2.O.
ToDo
vereinigen und erweitern

Spezielle Verarbeitungskette TM

Diese Programme verwenden i.d.R. spezielle gemeinsame Steuerdatei:

dzs, dzsrub

Verifizierung Rohdaten

TM-Bilder werden vorkorrigiert. Man hat beim Kauf die Wahl zwischen bikubischem Resampling und Nearest-Neighbour-Resampling. Ersteres ändert die Original-Grauwerte, letzteres hat Geometrierestfehler, die sich in doppelten Zeilen und Spalten äußern. dzs sucht letztere und stellt diese als Datei den nachfolgneden Programmen zur Verfügung. dzsrub beseitigt diese bei Bedarf, aber es sollte mit den originalen weitergearbeitet werden.

dgmpre

Vorbereitung DGMs, Berechnung Radiometriebilder u.ä.

aus beliebigen DGMs. Für die Radiometrie- und Höhenkorrekturen sind DGMs und abgeleitete Daten notwendig, die auf das Ausgaberaster umgerechnet sind, die aus diesem Programm, aus der radio0-2-Serie oder aus anderen Quellen entsprechend aufbereitet sind.

subcoord

Berechnung von Passpunkten auf Subpixel

Passpunkte sind in Satellitenbildern wegen Unschärfe etc. nur schwierig zu bestimmen. In tdisplay können Passpunkte als Schnittpunkt zweier Linien (Straßen etc.) markiert und mit subcoord auf Subpixel genau berechnet werden. Genauigkeit und Sicherheit steigen dadurch deutlich.

precoord

Zusammenstellung von Passpunktdateien

Bild- und Landeskoordinaten der Passpunkte werden vereinigt, zudem werden die Bildpunkte auf Höhe Null umprojiziert.

polynom

Berechnung der Polynomparameter

und Aufstellen der Ankerpunktdatei.

dgmrub

eigentliche Geokodierung des Bildes

incl. Radiometrie- und Schleierkorrektur.

Spezielle Verarbeitungskette Daedalus

Diese Verarbeitungskette ist noch im Fluss. Die Aufzeichnung der Flugwegparameter hat sich seit dem letzten Projekt geändert. Bisher war die Entzerrung mit Einschränkungen zufriedenstellend. Mit Daten neuerer Art ist die Verarbeitungskette der eigentlichen Entzerrung anzupassen und evtl. zu erweitern. Das C++-Programm der eigentlichen Entzerrung arbeitet auch noch nicht absolut absturzfrei.

Spezielle Verarbeitungskette Orthophotos, Laser-Scanner-DGMs

Für digitale Orthophotos laufen derzeit am IPF Erweiterungen, die auch spezielle Anforderungen an DGMs aus Laserscannern berücksichtigen.

Normale Entzerrung und andere Geometrie-Tools

radio0

Vorbereitung DGMs, Berechnung Radiometriebilder u.ä.

aspect/slope/incidence aus DGM, keine Änderung der Auflösung.

radio1

Vorbereitung DGMs, Berechnung Radiometriebilder u.ä.

aspect/slope/incidence aus grober Auflösung interpoliert.

radio2

Radiometrie- und Hangneigungskorrektur für Scanner


rect, p8rect

Berechnung der Polynome und Entzerrung

Normale allgemeine Polynom-Entzerrung ohne Extras,

ppv

Passpunktdateien als Bild


tknum

Gibt zu Gauß-Krüger-Koordinate Nummer der Top. Karte aus.

ToDo
andere Länderkartenwerke

traforub

Transformation von einem Landeskoordinatensystem in ein anderes
tknum/traforub basieren auf dem selben Programm wie die WWW-Koordinatentransformation

Behandlung von Trainingsgebieten:


tahis

Histogramm über Trainingsgebiete

einschränkbar auf bestimmte Klassen der Datei oder bestimmte Grauwertbereiche, PostScript-Ausgabe, Kontrolle der Klassifizierung (Genauigkeit in Trainingsgebieten)
ToDo
Es existieren Scripte, die aus mehreren Ausgaben von tahis und anderen Histogrammprogrammen zusammenfassende Tabellen in SGML projektspezifisch erstellen: verallgemeinern und einbauen?

taimg

Rastern von Trainingsgebieten, Maskieren

einschränkbar auf bestimmte Klassen der Datei. Zwei Modi: Rastern von Trainingsgebieten und Ausschneiden von Bildteilen anhand von Trainingsgebieten.

tasel2

Selektieren von Trainingsgebieten mit best. Eigenschaften


tasplit

Splitten von Trainingsgebieten in klassenreine Dateien


taconv

Koordinatenkonvertierungen von Trainingsgebietsdateien

ToDo
Vereinigen mit coords und traco?

tatomi

Berechnung von Momentinvarianten aus Trainingsgebieten


taerase

Bildmanipulation anhand von Trainingsgebietsdateien

ersetzt Bildregionen durch Konstante, ggfs. mit gleitendem ßergang. Anwendung: Glanzlichter in Luftbildern. Makro aus mkdes, create, traco, taimg und calc. Mit Anbindung an tdisplay: Glanzlicht interaktiv umgrenzen, Ersatzgrauwert festlegen und sofort beseitigen und kontrollieren. DiDiX-Makro mit Tcl

tafilt

Filtert aus Trainingsgeb. Bereiche best. Vegetationsindizes


Aufstellung von Statistiken


synclass

Berechnung von Statistiken aus Trainingsgebieten

Sehr mächtiges Instrumentarium! Im Gegensatz zu Standardprogrammen werden die Trainingsgebiete auf statistische Normalverteilung geprüft und ggfs. in normalverteilte Unterklassen aufgeteilt. Das vereinfacht die Bestimmung der Trainingsgebiete (man muss nicht mehr selbst darauf achten, dass nur farblich zusammenpassende Gebiete in eine Klasse kommen) und erhöht die Genauigkeit der Klassifizierung.

synclass2

Berechnung von Statistiken aus Trainingsgebieten

Meine modifizierte Variante zu psic2
ToDo
Beide Versionen vereinigen.

statplot

Ellipsenplots am Bildschirm oder als PostScript

Plottet Ellipsen aus den Statistiken. Am Bildschirm Ein- und Ausblenden der Klassen möglich und damit Bewertung der Klassen. Vor Start des Programms müssen zwei Umgebungsvariablen gesetzt werden:
setenv TCL_LIBRARY /usr/local/didak/tools/tclold/tcl7.3/libtcl.a
setenv TK_LIBRARY /usr/local/didak/tools/tclold/tk3.6/libtk.a
ToDo
C-Programm mit eingebauten Tcl/Tk-Anweisungen. Anbindung an alte Tcl/Tk-Version eher provisorisch. Bessere Verzahnungsmöglichkeiten mit Umstellung auf neuere Tcl/Tk-Version, danach mehr Anwendung mit graphischen Output, bspw. Histogramme.

chmodel

Überprüfung des statistischen Modells

Überprüft die Trennbarkeit von Klassen anhand der berechneten Statistiken.
ToDo
Nützliches Tool, Output bei vielen Klassen aber zu unübersichtlich

Überwachte Klassifizierung


psic

Klassifizierung auf Basis der Mahalanobisdistanz

Verwendung dieser für normale Maximum-Likelihood-Klassifizierung, Fuzzy-Klassifizierung oder mit Chi-Quadrat-Test. Wichtiger Unterschied zu normalen Klassifizierungen: Es wird auch die zweit- und drittbeste Entscheidung ausgegeben und für alle drei Ebenen ein Gütemaß.

psic2

Klassifizierung auf Basis der Mahalanobisdistanz mit Erweiterungen

Private Version mit umfangreichen Erweiterungen: Andere Skalierung der Gütewerte bei --maxlik, gleichzeitige Berechnung für zweite übergeordnete Klassenliste, gleichzeitige Klassifizierung für unterschiedliche Konstellationen (andere Statistiken für wolkenbedeckte Regionen etc.), fuzzy-ähnliche Integration von Zusatzdaten etc.
ToDo
Weitere Ergänzungen. Multitemporal: siehe mlmerge. Die bisher bei der Geometrie integrierte einfache Radiometriekorrektur (Sonnen-/Schattenhänge) ist in steileren Bereichen zu ungenau. Eine bessere klassenabhängige Korrektur erfordert von der Theorie her ein iteratives Vorgehen. Evtl. lässt sich dieses Problem aber auch durch Integration der Radiometriekorrektur in die Klassifizierung lösen. Im hochalpinen Bereich sind Abschattungen zu berücksichtigen. Die Integration weiterer Informationsquellen wie Texturen wäre prüfenswert.

mlmerge

Vereinigung von Klassifizierungen

Multitemporale Klassifizierungen haben das Problem, dass einzelne Regionen wolkenbedeckt o.ä. sein können. Bei kleineren Anteilen am Gebiet kann dies noch durch Masken und Angabe unterschiedlicher Konstellationen von Kriteriumsdateien in psic2 berücksichtigt werden. Beim letzten größeren Projekt waren die Ausfälle zu umfangreich, so dass unabhängige Klassifizierungen gerechnet wurden, die mit mlmerge aufgrund der Gütewerte vereinigt wurden.
ToDo
Diese Vereinigung unabhängiger Klassifizierungen ist jedoch zu locker. Es soll daher ein Weg zwischen normaler multitemporaler Klassifizierung und Vereinigung unabhängiger Klassifizierungen gesucht werden, z.B. über die Integration von Zusatzwissen der Entwicklung einzelner Klassen über die Jahreszeiten.

mlrelax, mlselect

Relaxation (Generalisierung) von Klassifizierungen

Generalisierung auf der Grundlage der Gütewerte. Im Gegensatz zum einfachen Rauswerfen von Einzelpixeln wird hier anhand der Gütewerte des zu untersuchenden Pixels und der Gütewerte der zweit- und drittbesten Entscheidung und der Nachbarpixel die Zuverlässigkeit der Entscheidung beurteilt und ggfs. die Güte erhöht oder erniedrigt. mlselect sortiert dann neu.

chade, chadean

Änderungsuntersuchung

arbeitet ebenfalls mit den Gütewerten und zweit- und drittbesten Entscheidungen aus psic(2).

fclass

Konfidenzmaße zwischen Trainingsgebieten und Statistiken


nessi

hyperspektrale Sensoren

Analyse und Klassifizierung von Bildern hyperspektraler Sensoren mit neuronalen Netzen.

specta

Hmmm...?

exclass

Extrahieren von Pixeln einer bestimmten Klasse

führt diese einer Triangulation mit qhull zu.

pixtria

Dreiecke für bestimmten Grauwert


trfilt

Selektiert Dreiecke aus qhull-Ergebnis


segtota

Wandlung Bildsegmente zu Trainingsgebieten


poly

DiDiX-Bild aus Polygonen aus .arc-Datei


Bilddatenbank


dbcrea, dbadd, dbclean, dbget

Blattschnittfreies Management von Bildern

Aufbau und Verwaltung einer blattschnittfreien Datenbank mit komprinierten Bildern und blattschnittfreies Auslesen von Ausschnitten. Im Einsatz bei Aviosoft (Schweiz) und in einer Kooperation zwischen Insitut für Mikrorechner und Automation der Uni Karlsruhe und dem Vermessungsamt der Stadt Karlsruhe. Routinen zum Einbau in andere Programme und stand-alone-Programme. Routinen für Darstellung von Vektorgraphiken üebr Rasterbildern.
lwpf2dix und resp2dix (s.o.) kommen auch aus dieser Sammlung.
ToDo
Bisher nicht vom normalen DiDiX aus nutzbar. Kleiner Bug beim Auslesen unter bestimmten Umständen.

Status


Mit DiDiX kann man Klassifizierungsprojekte, auch größere und grenzüberschreitend, mit Landsat-TM-Bildern und von anderen Sensoren, auch Flugzeugscannern, relativ komplett und qualitativ sehr hochwertig bearbeiten. Vorverarbeitung, Geometrie, Klassifizierung mit Zusatzdaten, Nachbearbeitung sind Bestandteil von DiDiX, ebenso Verschneidungen und Visualisierungen auf Rasterbasis. Verschneidungen mit Vektordaten und kartographische Überarbeitungen nur eingeschränkt.

ToDo


Dokumentation
Umstellung auf neueres Tcl/Tk, engere Verzahnung DiDiX-Tcl/Tk
Mehr oder weniger große Überarbeitungen div. Programme und Kernel
Mehr Vektor-Funktionalität für Verschneidungen etc.
Kartographische Überarbeitungen, Hydrologie?

Impressum,  Kontakt

  DiDiX: Einsatzgebiete, Stärken, Projekte, Technik, Screenshot, Module
Startseite  

Gulp und Xing

 

 

Sitemap

Koordinatentransformation

Links