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 Datenaxes
- struct
zusätzliche Informationen zu den Achsenx
- struct (alt:xaxis
)values
- vector
Werte der X-Achse, gleiche Länge wie die korrespondierende Dimension desdata
-Feldesmeasure
- string
Meßgrößeunit
- string
Einheit
y
- struct (alt:yaxis
)values
- vector
Werte der Y-Achse, gleiche Länge wie die korrespondierende Dimension desdata
-Feldes, leer im Falle eines 1D-DatensatzescalibratedValues
- vector
kalibrierte Werte der Y-Achse, gleiche Länge wie die korrespondierende Dimension desdata
-Feldes, leer im Falle eines 1D-Datensatzes2)measure
- string
Meßgröße, leerer String im Falle eines 1D-Datensatzesunit
- string
Einheit, leerer String im Falle eines 1D-Datensatzes
z
- structmeasure
- string
Meßgrößeunit
- string
Einheit
parameters
- struct
zusätzliche Informationen zur Messung, die häufig gebraucht werdenruns
- scalaroperator
- string
Nutzer, der den Datensatz aufgenommen hatdate
- 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
- structstart
- scalarstop
- scalarstep
- scalarcalibration
- struct
neu eingeführt in Berlin für die fsc2-Datenvalues
- vector
Vektor bestehend aus drei Elementen: field_start, field_end, field_stepunit
- stringmodel
- string
Modellbezeichnung des verwendeten Gaussmeters
- NEW
unit
- string
Einheit - NEW
model
- string
Modellbezeichnung des verwendeten Magnetnetzteils
recorder
- structsensitivity
- structvalue
- scalarunit
- string
averages
- scalartimeBase
- struct (alt: scalar)value
- scalarunit
- string
bandwidth
- structvalue
- scalarunit
- string
coupling
- stringimpedance
- structvalue
- scalarunit
- string
model
- string
Typenbezeichnung des verwendeten Transientenrekorders
transient
- structpoints
- scalartriggerPosition
- scalarlength
- scalarunit
- string
Einheit
bridge
- structMWfrequency
- struct (alt: scalar)value
- scalarunit
- string
attenuation
- struct (alt:scalar)value
- scalarunit
- string
bandwidth
- struct
Bandbreite des Vorverstärkers (so vorhanden)value
- scalarunit
- string
amplification
- struct
Verstärkung des Vorverstärkers (so vorhanden)value
- scalarunit
- string
calibration
- struct
neu eingeführt in Berlin für die fsc2-Datenvalues
- vector
Vektor bestehend aus zwei Elementen: MWfreq_begin, MWfreq_endunit
- stringmodel
- 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/Probenkopftype
- string
model
- string
Typenbezeichnung des verwendeten Resonators/Probenkopfescoupling
- string
kritisch oder überkoppelt („critical“/„overcoupled“)
temperature
- struct (alt: scalar)value
- scalarunit
- string
laser
- structwavelength
- struct (alt: scalar)value
- scalarunit
- string
repetitionRate
- struct (alt: scalar)value
- scalarunit
- string
power
- structvalue
- scalarunit
- string
model
- string
Typenbezeichnung des verwendeten Lasers- NEW
tunable
- struct
type
- string\\ OPO oder Farbstofflasermodel
- string
Typenbezeichnung des verwendeten OPOs bzw. Farbstofflasersdye
- string
Name des verwendeten Laserfarbstoffs, „none“ wenn OPO
-
name
- string
Kurzer, möglichst eindeutiger Namedescription
- cell array
Freitext-Beschreibung der Probe- NEW
buffer
- cell array
Freitext-Beschreibung des verwendeten Puffers preparation
- cell array
Freitext-Beschreibung der Probenpräparationtube
- string
verwendetes Probenröhrchen
header
- cell array
Kommentarkopf der eingelesenen Dateicomment
- 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 vorhandenfile
- structname
- string
Dateiname, ggf. mit komplettem oder relativem Pfad
label
- string
Anzeigename z.B. in der trEPRgui, ähnlich wie bei Xepr; leerer String, wenn nicht angegebenversion
- string
Versionsnummer der Datenstrukturdisplay
- struct
Werte der einzelnen Slider etc.lines
- structdata
- struct
Angaben bezüglich LineStyle für gemessene Spektrencolor
- 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 Spektrencolor
- string oder vector, default: 'k'style
- string, default: '-'marker
- string, default: 'none'width
- scalar, default: 1
position
- struct
Position im 2D-Datensatzdata
- struct
Angaben für experimentelle Datenx
- scalar, default: 1y
- scalar, default: 1
calculated
- struct
Angaben für gerechnete Spektrenx
- scalar, default: 1y
- scalar, default: 1
displacement
- struct
Verschiebung in x und ydata
- struct
Angaben für experimentelle Datenx
- scalar, default: 0y
- scalar, default: 0z
- scalar, default: 0
calculated
- struct
Angaben für gerechnete Spektrenx
- scalar, default: 0y
- scalar, default: 0z
- scalar, default: 0
scaling
- struct
Skalierung in x und ydata
- struct
Angaben für experimentelle Datenx
- scalar, default: 1y
- scalar, default: 1z
- scalar, default: 1
calculated
- struct
Angaben für gerechnete Spektrenx
- scalar, default: 1y
- scalar, default: 1z
- scalar, default: 1
smoothing
- struct
Glättung in x und ydata
- struct
Angaben für experimentelle Datenx
- structvalue
- scalar, default: 1filterfun
- string
y
- structvalue
- scalar, default: 1filterfun
- string
calculated
- struct
Angaben für gerechnete Spektrenx
- structvalue
- scalar, default: 1filterfun
- string
y
- structvalue
- scalar, default: 1filterfun
- string
averaging
- struct
Mittelung in x und ydata
- struct
Angaben für experimentelle Datenx
- scalar, default: 1y
- scalar, default: 1
calculated
- struct
Angaben für gerechnete Spektrenx
- scalar, default: 1y
- 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.
values
oder ebenfalls leer?trEPRload.ini
stehen