Inhaltsverzeichnis

Das Hauptfenster

Das Hauptfenster (Abb. 1)1) wird wie bisher von der eigentlichen Spektrendarstellung (axis) dominiert, die von den zentral wichtigen Bedienelementen (Schieberegler etc.) umgeben ist. Ein weiterer bedeutsamer Bereich sind die Panels am rechten Rand des Hauptfensters, von denen immer nur eines zur gleichen Zeit angezeigt werden kann und zwischen denen mittels der Schaltflächen rechts oben (Abb. 2) umgeschaltet wird.

Die projektierte Liste von neun „Funktionsschaltflächen“ unterhalb der Hauptachsen (Abb. 3) dient dem Schnellzugriff auf diverse häufig benötigte Funktionen.

Abbildung 1: Hauptfenster der trEPR-GUI. Das Hauptfenster ist so angelegt, daß es auch auf kleinen Bildschirmen (1024×768 oder, wahrscheinlicher, 1280×800) angezeigt werden kann. Außerdem wurden im Dienste der Übersichtlichkeit die einzelnen Funktionen in Panels (rechts in der GUI) gruppiert, von denen jeweils nur eines zur Zeit angezeigt werden kann. Das Umschalten zwischen den einzelnen Panels erfolgt über die Schaltflächen oberhalb, da es in Matlab nach wie vor keine vernünftige und eingebaute Funktion für „tabbed panes“ gibt. Details zu den einzelnen Panels liefern die folgenden Abschnitte.
Abbildung 2: Umschalter zwischen den einzelnen Panels auf der rechten Seite. Die Funktionen des Hauptfensters der GUI sind in einzelnen Panels angeordnet, auf die durch einen Klick auf die jeweils zugehörige Schaltfläche (bzw. über die Tastaturkürzel Ctrl-1…9) zugegriffen werden kann. Eine Übersicht über die einzelnen Panels liefert Abb. 7.
Abbildung 3: Funktionstasten für Funktionen der GUI, die ein eigenes Fenster öffnen. Eine Reihe von (komplexeren) Funktionen bedient sich jeweils eines eigenen Fensters. Diese komplexeren Funktionen können komfortabel über die Leiste von Schaltflächen unterhalb der Achsen (oder über die Tasten F1…F9) erreicht werden.
Abbildung 4: Kontrollelemente für den Anzeigemodus und das Umschalten zwischen Spektren. Die Praxis hat gezeigt, daß die Kontrollelemente für die Anzeigemodi und das Wechseln/Durchblättern der sichtbaren Spektren immer zugänglich sein sollten. Deshalb finden sich diese Elemente nunmehr unterhalb der Panels wieder.
Abbildung 5: Zusätzliche Bedienelemente der GUI, die immer sichtbar sind. Eine Reihe zusätzlicher Bedienelemente sind ebenfalls immer sichtbar. Weitestgehend handelt es sich dabei um Bedienelemente, die die Anzeige beeinflussen. Hinzu kommt der Hilfeknopf (blaues Fragezeichen rechts unten), der kontextsensitiv je nach gerade aktivem Panel Hilfe in einem zusätzlichen Fenster anbietet.

Geschlossen werden kann das Hauptfenster entweder über die Tastenkombination Strg+w oder mit der Maus auf die für die jeweilig verwendete Plattform spezifische Weise (Mac OS X: Roter Knopf links oben). Sollten sich dann noch modifizierte, bislang nicht gespeicherte Datensätze im GUI-Fenster befinden, erscheint ein entsprechender Warndialog:

Abbildung 6: Warnhinweis beim Schließen der GUI auf modifizierte, bislang ungesicherte Datensätze. Liegen in der GUI modifizierte, noch nicht gespeicherte Datensätze vor, wird der Nutzer entsprechend darauf hingewiesen und hat die Möglichkeit, den Vorgang des Schließens des GUI-Hauptfensters abzubrechen („Cancel“, Voreinstellung), zur GUI zurückzukehren und die entsprechenden Datensätze zu begutachten und ggf. zu speichern.

Die Panels: Eine erste Übersicht

Beim Start der GUI wird momentan ein Willkommenstext mit einer kurzen Einführung angezeigt. Sobald man einen der Knöpfe oberhalb der Panels drückt, verschwindet dieser Text zugunsten des gewählten Panels.

