18 Jun 2008

Kaltwasser-Korallen mit Adobe Flex

Projektlabor, Referenzen Keine Kommentare

Im Rahmen eines internationalen Forschungsprojektes entwickelt die AG Neuroinformatik der Uni Bielefeld Verfahren zur Klassifizierung von Unterwasser-Aufnahmen mit Hilfe von neuronalen Netzwerken. Untersucht werden sollen hier Einflüsse auf die Unterwasser-Fauna und hauptsächlich Kaltwasser-Korallen.

Um für das Training der Netze geeignete Daten zu erhalten, müssen eine Reihe von Bildern manuell durch Biologen gekennzeichnet werden. So werden Kaltwasserkorallen, Anemonen und andere Lebewesen direkt in den Aufnahmen markiert.

Die Daten werden in einer Datenbank gespeichert und dienen als Basis für die weitere Verarbeitung. Gleichzeitig sollen die maschinell erstellten Klassifizierungen an der entsprechenden Position im Bild wieder visualisiert werden.

Das Tool besteht im wesentlichen aus einem Image-Browser und der Labeling-Komponente. Die Bilddaten werden dabei “on the fly” vom Server geladen, die manuell oder maschinell erzeugten Annotationen liegen in einer mySQL-Datenbank vor.

Die Realisierung als Web-Anwendung bietet sich an: Zentrale Datenspeicherung, ortsunabhängiger Zugriff über jeden Browser und ein gegenüber herkömmlichen Softwareanwendungen deutlich reduzierter Aktualisierungs- und Supportaufwand.

Ohnehin habe ich mich seit längerem mit Ajax-Anwendungen und den entsprechenden Frameworks nebst den derzeit verfügbaren Toolkits beschäftigt. Sicherlich lassen sich damit beeindruckende Anwendungen entwickeln. Allerdings hat sich gezeigt, dass der Entwicklungsaufwand – verglichen mit den mittlerweile extrem ausgefeilten Entwicklungsumgebungen für klassische Desktop-Software – immer noch zu hoch ist. Mal ist die Dokumentation ungenügend, mal zeigen sich erst bei der Entwicklung seltsame und teilweise nicht behebbare Fehler, mal fehlen grundlegende Benutzerinterface-Komponenten.

So bin ich mittlerweile (wieder) auf Adobe Flex gestossen. Demnächst in der dritten Version verfügbar, scheint diese RIA-Entwicklungsumgebung mittlerweile mehr als ausgereift zu sein. Flex ist “Flash für Programmierer”: Ausgereifte Komponenten für die Benutzerinteraktion, mächtige Funktionen zur Grafikverarbeitung und Datenkommunikation lassen es zu, innerhalb kurzer Zeit ansprechende, einfach bedienbare und vor allen Dingen sehr robuste Web-Anwendungen aller Art zu entwickeln. Action Script, die dahinterstehende Sprache hat sich mittlerweile mit AS3 zur vollständig objektorientierten und schnellen Programmiersprache weiterentwickelt.

Mit Serverkomponenten lassen sich Daten in allen gängigen Formaten und Schnittstellen (XML, SOAP, AMF) austauschen. Neben den kommerziellen Adobe Live Cycle Services gibt es mittlerweile eine Reihe von freien Implementierungen für PHP, .NET, JAVA und Ruby (ColdFusion sowieso).

Mit der Offline-Umgebung AIR besteht zudem die Möglichkeit, Flex- (sowie Action Script- und HTML-)Anwendungen auch direkt auf dem Desktop und plattformübergreifend ausführen zu können. Windows- und MacOS werden bereits unterstützt, LINUX-Umgebungen sind angekündigt.

Aktuell arbeite ich an weiteren Flex-Anwendungen und bin mit den Ergebnissen und vor allem der Entwicklungsgeschwindigkeit mehr als zufrieden. Wenn ich nicht ganz falsch liege, scheint Adobe hier ein ziemlich großer Wurf gelungen zu sein – alle bisher verfügbaren Informationen der Haupt-Konkurrenten (Microsoft Silverlight, Sun JavaFX) scheinen dies nicht zu widerlegen!

Keine Kommentare to “Kaltwasser-Korallen mit Adobe Flex”

Hinterlassen Sie einen Kommentar