Table of Contents
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.





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:

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.













Load Data Panel
Das “Load Data Panel” faßt alle Funktionen zum Laden von Datensätzen zusammen.
- “Files to load”
- Kombinieren mehrerer Dateien
- Beispiel Freiburg-Daten: jede Zeitspur ist in einer eigenen Datei gespeichert
- gilt gleichermaßen letztlich auch für die TA-Daten
- Laden ganzer Verzeichnisse
- Wenn man alle Spektren eines Verzeichnisses laden will
- im Zusammenhang mit “Kombinieren mehrerer Dateien” anwendbar
- “Preprocessing on load”
eine Reihe von einfachen Funktionen, die schon direkt nach dem Laden auf die Daten angewendet werden kann- offset compensation
- Der Mittelwert des “pretrigger offset” wird für alle Zeitspuren auf Null gezogen
- background subtraction
- im Stile des fsc2-Meßprogramms in Berlin: die ersten n Zeitspuren werden gemittelt und deren Mittelwert von allen anderen Zeitspuren abgezogen
- “Axis labels”
- “determine labels from file (if available)”
- versucht, die Achsenbeschriftungen aus den Daten des (bei mehreren zu ladenden Dateien ersten) geladenen Datensatzes zu bestimmen
- “File type”
- Auswahlliste mit am Ende diversen Dateitypen2)
- “automatic” verläßt sich auf die
trEPRload
-Funktion - einige Dateitypen lassen sich nicht einfach erkennen bzw. unterscheiden, deshalb ist es sinnvoll, hier manuell eingreifen zu können.
- “Load”
- öffnet den entsprechenden Matlab-GUI-Dialog für die Datei-/Verzeichnisauswahl
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:


Dataset Display Panel
Im “Dataset Display Panel” finden sich grundlegende Funktionen für die Anzeige einzelner Datensätze.
- “Invisible datasets”
- Liste der geladenen, aber gegenwärtig nicht angezeigten Datensätze
- Veränderte (und seit der letzten Änderung nicht gespeicherte) Datensätze werden durch einen Stern links neben dem Namen hervorgehoben.
- “Visible datasets”
- Liste der geladenen und gegenwärtig angezeigten Datensätze
- Veränderte (und seit der letzten Änderung nicht gespeicherte) Datensätze werden durch einen Stern links neben dem Namen hervorgehoben.
- “Show”/“Hide”
- Anzeigen/Verstecken des jeweils gerade aktiven Datensatzes
- “«”/“»”
- “Durchblättern” durch die aktiven Datensätze
- Ein ständig sichtbares, identisches Paar von Schaltflächen findet sich mittlerweile unterhalb der Panels.
- “Combine”
- fügt die gegenwärtig sichtbaren Datensätze zu einem Datensatz zusammen
- insbesondere für den Fall, daß man bei zu kombinierenden Datensätzen beim Laden vergaß, das Kombinieren einzuschalten
- “Currently active dataset”
- Panel mit einer Reihe zusätzlicher Aktionen auf dem gerade aktiven (in der Liste der sichtbaren Datensätze hervorgehobenen) Datensatz
- “Save”
- speichert den aktuellen Datensatz
- nur aktiv, wenn der aktuelle Datensatz modifiziert wurde
- Format: XML (trEPR-Toolbox-Format) in ZIP-Container
- “Save as”
- immer aktiv
- öffnet einen Dialog zum Eingeben eines Dateinamens
- Format: XML (trEPR-Toolbox-Format) in ZIP-Container
- “Remove”
- entfernt den aktuellen Datensatz aus der GUI (aber nicht vom Dateisystem)
- sollte ein Dialogfenster öffnen, wenn der Datensatz verändert wurde
- “Undo”
- ermöglicht die schrittweise Rücknahme der letzten Operationen auf einem Datensatz
- “Get info”
- öffnet eigene GUI mit einer Übersicht über alle vorhandenen Infos zum aktuellen Datensatz, u.a.
- Header-Information
- Parameter
- History
- Möglichkeit zum Eingeben/Ändern von Parametern
- “Duplicate”
- dupliziert den aktuellen Datensatz und weist ihm ein neues Label zu
- hilfreich, wenn z.B. mehrere Schnitte eines zweidimensionalen Datensatzes miteinander verglichen werden sollen, man sich aber noch nicht auf die jeweiligen Schnitte festgelegt hat
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.

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.
- “Position”
- Position entlang der x- bzw. y-Achse
- relevant für die entsprechenden 1D-Darstellungen
- kann im “Measure”-Panel über eine Einpunktmessung festgelegt werden (siehe dort)
- “Scaling”
- Skalierung des Datensatzes in allen drei Richtungen (x,y,z)
- “Displacement”
- Verschiebung des Datensatzes in allen drei Richtungen (x,y,z)
- kann für EPR-Daten und eine Verschiebung auf der Feldachse als “Frequenzkorrektur” interpretiert werden
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.
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.
- “First point”
- gleichzeitig der einzige Punkt im Einpunkt-Meßmodus
- “Set sliders”
- setzt im Einpunkt-Meßmodus die Positionen in x- und y-Richtung entsprechend
- wird durch Drücken von “Reset” nicht rückgängig gemacht
- “Second point”
- im Zweipunkt-Meßmodus Anzeige des zweiten Punktes
- “Distance”
- im Zweipunkt-Meßmodus Anzeige des Abstandes zwischen den beiden Punkten
- “Reset”
- setzt die Anzeige der Punkte zurück
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.
- “Axis labels”
- als Standard wird für Größe und Einheit jeweils “index” und “points” vorgegeben
- angebbar sind beliebige Strings
- da Matlab-intern der “TeX-Interpreter” verwendet wird, sind Dinge wie “_” und “^” für Tief- und Hochstellung reserviert. Sollen sie als eigentliche Zeichen erscheinen, müssen sie dementsprechend mit “\” maskiert werden (entsprechend gilt für “\”, daß es als “\\” geschrieben werden muß).
- Größe und Einheit werden durch “/” getrennt
- die Größe wird kursiv dargestellt3)
- “Get from active dataset”
- versucht, die Achsenbeschriftungen vom gerade aktiven Datensatz zu lesen
- “Axis limits”
- Normalerweise werden die Achsengrenzen automatisch bestimmt (s.u.).
- Sollte die Notwendigkeit/der Wunsch bestehen, die Achsenlimits zu ändern, einfach das Häkchen bei der Box “Determine automatically” entfernen und die Werte per Hand eingeben.
- “Determine automatically”
- standardmäßig gesetzt
- bestimmt, ob die Achsengrenzen automatisch anhand der gerade angezeigten Datensätze bestimmt werden sollen
- Wenn gesetzt, werden die aktuellen Achsengrenzen trotzdem angezeigt, was hilfreich ist, wenn man sie dann verändern möchte.
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.
- “Grid”
- “X” und “Y” setzen jeweils das Gitter in x- bzw. y-Richtung, hier (und nur hier) bezogen auf die Abszisse bzw. Ordinate der gegenwärtig angezeigten Achsen und nicht bezogen auf die Dimensionen des Datensatzes4)
- “minor” setzt in Verbindung mit “X” und/oder “Y” das enge Gitter
- “zero” ist per Voreinstellung eingeschaltet und sorgt (in 1D-Darstellungsmodi) für die Anzeige einer Nullinie.
- “Legend display and position”
- Positionierung der Legende (in 1D-Darstellungsmodi)
- “auto” überläßt es Matlab®, die “beste” Position herauszufinden.
- “NW”, “NE”, “SW” und “SE” stehen für die vier Ecken der Achsen, in denen die Legende platziert werden kann
- “Normalise”
- Da die Signalintensität transienter EPR-Spektren in nichttrivialer Weise stark sowohl von experimentellen (Alignment des Setups etc.) als auch von intrinsischen (Überlagerung und gegenseitige Auslöschung absorptiver und emissiver Linienanteile) Parametern abhängt, läßt sie nur qualitative, aber keine quantitative Auswertung zu. Deshalb ist es oft hilfreich/wünschenswert, Spektren hinsichtlich ihrer Amplitude “normalisieren” zu können.
- Zwei unterschiedliche Normalisierungen stehen zur Verfügung:
- “Pk-Pk = 1”
- Die Gesamtamplitude zwischen den Extrema wird auf 1 gesetzt.
- “amplitude = 1”
- Die Amplitude zwischen der Nullinie und dem Maximum wird auf 1 gesetzt.
- “Highlight of current dataset”
- Werden (in 1D-Anzeigemodi) mehrere Datensätze gleichzeitig angezeigt, ist es oft hilfreich/wünschenswert, den gerade ausgewählten Datensatz hervorzuheben.
- Voreinstellung ist die Hervorhebung des gegenwärtig aktiven Datensatzes über die Farbe (blaue Linie)
- Zur Auswahl für die Methode der Hervorhebung stehen Linienfarbe, -stärke, -stil und diverse Marker.
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.
- “Selected dataset”
- Eine Auswahlliste der gerade sichtbaren Spektren mit Möglichkeit, einen einzelnen Datensatz direkt anzuwählen, um seine Linieneinstellungen zu ändern.
- “Colour”
- Einstellungen zur Linienfarbe
- Gegenwärtig kann nur aus den vordefinierten Matlab-Farben ausgewählt werden.
- Später wird es die Möglichkeit geben, alternativ ebenfalls RGB-Tripel anzugeben.
- “Line settings”
- “Width”
- Linienbreite
- “Style”
- Linienstil, wie “durchgezogen”, “gestrichelt”, “gepunktet”, “gestrichpunktet”
- “Marker”
- eine Sammlung diverser Linienmarkierungen
- Hinweis: Sollen nur die Datenpunkte ohne verbindende Linie dargestellt werden, kann der Linienstil auf “none” gesetzt werden. Dann muß allerdings, um überhaupt noch etwas zu sehen, der “Marker” auf einen Wert ungleich “none” gesetzt werden.
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.
- “Export figure”
- “Format”
- erlaubt (zukünftig) die Auswahl eines Formates (im Sinne eines Seitenverhältnisses etc.) der Abbildung
- nützlich für standardisierte Ausgabe für die Weiterverwertung in Berichten, zum Einbinden in Arbeiten etc.
- “File type”
- Zur Auswahl stehen gegenwärtig folgende Formate:
- Matlab® fig
- erlaubt die Weiterverarbeitung in Matlab®
- encapsulated Postscript (EPS)
- Portable Document Format (PDF)
- Portable Network Graphics (PNG)
Bitmap-Format
- “Export 1D data”
- dient dem Export der 1D-Repräsentation des gerade aktiven Datensatzes (Schnitt entlang x oder y) als Datei
- hilfreich für die Weiterverarbeitung in externen Programmen
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.
- “Select dataset”
- Auswahlliste der gerade geladenen und angezeigten Datensätze
- Eine Änderung der Auswahl hier aktualisiert selbstverständlich alle anderen Panels entsprechend, da damit der gerade aktive Datensatz bestimmt wird.
- “Standard Corrections”
einfache Operationen auf dem jeweiligen Datensatz- “Offset correction” (POC)
- Der Offset vor dem Laserpuls wird auf Null gemittelt, um Schwankungen an dieser Stelle auszugleichen.
- grundlegende Operation auf dem Datensatz
- operiert auf jedem Zeitprofil einzeln
- wird sowohl für trEPR- als auch für TA-Daten benötigt
- “Background subtraction” (BGC)
- Die ersten n (offresonanten) Zeitprofile werden gemittelt und ihr Mittelwert von jedem anderen Zeitprofil des Datensatzes abgezogen.
- einfache Form der Hintergrundkorrektur, wie sie automatisch auch im fsc2-Meßprogramm in Berlin durchgeführt wird
- nur für 2D-Datensätze verfügbar
- ersetzt keine Baseline- bzw. Driftkorrektur
- “Advanced corrections (dialogues)“
erweiterte Korrekturen/Operationen, die jeweils ein eigenständiges GUI-Fenster öffnen- “Baseline…”
- “Accumulate…”
- “Smoothing (running average filter)“
Panel mit Funktionen zum Glätten von Datensätzen- “type”
- Auswahlliste mit verschiedenen Filterfunktionen
- Die Callbacks sind bereits so geschrieben, daß die einzelnen Einträge direkt die Namen der jeweilig zu verwendenden Matlab-Funktionen sind.5)
- Die Filtermethode wird zusammen mit den Werten für x und y (jeweils in Datenpunkten) für jeden Datensatz getrennt in der GUI gespeichert (ebenfalls getrennt für x und y eines Datensatzes).
- Der Filter wird (momentan) “on the fly” bei der Darstellung der Spektren angewandt, und das nur, wenn die Breite des Filterfensters (in Datenpunkten) größer als eins ist.
- “x”
- Breite des Filterfensters
- beide Angaben möglich: in Datenpunkten und in Einheiten
- wenn keine Einheit verfügbar ist, ist die Anzeige der Einheit ebenfalls in Datenpunkten
- “y”
- Breite des Filterfensters
- beide Angaben möglich: in Datenpunkten und in Einheiten
- wenn keine Einheit verfügbar ist, ist die Anzeige der Einheit ebenfalls in Datenpunkten
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

Hilfe
Es gibt eine eingebaute Hilfe, die auf unterschiedliche Weise aufgerufen werden kann:
- Klicken auf die Schaltfläche “Help” ganz links unten im Hauptfenster.
- Klicken auf den Hilfeknopf ganz unten im Hauptfenster, rechts von den Funktionstasten.
- Durch Drücken der Taste “F1”.
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.

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.

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)