Nachfolgend erst einmal eine graphische Übersicht über die bislang mit Inhalt gefüllten Panels. Jedes dieser Panels wird dann in einem separaten Abschnitt noch näher beschrieben. Grundsätzlich gilt: Jedes dieser Panels wird in einer separaten Matlab-Funktion definiert, inklusive aller Callbacks etc.





Abbildung 7: Ansichten der diversen Funktions-Panels rechts im Hauptfenster der trEPR-GUI. Jedes Panel versucht, so übersichtlich wie möglich zusammengehörige Funktionen darzustellen und zu gruppieren. Gleichzeitig mit der Übersichtlichkeit wurde/wird versucht, ein Mindestmaß an „Dokumentation“ schon bei der Beschriftung und Anordnung der Elemente einfließen zu lassen. Jüngste Erfahrungen mit grob unintuitiven GUIs lassen das geboten erscheinen.

Load Data Panel

Das „Load Data Panel“ faßt alle Funktionen zum Laden von Datensätzen zusammen.

Wichtig: Das Laden der Datensätze sollte sehr robust funktionieren und den Nutzer in Kenntnis darüber setzen, ob das Laden erfolgreich war. Das geschieht über entsprechende Statusmeldungen auf der Statuskonsole.

Darüber hinaus erscheint beim Laden der Daten ein Dialogfenster, das zunächst anzeigt, daß Daten geladen werden, und den Nutzer dann ebenfalls über Erfolg oder Mißerfolg unterrichtet:


Abbildung 8: Dialogfenster bezüglich des Ladevorgangs von Daten. Zunächst erscheint nur der Hinweis, daß Daten geladen werden. Ist dieser Vorgang abgeschlossen, erscheint dann statt der Bitte zu warten die entsprechende (Miß-)Erfolgsmeldung und eine Schaltfläche zum Schließen des Dialogs.

Dataset Display Panel

Im „Dataset Display Panel“ finden sich grundlegende Funktionen für die Anzeige einzelner Datensätze.

Label ändern

Was viele EPR-Anwender von Brukers Xepr kennen, gibt es jetzt auch in der GUI der trEPR-Toolbox: Zu jedem Datensatz kann ein Label angegeben werden, das es dem Nutzer ermöglicht, schnell und einfach zwischen verschiedenen Datensätzen zu unterscheiden.

Wird ein Datensatz neu aus einer Datei geladen, deren Format kein Label gespeichert hat, wird als Standard der Dateiname als Label vergeben. Durch einen Doppelklick auf ein Label in einer Datensatzliste öffnet sich ein Fenster (Abb. 9), das den Nutzer das Label ändern läßt.

Abbildung 9: Fenster zum Ändern eines Labels eines Datensatzes. Klickt der Nutzer doppelt auf ein Label eines Datensatzes, öffnet sich dieses Fenster. Das Label ist ein vom Nutzer frei vergebbarer Text. Beim Laden neuer Datensätze, die nicht im „Toolboxformat“ vorlegen, wird als Standard der Dateiname als Label vergeben.

Grundsätzlich ist der Nutzer in der Nutzung von Zeichen bei der Vergabe von Labels frei. Da per Konvention allerdings modifizierte und noch nicht gespeicherte Datensätze mit einem „*“ vor dem Label angezeigt werden, ist es zumindest ungeschickt (wenn auch nicht verboten), ein Label ebenfalls mit einem „*“ beginnen zu lassen.

Slider Values Panel

Das „Slider Values Panel“ liefert sowohl eine Liste der aktuellen Schiebereglerwerte als auch die Möglichkeit, diese Werte „per Hand“ zu verändern. Die Edit-Felder sind farblich den Schiebereglern zugeordnet.

Angegeben werden alle Werte jeweils in „index“ (Index im Datensatz in der jeweiligen Dimension, entspricht der Achse in der Darstellung) und in „unit“, der gegenwärtigen Einheit der betreffenden Dimension des Datensatzes. Sollte letztere nicht vorhanden sein, ist sie ggf. mit „index“ identisch.

