Sichtfilter

start

Im Projekt Sichtfilter geht es uns darum dass nicht nur der Patient selbst über sein Krankheitsbild und seine Beeinträchtigung aufgeklärt werden soll. Auch Interessierte und vor allem Angehörige müssen über die Krankheit informiert werden. Das soll letztendlich zu einem besseren Verständnis und zielgerichteter Hilfestellung führen. Realisiert wird das Projekt in Form einer, von zu Hause aus aufrufbaren, Webanwendung.

Ausgangspunkt

Situation 1:

Die Kommunikation nach dem Arztbesuch eines Angehörigen oder Freundes ist oftmals schwierig. Natürlich bekommt der Patient eine ausführliche Aufklärung über sein Krankheitsbild. Wenn er dann jedoch zuhause angekommen ist und z.B. seiner Frau erklären soll worum es sich bei seiner Krankheit handelt, und welche Auswirkungen das auf lange Sicht haben kann, wird das Beschreiben oftmals schwierig. Vieles hat man schon wieder vergessen und vorstellen kann man sich die Auswirkungen dann doch nicht wirklich.

Situation 2:

Ein weiteres mögliches Szenario ist das reine Interesse. Viele Menschen interessieren die Beeinträchtigungen durch Augenerkrankungen. Daher gibt es im Internet auch schon zahlreiche Versuche die Symptome darzustellen und zu erklären. So wirklich überzeugend ist allerdings keiner davon. Meist handelt es sich um einfache Bilder die mit einem Fotoeffekt versehen werden. Auch für diese Situation soll es künftig eine Möglichkeit geben sich zu informieren.

Was muss also passieren? Es muss eine Möglichkeit her, mit welcher der Patient bessere Möglichkeiten hat zu vermitteln was ihm fehlt. So kann sich sein Umfeld besser auf das eventuell Kommende einstellen und vorbereiten. Außerdem sollte auch jeder andere Zugriff auf ein Instrument bekommen um sich über die Symptome verschiedener Augenkrankheiten zu informieren.

Lösungsansatz

Um in der heutigen Zeit so viele Menschen wie irgend möglich gleichzeitig zu bedienen gibt es als einfachste Kommunikationsform das Internet. Also war schnell klar dass es sich bei diesem Projekt um eine Webanwendung handeln sollte. In dieser Webanwendung soll es möglich sein, Augenkrankheiten und ihre Symptome zu simulieren. Und das Anhand von Bewegtbild, nicht von vorgefertigten Bildern. Das erzeugt einen gewissen Realismus.

Der Patient soll mithilfe seiner eigenen Krankheitsdaten, welche er vom Augenarzt mitbekommt, sein ihm eigenes Krankheitsbild simulieren können. Gleichzeitig soll es aber auch Interessierten möglich sein die Anwendung ohne Daten zu nutzen.

Konzept

Umfeld:

storyboard

Nachdem der Patient sich vom Arzt verabschiedet hat, bekommt er seine Krankheitsdaten entweder per QR-Code auf das Handy oder per E-Mail verschlüsselt an den heimischen Rechner geschickt oder aber auf einen UBS-Stick kopiert. So kann er diese Daten dann in die Simulation laden. Ein großer Vorteil dieses Vorgangs ist der Schutz der personenbezogenen Daten, gegenüber der zentralen Lagerung auf einem Server.

Von zu Hause aus oder auch unterwegs kann der Patient die Webanwendung über einen ganz normalen Browser starten, so das Umfeld abfilmen und durch seine Patientendaten das Livebild verändern. Er kann weiterhin Angehörigen und Freunden, die neben ihm diese Simulation mitbetrachten, zeigen welche Auswirkungen die Krankheit auf sein Sehen hat.

Unser Sichtfilter ist aber auch ohne Patientendaten nutzbar. Für diesen Fall haben wir eine Moglichkeit eingebaut, mit welcher schon online hinterlegte Beispieldaten genutzt werden können.

