Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:software:matlab:trepr:doc:format

Inhaltsverzeichnis

Datenformat der Toolbox

Alle Datensätze werden innerhalb der Toolbox in einem einheitlichen Format abgelegt und verarbeitet. Diese Seite dient der Dokumentation der Spezifikation dieses Formates.

Die Aufgabe der trEPRload-Routine ist, eine Schnittstelle zwischen allen von der trEPR-Toolbox verarbeitbaren Dateiformaten und der GUI zu schaffen.

Deshalb gibt es eine einheitliche Datenstruktur für das Ausgabeformat der trEPRload-Routine, die im Folgenden beschrieben wird.

<note important>Die hier aufgeführten Rückgabewerte müssen alle Einlesefunktionen für die jeweiligen spezifischen Datenformate mit sinnvollen Werten füllen. Sie werden so direkt in das „data“-Feld der GUI-Daten übernommen.</note>

Hintergrund: Mittlerweile hat sich herauskristallisiert, daß auch für die Toolbox nicht nur die reinen Daten (strenggenommen eine n×m-Matrix) relevant sind, sondern eben gerade auch eine Menge zusätzlicher Informationen, die teilweise aus den Rohdateien gewonnen werden können, teilweise von anderer Stelle eingepflegt werden müssen. Das ist auch und gerade im Hinblick auf eine spätere Anbindung an ein Laborinformationssystem von Nutzen. Außerdem liefert die GUI der Toolbox einen ersten Zugriff auf diverse „Metadaten“.

Historie

  • 2015-05-30: Version 1.13
    • Struktur axes und abhängige Strukturen umgestellt: x,y,z ⇒ 1,2,3
      (zur Kompatibilität mit der in Entwicklung befindlichen common-Toolbox)
  • 2014-07-28: Version 1.10
    • Struktur display (vormals nur innerhalb der GUI) nun fester Bestandteil der Datenstruktur
  • 2014-06-27: Version 1.9
    • Neue Struktur characteristics
  • 2013-09-10: Version 1.8
    • Neues Feld „history“1)
  • 2012-10-22: Version 1.6
    • Neues Feld „purpose“ in „parameters“
    • Neues Feld „buffer“ in „sample“
  • 2012-06-06: Version 1.5
    • Neues Feld „position“ in „parameters.laser.tunable“
    • Neues Feld „type“ in „parameters.laser“
    • „parameters.bridge.calibration“ komplett umstrukturiert
    • Neuer Feldtyp für „length“ in „parameters.transient“
    • Neue Struktur „pretrigger“ in „parameters.recorder“
    • Neue Struktur „background“ in „parameters“
    • Neues Feld „sequence“ in „parameters.field“
    • „parameters.field.calibration“ komplett umstrukturiert
    • Neuer Feldtyp für „start“, „stop“, „step“ in „parameters.field“
  • 2012-04-19: Version 1.4
    • Neuer Feldtyp für „date“ in „parameters“
  • 2012-04-19: Version 1.3
    • Neue Struktur „shotRepetitionRate“ in „parameters“
    • Neue Struktur „spectrometer“ in „parameters“
    • Neues Feld „powersupply“ in „parameters.field“
    • Feld „opoDye“ in „parameters.laser“ umbenannt in „tunable“ und Felder hinzugefügt
    • Neue Felder „model“, „cryostat“ und „cryogen“ in „parameters.temperature“
  • 2012-04-18: Version 1.2
    • Neue Struktur „probehead“ in „parameters“
    • Feld „probehead“ in „parameters.bridge“ gelöscht
    • Neues Feld „detection“ in „parameters.bridge“
  • 2011-12-09: Version 1.1
    • Neues Feld version
    • Neue Struktur axis.y.calibratedValues
    • Neue Struktur axis.z
    • Neues Feld operator
    • Neues Feld date
    • Neue Struktur parameters.field.calibration
    • Neues Feld parameters.field.unit
    • Neues Feld parameters.field.model
    • Neuer Feldtyp für parameters.recorder.timeBase (scalar ⇒ struct)
    • Neue Struktur parameters.recorder.bandwidth
    • Neues Feld parameters.recorder.coupling
    • Neue Struktur parameters.recorder.impedance
    • Neues Feld parameters.recorder.model
    • Neues Feld parameters.transient.unit
    • Neuer Feldtyp für parameters.bridge.MWfrequency (scalar ⇒ struct)
    • Neuer Feldtyp für parameters.bridge.attenuation (scalar ⇒ struct)
    • Neue Struktur parameters.bridge.bandwidth
    • Neue Struktur parameters.bridge.amplification
    • Neue Struktur parameters.bridge.calibration
    • Neue Struktur parameters.bridge.power
    • Neues Feld parameters.bridge.model
    • Neues Feld parameters.bridge.probehead
    • Neuer Feldtyp für parameters.temperature (scalar ⇒ struct)
    • Neuer Feldtyp für parameters.laser.wavelength (scalar ⇒ struct)
    • Neuer Feldtyp für parameters.laser.repetitionRate (scalar ⇒ struct)
    • Neue Struktur parameters.laser.power
    • Neues Feld parameters.laser.model
    • Neue Struktur sample
    • Neues Feld comment
    • Neue Struktur file
    • Neues Feld label