Zum Zurücksetzen der Schiebereglerwerte („Scaling“ und „Displacement“) gibt es die Schaltfläche „Reset“ unterhalb der vertikalen Schieberegler.

Zur Verwendung dieser Werte innerhalb der GUI: Alle Werte für die Position, aber ebenfalls für Skalierung und Verschiebung, werden für jeden Datensatz getrennt innerhalb der GUI abgelegt und bei der Darstellung der Datensätze entsprechend berücksichtigt.

Skalierung und Verschiebung erfolgt jeweils „on the fly“ bei der Darstellung der Daten, von diesen Werten werden die eigentlichen Daten nicht berührt. Wird der Datensatz im Toolboxformat gespeichert, werden die Werte natürlich entsprechend mitgespeichert, allerdings auch hier erst einmal nicht in den eigentlichen Daten.

FIXME Hier muß noch eine sinnvolle und vom Nutzer kontrollierbare Lösung gefunden werden. Spätestens beim Export einzelner Schnitte als ASCII-Daten und bei der Akkumulation mehrerer Datensätze ist es notwendig, zumindest die Verschiebung mitzuberücksichtigen.

Measurement Panel

Das „Measurement panel“ dient der Messung einzelner Punkte (und gleichzeitig auf Wunsch der Festlegung der Darstellungsposition der 1D-Ansichten in x und y auf diesen Punkt) und der Messung der Distanz zwischen zwei Punkten.

Der jeweilige Modus (ein Punkt oder zwei Punkte) wird durch Klicken auf die zugehörige Schaltfläche unten im „Measurement panel“ ausgewählt. Es kann auch direkt zwischen den Modi gewechselt werden.

Bewegt man die Maus im Meßmodus in den Bereich der Achsen, verändert sich der Zeiger entsprechend.

Die Positionsanzeigen werden während des Meßvorganges kontinuierlich aktualisiert.

Angegeben werden alle Werte jeweils in „index“ (Index im Datensatz in der jeweiligen Dimension, entspricht der Achse in der Darstellung) und in „unit“, der gegenwärtigen Einheit der betreffenden Dimension des Datensatzes. Sollte letztere nicht vorhanden sein, ist sie ggf. mit „index“ identisch.

Display Settings Panel

Das „Display Settings Panel“ ist mit Abstand das komplexeste Panel der Haupt-GUI. Wegen der Vielzahl der geforderten Einstellungsmöglichkeiten, die alle unter „Anzeigeeinstellungen“ subsummiert werden können, ist es seinerseits in (aktuell sechs) „Seiten“ unterteilt, zwischen denen analog zu den Hauptpanels durch entsprechende Schaltflächen umgeschaltet werden kann.

Seite 1: generelle Achseneinstellungen

Die erste Seite des „Display Settings Panels“ ist generellen Einstellungen der Achsen gewidmet.

Seite 2: Gitter, Legende, Normalisierung, ...

Die zweite Seite des „Display Settings Panels“ gibt dem Nutzer Kontrollelemente an die Hand, mit denen er das Gitter, die Legende, die Amplitudennormalisierung sowie die Herhorhebung des gegenwärtig aktiven Datensatzes einstellen kann.

Seite 3: Linieneinstellungen

Auf der dritten Seite des „Display Settings Panels“ sind all die Einstellungen zum Linienstil des jeweils aktiven Datensatzes vereint, die Matlab dem Nutzer bereitstellt.

Seite 4: Grafikexport, Export von 1D-Datensätzen

Die vierte Seite des „Display Settings Panels“ beherbergt Funktionen für das Speichern sowohl der aktuellen Anzeige als Grafikdatei (in diversen Formaten) als auch die Speicherung des gerade aktiven 1D-Datensatzes in einer Datei, was insbesondere für die Weiterverarbeitung in externen Programmen von großem Interesse sein kann.

Seite 5: 3D-Darstellung

Seite 6: g-Achse

Data Processing Panel

Eine Liste grundlegender Datenverarbeitungsfunktionen findet sich im „Data Processing Panel“. Der Einfachheit halber gibt es zu Beginn noch einmal eine Liste der geladenen Datensätze, damit man schnell umschalten kann.

Analysis Panel