Bedienung:

Nach dem Starten des Browsers und dem Laden der Sichtfilter-Domain gelangt der Besucher bzw. Benutzer auf den Startscreen mit insgesamt 4 Auswahlmöglichkeiten. Dabei entscheidet er sich als erstes ob er die Simulation mit seinen Patientendaten oder aber mit Beispieldaten nutzen möchte. Weiterhin wählt er aus, ob er ein Livebild über die eingebaute Kamera oder aber ein vorgefertigtes Video als Simulationsgrundlage heranzieht. Diese Möglichkeit haben wir eingebaut, da nicht jeder Desktop-Rechner bzw. älter Laptops eine eingebaute Webcam besitzen.

startseite_sf

Falls der Benutzer sich für die eigenen Patientendaten entscheidet, kommt er, bevor er die Simulation erreicht, zu einer Zwischenseite, auf der er seine Daten laden kann. Diese wurden ihm zuvor per verschlüsselter E-Mail oder QR-Code auf den Rechner gesendet. Oder er kopiert sie sich per USB-Stick, den er vom Arzt bekommen hat.

upload_sf

Nachdem er die Daten geladen hat, gelangt er automatisch zur Simulation. Dabei werden seine Daten ausgewertet und der Simulator darauf eingestellt. Am oberen Rand der Simulation befinden sich weitere Einstellmöglichkeiten. Darüber kann er die Krankheit jederzeit ein- und ausschalten sowie zur Startseite zurückkehren.

video_sf

Mehr Möglichkeiten in den Einstellungen bekommt der Benutzer falls er sich für die Beispieldaten entschieden hat. Denn dann kann er nicht nur die Krankheit ein- und ausschalten oder über einen Schieberegler die Stärke definieren, sondern auch zwischen 4 Augenkrankheiten umschalten. Zukünftig soll es dort natürlich mehr Möglichkeiten geben.

Software

Bei der Umsetzung stützen wir uns auf Javascript, WebGL und HTML/CSS. Mithilfe moderner Browser haben wir hier die Sicherheit dass die Anwendung auf einem Großteil der Rechner ohne Probleme oder zusätzliche Downloads lauffähig ist.

Umsetzung

Da unsere Anwendung eine Webanwendung wird, haben wir uns bei der Verwaltung und Versionierung unserer Anwendung für Github entschieden. So können wir ohne großen Aufwand paralell am Projekt arbeiten und gleichzeitig weitere Benutzer bitten unsere Anwendung zu testen.

Um den Simulator möglichst plastisch nutzen zu können, haben wir uns als erstes mit der 3D-Darstellungsfähigkeit von Browsern auseinandergesetzt und mit verschiedenen Importmöglichkeiten von 3D-Modellen beschäftigt. Dazu nutzen wir WebGL und Texture-Shade verbunden mit jeder Menge JavaScript.

3D_eye

Da aber unser Hauptaugenmerk auf der Pixelveränderung von 2D-Darstellungen beruht konzentrierten wir uns auf Pixelmanipulation und fanden schnell eine gute JS-Bibliothek von Joel Besade, namens JSManipulate, die uns in der Arbeit von da an unterstüzte. Um diese Pixelveränderung wiederholend, also für Bewegtbild nutzen zu können, setzen wir das Framegrabber-Script von David Corvoysier ein. Wir passten es bezüglich der Performance noch ein wenig an unsere Bedürfnisse an. Im Endeffekt holen wir uns also jeden Frame einzeln aus dem Video heraus, manipulieren ihn und geben ihn anschließend aus. Und das in Echtzeit.

code

Ergebnis

Ein funktionstüchtiger Prototyp des Sichtfilter ist online und kann dort jederzeit ausprobiert werden. Abschließend nun noch ein paar Fotos und ein erster Videoeindruck.

Enrico Reinsdorf 00020611
Maximilian Mäuser 02300510
MD6