Struktur

Entwurf für die Struktur

<note important>Die mit NEW markierten Felder sind in Version >1.1 neu hinzugekommen, und werden aktuell (2012-04-19) noch nicht von allen Routinen berücksichtigt.</note>

  • data - matrix
    eigentliche Daten
  • axes - struct
    zusätzliche Informationen zu den Achsen
    • x - struct (alt: xaxis)
      • values - vector
        Werte der X-Achse, gleiche Länge wie die korrespondierende Dimension des data-Feldes
      • measure - string
        Meßgröße
      • unit - string
        Einheit
    • y - struct (alt: yaxis)
      • values - vector
        Werte der Y-Achse, gleiche Länge wie die korrespondierende Dimension des data-Feldes, leer im Falle eines 1D-Datensatzes
      • calibratedValues - vector
        kalibrierte Werte der Y-Achse, gleiche Länge wie die korrespondierende Dimension des data-Feldes, leer im Falle eines 1D-Datensatzes2)
      • measure - string
        Meßgröße, leerer String im Falle eines 1D-Datensatzes
      • unit - string
        Einheit, leerer String im Falle eines 1D-Datensatzes
    • z - struct
      • measure - string
        Meßgröße
      • unit - string
        Einheit
  • parameters - struct
    zusätzliche Informationen zur Messung, die häufig gebraucht werden
    • runs - scalar
    • operator - string
      Nutzer, der den Datensatz aufgenommen hat
    • date - struct
      • start - string
        Datum, an dem der Datensatz aufgenommen wurde
        Format: yyyy-mm-dd HH:MM:SS (Matlab: Nr. 31)
      • end - string
        Datum, an dem der Datensatz aufgenommen wurde
        Format: yyyy-mm-dd HH:MM:SS (Matlab: Nr. 31)
    • NEW purpose - cell array
      Sinn und Zweck des Experiments
    • field - struct
      • start - scalar
      • stop - scalar
      • step - scalar
      • calibration - struct
        neu eingeführt in Berlin für die fsc2-Daten
        • values - vector
          Vektor bestehend aus drei Elementen: field_start, field_end, field_step
        • unit - string
        • model - string
          Modellbezeichnung des verwendeten Gaussmeters
      • NEW unit - string
        Einheit
      • NEW model - string
        Modellbezeichnung des verwendeten Magnetnetzteils
    • recorder - struct
      • sensitivity - struct
        • value - scalar
        • unit - string
      • averages - scalar
      • timeBase - struct (alt: scalar)
        • value - scalar
        • unit - string
      • bandwidth - struct
        • value - scalar
        • unit - string
      • coupling - string
      • impedance - struct
        • value - scalar
        • unit - string
      • model - string
        Typenbezeichnung des verwendeten Transientenrekorders
    • transient - struct
      • points - scalar
      • triggerPosition - scalar
      • length - scalar
      • unit - string
        Einheit
    • bridge - struct
      • MWfrequency - struct (alt: scalar)
        • value - scalar
        • unit - string
      • attenuation - struct (alt:scalar)
        • value - scalar
        • unit - string
      • bandwidth - struct
        Bandbreite des Vorverstärkers (so vorhanden)
        • value - scalar
        • unit - string
      • amplification - struct
        Verstärkung des Vorverstärkers (so vorhanden)
        • value - scalar
        • unit - string
      • calibration - struct
        neu eingeführt in Berlin für die fsc2-Daten
        • values - vector
          Vektor bestehend aus zwei Elementen: MWfreq_begin, MWfreq_end
        • unit - string
        • model - string
          Modell des verwendeten Frequenzzählers
      • power - struct
        • value - scalar
        • unit - string
      • model - string
        Typenbezeichnung der verwendeten Mikrowellenbrücke
      • NEW detection - string
        Mischer- oder Diodendetektion („mixer“/„diode“)
    • NEW probehead - struct
      Informationen zum verwendeten Resonator/Probenkopf
      • type - string
      • model - string
        Typenbezeichnung des verwendeten Resonators/Probenkopfes
      • coupling - string
        kritisch oder überkoppelt („critical“/„overcoupled“)
    • temperature - struct (alt: scalar)
      • value - scalar
      • unit - string
    • laser - struct
      • wavelength - struct (alt: scalar)
        • value - scalar
        • unit - string
      • repetitionRate - struct (alt: scalar)
        • value - scalar
        • unit - string
      • power - struct
        • value - scalar
        • unit - string
      • model - string
        Typenbezeichnung des verwendeten Lasers
      • NEW tunable - struct
        • type - string\\ OPO oder Farbstofflaser
        • model - string
          Typenbezeichnung des verwendeten OPOs bzw. Farbstofflasers
        • dye - string
          Name des verwendeten Laserfarbstoffs, „none“ wenn OPO
  • sample - struct
    Details zur vermessenen Probe3)
    • name - string
      Kurzer, möglichst eindeutiger Name
    • description - cell array
      Freitext-Beschreibung der Probe
    • NEW buffer - cell array
      Freitext-Beschreibung des verwendeten Puffers
    • preparation - cell array
      Freitext-Beschreibung der Probenpräparation
    • tube - string
      verwendetes Probenröhrchen
  • header - cell array
    Kommentarkopf der eingelesenen Datei
  • comment - cell array
    Freitextkommentar zur Messung
  • NEW history - cell array
    Datensätze mit Parametern und Informationen zu jedem Prozessierungsschritt
  • info - struct
    zusätzliche Informationen zum Datensatz, z.B. zur Probe, idealerweise Schlüssel-Wert-Paare; leer, wenn nicht vorhanden
  • file - struct
    • name - string
      Dateiname, ggf. mit komplettem oder relativem Pfad
    • format - string
      Dateiformat, also z.B. „fsc2“, „BES3T“4)
  • label - string
    Anzeigename z.B. in der trEPRgui, ähnlich wie bei Xepr; leerer String, wenn nicht angegeben
  • version - string
    Versionsnummer der Datenstruktur
  • display - struct
    Werte der einzelnen Slider etc.
    • lines - struct
      • data - struct
        Angaben bezüglich LineStyle für gemessene Spektren
        • color - string oder vector, default: 'k'
        • style - string, default: '-'
        • marker - string, default: 'none'
        • width - scalar, default: 1
      • calculated - struct
        Angaben bezüglich LineStyle für gerechnete Spektren
        • color - string oder vector, default: 'k'
        • style - string, default: '-'
        • marker - string, default: 'none'
        • width - scalar, default: 1
    • position - struct
      Position im 2D-Datensatz
      • data - struct
        Angaben für experimentelle Daten
        • x - scalar, default: 1
        • y - scalar, default: 1
      • calculated - struct
        Angaben für gerechnete Spektren
        • x - scalar, default: 1
        • y - scalar, default: 1
    • displacement - struct
      Verschiebung in x und y
      • data - struct
        Angaben für experimentelle Daten
        • x - scalar, default: 0
        • y - scalar, default: 0
        • z - scalar, default: 0
      • calculated - struct
        Angaben für gerechnete Spektren
        • x - scalar, default: 0
        • y - scalar, default: 0
        • z - scalar, default: 0
    • scaling - struct
      Skalierung in x und y
      • data - struct
        Angaben für experimentelle Daten
        • x - scalar, default: 1
        • y - scalar, default: 1
        • z - scalar, default: 1
      • calculated - struct
        Angaben für gerechnete Spektren
        • x - scalar, default: 1
        • y - scalar, default: 1
        • z - scalar, default: 1
    • smoothing - struct
      Glättung in x und y
      • data - struct
        Angaben für experimentelle Daten
        • x - struct
          • value - scalar, default: 1
          • filterfun - string
        • y - struct
          • value - scalar, default: 1
          • filterfun - string
      • calculated - struct
        Angaben für gerechnete Spektren
        • x - struct
          • value - scalar, default: 1
          • filterfun - string
        • y - struct
          • value - scalar, default: 1
          • filterfun - string
  • averaging - struct
    Mittelung in x und y
    • data - struct
      Angaben für experimentelle Daten
      • x - scalar, default: 1
      • y - scalar, default: 1
    • calculated - struct
      Angaben für gerechnete Spektren
      • x - scalar, default: 1
      • y - scalar, default: 1