Auf dem „Analysis Panel“ werden einmal zahlreiche Funktionen zur Analyse von Datensätzen zusammengefaßt werden. Da allerdings zu einem großen Teil die dazu notwendigen Funktionen momentan noch nicht existieren, ist das Panel aktuell leer.

Noch werden Wünsche und Vorstellungen zu seinem Inhalt entgegengenommen.

Help Panel

Abbildung 10: „Help about“-Dialog. Dieser Dialog kann auf drei Arten erreicht werden: Über Auswählen der Schaltfläche „About“ in der Leiste der Funktionsschaltflächen unterhalb der Achsen, über die gleichnamige Schaltfläche im „Help Panel“ oder durch Drücken der Taste „F1“.

Hilfe

Es gibt eine eingebaute Hilfe, die auf unterschiedliche Weise aufgerufen werden kann:

Daraufhin öffnet sich ein Hilfefenster, das den Hilfetext zum jeweils aktiven Panel anzeigt, innerhalb dessen man aber selbstverständlich auch alle anderen das Hauptfenster betreffenden Hilfetexte erreichen kann.

Abbildung 11: Hauptfenster mit geöffnetem Hilfefenster. Im Bild gezeigt ist die Situation, wenn man die Hilfe aufruft, unmittelbar nachdem man die GUI gestartet hat. Da noch keines der Panels aktiv ist, wird der Willkommenstext angezeigt.

Ein genauerer Blick auf das Hilfefenster hilft bei der Erklärung der einzelnen Elemente. Diese Elemente sind für alle Hilfefenster, also auch die der diversen Funktions-Unterfenster, bis auf wenige Ausnahmen identisch.

Abbildung 12: Hilfefenster der Haupt-GUI. Im Bild gezeigt ist die Situation, wenn man die Hilfe aufruft, unmittelbar nachdem man die GUI gestartet hat. Da noch keines der Panels aktiv ist, wird der Willkommenstext angezeigt. Das Auswahlmenü oben über dem Hilfetext erlaubt den Zugriff auf alle verfügbaren Hilfethemen. Die drei Schaltflächen unten links („About“, „Manual“, „Website“) sind spezifisch für das Hilfefenster der Haupt-GUI und finden sich in dieser Form nicht bei den Hilfefenstern der Funktions-GUIs wieder. Geschlossen wird das Hilfefenster durch die Schaltfläche „Close“ unten rechts oder über die Tastenkombination Strg+w.

Tastenkürzel

Um das Arbeiten mit der GUI angenehmer zu gestalten, gibt es eine Reihe von (soweit möglich bei allen Unterfenstern analog wiederkehrenden) Tastenkürzeln für die Bedienung.

Strg+1…9
Umschalten zwischen den Panels
Strg+x…z
Umschalten zwischen den Anzeigemodi (1D entlang x,y; 2D)
Strg+i
Informationen zum aktuell ausgewählten Datensatz
Strg+w
Schließen des Fensters
F1…F10
Aufrufen der Funktions-Unterfenster (in der Reihenfolge der Funktionstasten)
1)
Hinweis: Alle im Folgenden gezeigten Bildschirmfotos wurden unter Mac OS X (10.6) angefertigt. Da Matlab®-GUI-Elemente auf jeder Plattform leicht unterschiedlich aussehen, kann das Aussehen einzelner Elemente je nach verwendeter Plattform variieren. Anordnung und Funktion der Elemente sind hiervon aber nicht betroffen.
2)
Frage: Wie baut man das hier so modular, daß man entsprechend neue Dateitypen einfach einbauen kann, ohne die GUI ändern zu müssen? Konfigurationsdatei?!
3)
Die Mac-OS-X-Version von Matlab hat damit bei der x-Achse mitunter Schwierigkeiten, trotzdem ist es aber grundsätzlich so und erscheint beim Export der Grafik als PDF/EPS/… auch entsprechend.
4)
Die Dimensionen des Datensatzes sind fest vorgegeben, mit „x“ als Zeit, „y“ als Magnetfeldachse und „z“ als Intensität.
5)
Evtl. kann man das später noch dergestalt erweitern, daß die Einträge der listbox direkt aus dem Verzeichnislisting eines entsprechenden Verzeichnisses der Toolbox generiert werden.