Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:software:matlab:ta:dev:gui-appdata

Daten innerhalb der GUI speichern und verwalten

<note important>Diese Datenmodell ist nach wie vor im Laufe der weiteren Entwicklung Änderungen unterworfen, auch wenn es sich mittlerweile eher um Ergänzungen denn um grundlegende Umgestaltungen handelt.</note>

Struktur

  • data - cell-Array
    speichert die Spektren nebst zugehörigen Informationen
    für Details zur Datenstruktur s.u.
  • origdata - cell-Array
    speichert die Spektren nebst zugehörigen Informationen
    • „Originaldaten“ in dem Sinne als sie aus der Datei geladen wurden
    • hilfreich/notwendig für eine Undo-Funktion
  • configuration - struct
    speichert die aktuellen Konfigurationseinstellungen1)
    • display - struct
      • highlight - struct
        • method - string (color, linewidth, marker, style, none)
          Methode, wie das aktuelle Spektrum in der Anzeige hervorgehoben wird
        • value - string/scalar/vector (je nach dem Wert von „method“)
  • control - struct
    speichert für den aktuellen Betriebsablauf wichtige Informationen, z.B. das aktuell gewählte Spektrum
    • spectra - struct, Informationen über die gegenwärtig geladenen Spektren
      • activeSpectrum - integer, Referenz auf data (wenn cell-Array)
      • visible - vector, enthält die Positionen im cell-array data für die sichtbaren Spektren
      • invisible - s.o. bei „visible“, wäre eigentlich nicht notwendig, erleichtert aber den Zugriff
      • modified - s.o. bei „visible“, Referenz auf die nach dem Laden modifizierten Spektren2)
      • missing - s.o. bei „visible“, Referenz auf die Spektren, bei denen unmittelbar nach dem Laden noch Parameter fehlen, die bei späteren Operationen von entscheidender Bedeutung sind
    • measure - struct
      • point
      • x1val
      • y1val
      • x1ind
      • y1ind
    • axis - struct
      Informationen über das „axis-Handle“ (Anzeige der Spektren)
      • displayType - string, 2D, B0, t
      • MFEdisplay - string
        Darstellungsmodus hinsichtlich MFE-Daten
        Werte: „MFoff“/„MFoff+MFon“/„MFoff+MFon+DeltaMF“/„MFon“/„DeltaMF“
      • grid - struct
        • x - string, {„major“,„minor“,„off“}
        • y - string, {„major“,„minor“,„off“}
        • zero - struct
          • visible - boolean
          • color - 1×3 vector
          • width - scalar
          • style - string
      • legend - struct
        • handle - scalar
        • location - string
        • box - boolean
        • FontName - string
        • FontWeight - string
        • FontAngle - string
        • FontSize - scalar
      • highlight - struct
        • method
        • value
      • labels
        • x
          • measure
          • unit
        • y
          • measure
          • unit
        • z
          • measure
          • unit
      • limits
        • auto - boolean
        • x
          • min
          • max
        • y
          • min
          • max
        • z
          • min
          • max
      • normalisation - string
      • stdev - boolean
      • onlyActive - boolean
    • status - cell array
      Statusmeldungen seit dem Start der GUI
      • wird im Statusfenster (TAgui_statuswindow) angezeigt
    • dirs - struct
      • lastLoad - string
        Verzeichnis, aus dem zuletzt Daten geladen wurden
      • lastSave - string
      • lastFigSave - string
      • lastExport - string
    • system - struct
      • username - string
      • platform - string
      • matlab - string
      • TA - string

Datenstruktur (data)

  • ein cell-Array, in dem alle Daten drinliegen
  • Kontrolle über für die GUI wesentliche Aspekte (sichtbar, verändert) über die control-Struktur