Hilfsmittel

Zur Vereinfachung der Entwicklung neuer Einleseroutinen und zum Überprüfen von Datenstrukturen auf Konformität mit dem Datenmodell der trEPR-Toolbox gibt es mittlerweile eine neue Funktion:

trEPRdataStructure()

Aus der Hilfe zu dieser Funktion:

  trEPRdataStructure Return data structure for trEPR toolbox data, or test
  compliance of given structure with the data structure of the toolbox.
 
  Usage
    structure = trEPRdataStructure;
    structure = trEPRdataStructure(<command>)
    [missingFields,wrongType] = trEPRdataStructure(<command>,structure)
 
    <command> - string 
                one of 'structure', 'model' or 'check'
                'structure'    - return (empty) trEPR toolbox data
                                 structure
                'model'        - return trEPR toolbox data structure with
                                 field types as values
                'check'        - check given structure for compliance with
                                 the toolbox data structure
                'history'      - return history structure for processing
                                 step of dataset
                'historymodel' - return history structure with field types
                                 as values
                                 short: 'hmodel'
                'historycheck' - check given structure for compliance with
                                 the toolbox history record structure
                                 short: 'hcheck'
 
    structure - struct
                either empty trEPR toolbox data structure or 
                trEPR toolbox data structure with field types as values
 
                In case of a history record, data structure complying with
                the history record data structure
 
    missingFields - cell array
                    List of fields missing in the structure with respect to
                    the toolbox data structure
 
    wrongType -     cell array
                    List of fields in structure having the wrong type with
                    respect to the toolbox data structure
 
  See also trEPRload.

Wie aus dem Hilfetext ersichtlich kann mit dieser Funktion eine Datenstruktur auf Konformität mit der Toolbox-Datenstruktur überprüft werden.

Spätere Versionen dieser Funktion haben evtl. dann auch die Fähigkeit, eine alte in die jeweils aktuelle Datenstruktur zu überführen.

1)
Existierte bislang nur im Zusammenspiel mit der GUI.
2)
was, wenn keine Kalibration vorhanden ist? Dann identisch mit values oder ebenfalls leer?
3)
Hier lassen sich später bei Bedarf sehr gut diverse andere Felder erweitern. Deshalb „verschwindet“ die Probenbeschreibung einfach in einem cell array als freies Textfeld
4)
Am besten eigneten sich hier die Formatbezeichner, wie sie in der trEPRload.ini stehen
de/software/matlab/trepr/doc/format.txt · Zuletzt geändert: 2020/09/30 21:35 von 127.0.0.1