Inhaltsverzeichnis

The main GUI window

<note important>Currently, still most of the text on this page is in German. Translation is work in progress, though…</note>

The main window (Fig. 1)1) is dominated by the main axes, flanked by important controls (sliders etc.). Another important part are the panels at the right part of the main window. Only one of them is visible at a time, and you can switch between the panels using the buttons on top of them (Fig. 2).

The list of (currently 10) “function buttons” below the main axes (Fig. 3) gives quick and easy access to several most often used functions.

Figure 1: Main window of the trEPR GUI. The main window is designed to be displayed even on rather small screens (1024×768 or, more likely, 1280×800). Furthermore all functions have been grouped in panels to the right of the main window for better overview and enhanced usability. Only one of these panels is visible at a time, and you can switch between them via the buttons on top. Details to the different panels are provided in the following sections of this page.
Figure 2: Buttons used to switch between the panels on the right of the main GUI window. All functions of the main GUI window have been arranged in different panels. You can switch between those panels by pressing the respective button (or using keyboard shortcuts Ctrl-1…9). Fig. 7 gives an overview of the different panels.
Figure 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.
Figure 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.
Figure 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:

Figure 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.





Figure 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:


Figure 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.

Figure 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

Figure 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.

Figure 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.

Figure 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.

Keyboard shortcuts

There are a number of keyboard shortcuts to help making working with the GUI more convenient. These shortcuts are (as much as possible) identical for every subwindow.

Ctrl+1…9
Switch between panels
Ctrl+x…z
Switch between display modi (1D along x,y; 2D)
Ctrl+i
Informations about the currently selected dataset
Ctrl+w
Close GUI
F1…F10
Calls the respective function subwindows (corresponding to the function buttons)
1)
Please note: All following screenshots have been taken on a computer runing Mac OS X (10.6). As Matlab® GUI elements look slightly different on each platform you may notice slight variations between what you see on your computer and what is shown here. Nevertheless, both arrangement and function of these elements should not be affected by that.
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.