Das eigentliche Datenformat der Toolbox ist an anderer Stelle definiert. Hier werden nur die zusätzlichen Felder aufgeführt, die innerhalb der GUI hinzukommen und GUI-spezifische Dinge steuern.

  • history - cell array
    Historie der Bearbeitung des Datensatzes. Jeder Bearbeitungsschritt wird in einem struct abgelegt, das mindestens die folgenden Felder hat:
    • date - datestr(now,31) (sekundengenauer Zeitstempel)3)
    • method - string
      Name der MATLAB®-Funktion (z.B. trEPRPOC, trEPRBGC,…)4)
    • system - struct
      Informationen zum verwendeten System
      • username - string
        Anmeldename des Nutzers, der die Operation durchgeführt hat
      • platform - string
        Plattform, auf der die Operation durchgeführt wurde
    • parameters - struct
      Parameter der angewandten Operation
      Hier kommt rein, was u.a. die BLC- und die ACC-GUI jeweils als „blc“- bzw. „acc“-Struktur ablegen
    • info - cell array of strings
      weitergehende Information in textlicher Form, z.B. der Report der ACC-Funktion
  • line - struct
    Angaben bezüglich LineStyle
    • color - string oder vector, default: 'k'
    • style - string, default: '-'
    • marker - string, default: 'none'
    • width - scalar, default: 1
  • display - struct
    Werte der einzelnen Slider etc.
    • position - struct
      Position im 2D-Datensatz
      • x - scalar, default: 1
      • y - scalar, default: 1
    • displacement - struct
      Verschiebung in x und y
      • x - scalar, default: 0
      • y - scalar, default: 0
      • z - scalar, default: 0
    • scaling - struct
      Skalierung in x und y
      • x - scalar, default: 1
      • y - scalar, default: 1
      • z - scalar, default: 1
    • smoothing - struct
      Glättung in x und y
      • x - struct
        • value - scalar, default: 1
        • filterfun - string
      • y - struct
        • value - scalar, default: 1
        • filterfun - string
    • measure - struct
      Details zu Messungen
      • point - array of structs
        für jeden Punkt x- und y-Werte des Meßpunktes als Index und Einheit
        • index - vector
          x- und y-Wert des Meßpunktes als Index
        • unit - vector
          x- und y-Wert des Meßpunktes in Einheiten
    • MFon - struct (OPTIONAL)
      Darstellung der Daten mit eingeschaltetem Magnetfeld
      • line - struct
        Angaben bezüglich LineStyle
        • color - string oder vector, default: 'k'
        • style - string, default: '-'
        • marker - string, default: 'none'
        • width - scalar, default: 1
    • DeltaMF - struct (OPTIONAL)
      Darstellung der Differenzspektren MFon-MFoff
      • line - struct
        Angaben bezüglich LineStyle
        • color - string oder vector, default: 'k'
        • style - string, default: '-'
        • marker - string, default: 'none'
        • width - scalar, default: 1
1)
Dieselben Parameter können noch einmal unter „control“ auftauchen, der Unterschied besteht darin, daß in „configure“ die Konfigurations- und damit Defaulteinstellungen abgelegt sind (wie sie evtl. einmal aus einer Konfigdatei geladen werden), in „control“ allerdings die gerade real verwendeten Werte.
2)
Wenn hier etwas steht, dann sollte die GUI vor dem Beenden nachfragen, ob der Nutzer die Modifikationen speichern möchte. Es wäre sogar möglich, hier auf Wunsch direkt anzuzeigen, was mit den Spektren alles gemacht wurde.
3)
Das sollte eigentlich reichen, da dieser Zeitstempel ja immer nur für eine Operation auf einem Datensatz gilt und es unwahrscheinlich ist, daß man mehr als eine Operation auf demselben Datensatz innerhalb einer Sekunde macht. Sollte sich herausstellen, daß das doch nicht reicht, kann der Zeitstempel einfach auf Millisekunden erweitert werden.
4)
Aus Gründen der Einfachheit halber über mfilename bestimmen.
de/software/matlab/ta/dev/gui-appdata.txt · Zuletzt geändert: 2020/09/30 21:35 von 127.0.0.1