Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:software:matlab:ta:dev:infodatei

Infodatei

Grundidee: Infodatei (vergleichbar der bisherigen „Liesmich“-Dateien für andere Experimentarten), in der zu einer Messung gehörende zusätzliche (und wichtige) Informationen gespeichert werden.

Ziel: Einlesbarkeit der Datei in die TA-Toolbox. Die Informationen werden den zugehörigen Datensatz übernommen.

Fernziel: Import in ein (datenbankgestütztes) Laborinformationssystem.

<note important>Aktuell (2012-10-22) befindet sich diese Spezifikation eines Datenformates noch in der aktiven Entwicklung und Diskussion. Deshalb können sich alle Angaben jederzeit ohne Vorwarnung grundlegend ändern.</note>

<note tip>Die in diese Datei zu integrierenden Parameter orientieren sich nicht zuletzt an der Spezifikation des TA-Toolboxformates.</note>

Letzte Änderungen

  • 2012-10-22: v0.2e
    • Neues Feld „Experiment“ im Block „GENERAL“
    • Neues Feld „Purpose“ im Block „GENERAL“
    • Neues Feld „Buffer“ im Block „SAMPLE“
  • 2012-03-31: v0.2d
    • Neues Feld „Shot repetition rate“ im Block „GENERAL“
    • Feldinhalte können sich über mehrere Zeilen erstrecken1)
  • 2012-01-23: v0.2c
    • Feld „Aperture“ im Block „SPECTROGRAPH“ aufgeteilt in „Aperture front“ und „Aperture back“
  • 2012-01-21: v0.2b
    • Neues Feld „Aperture“ im Block „SPECTROGRAPH“
  • 2012-01-18: v0.2a
    • Neues Feld „Software“ im Block „GENERAL“
    • Neues Feld „Runs“ im Block „TIME PROFILES“

Kriterien für das Dateiformat

  • maschinenlesbar und vom Menschen lesbar („human readable“)
  • Reintext (ASCII)
  • eindeutige Identifizierbarkeit des Dateiformats
    • durch eine Kennung in der ersten oder zweiten Zeile

Allgemeine Formatbeschreibung

Für Ungeduldige gibt's Beispiele der Umsetzung weiter unten.

Hier folgt zunächst einmal die allgemeine Formatbeschreibung.

  • Format
    • Das grundsätzliche Dateiformat ist ASCII (7-bit)
    • Durch die Beschränkung auf die 7-bit-ASCII-Zeichentabelle wird die Kompatibilität über Betriebssystemgrenzen hinaus gewährleistet.
    • Das bedeutet gleichzeitig: keine Umlaute und andere Sonderzeichen.
  • Dateiname und Endung
    • Die Dateiendung ist „.info“.
    • Der Dateiname ist identisch mit dem Grundnamen der zugehörigen Datendateien.2)
  • Die erste Zeile der Datei ist für eine Kennung reserviert.
    • ermöglicht die eindeutige Erkennung des Dateiformates beim Parsen
    • wird durch eine Leerzeile vom Rest der Datei abgetrennt
    • sollte eine Versionsnummer beinhalten.
  • Feldbezeichner
    • Feldbezeichner dürfen Leerzeichen enthalten, aber keine Sonderzeichen und keinen Doppelpunkt3).
    • Feldbezeichner müssen mit einem Buchstaben beginnen (keine Zahl!).
    • Jeder Feldbezeichner wird durch einen Doppelpunkt beendet.
    • Im Feldbezeichner sollte der Blockname nicht wiederholt werden.4)
  • Werte
    • Werte stehen immer hinter einem Feldbezeichner
    • Innerhalb eines Blockes werden die Werte alle soweit eingerückt, daß sie bündig miteinander abschließen. D.h. der längste Feldbezeichner definiert die Einrückung der Werte.
    • Werte dürfen Sonderzeichen5) und Doppelpunkte enthalten
    • NEW Werte können sich über mehrere Zeilen erstrecken. In diesem Fall muß jede neue Zeile mit einem „Whitespace character“ (Leerzeichen, Tabulator, …) beginnen.
  • Verwendung von Doppelpunkten
    • Doppelpunkte dienen lediglich der Trennung von Feldbezeichnern und Werten
    • An allen anderen Stellen (nach einem zusätzlichen Bezeichner, nach einer Blocküberschrift) sind Doppelpunkte verboten. Einzige Ausnahme (s.o.) sind Feldwerte.
    • Doppelpunkte werden intern beim Parsen dazu verwendet, die entsprechenden Feldbezeichner und Werte voneinander zu trennen (in Matlab: regexp mit Option split).
  • Die Infodatei ist in Blöcke unterteilt
    • Blöcke werden durch den Blocknamen in Großbuchstaben eingeleitet
  • Alle Bezeichner und alle Beschriftungen innerhalb der Datei sind aus Gründen der Internationalität in englischer Sprache zu halten.
  • Blöcke und Felder können optional sein, solange aus den Werten bestimmter (obligatorischer?) Felder („Schalter“) auf die (Nicht-)Existenz dieser Felder und/oder Blöcke geschlossen werden kann.
    • Gibt es zu einem Feld keine Werte, aber trotzdem gute Gründe, das Feld nicht zu entfernen6), wird „N/A“ als Wert gesetzt.
  • zu den Blöcken:
    • Jeder Block beginnt mit einer Überschrift (Blockbezeichner) in Großbuchstaben.
    • Jeder Block wird durch eine Leerzeile vom vorangegangenen Inhalt der Datei abgetrennt.
    • Innerhalb der Blöcke finden sich Schlüssel-Wert-Paare aus einem Feldbezeichner, gefolgt von einem entsprechenden Wert

Beschreibung der einzelnen Blöcke

Nachfolgend werden die einzelnen Blöcke einer Meta-Datei beschrieben. Ein Beispiel der Umsetzung folgt weiter unten.

Neben der Kennung gibt es aktuell folgende Blöcke:

  • GENERAL
  • SAMPLE
  • TRANSIENT
  • SPECTROGRAPH
  • DETECTION
  • RECORDER
  • PUMP
  • PROBE
  • TEMPERATURE
  • MFE
  • TIME PROFILES
  • COMMENT

GENERAL

Der Block „GENERAL“ besteht aus einigen Grundinformationen zur Messung.

Die Felder im Einzelnen:

Feldname Beschreibung
Filename Dateiname
Date Datum
Time start Uhrzeit, zu der mit der Messung begonnen wurde
Time end Uhrzeit, zu der die Messung beendet wurde
Operator Name der/des Messenden
Label Kurze, möglichst eindeutige Bezeichnung der Messung
Für die Auflistung (u.a.) in Matlab
Experiment Art des Experiments
Purpose Sinn und Zweck des Experiments
Spectrometer Kurze, möglichst eindeutige Bezeichnung des verwendeten Spektrometers
Software Name der für die Messung verwendeten Software inkl. Versionsnummer
Runs Anzahl der Durchläufe
Shot repetition rate Schußwiederholrate des Experimentes

Anmerkungen

  • Filename
    • Im Falle von einer Datei pro Zeitkurve (Ox) der Dateigrundname; der eigentliche Name für die jeweilige Datei steht dann gesondert in einem eigenen Block.
  • Spectrometer
    • Im Falle von Fr wäre das sowas wie „LP920-K“, in Oxford vermutlich eher „Eigenbau“ (bzw. eine vernünftige englische Entsprechung dafür)
    • Dieser Wert ist einer der „Schalter“, die für eine entsprechende Verarbeitung der weiteren Infodatei sorgen und die darüber entscheiden, welche (zusätzlichen) Blöcke in der Datei stehen (können).

SAMPLE

Im Block „SAMPLE“ werden die wichtigsten Informationen zur Probe zusammengefaßt.

Die Felder im Einzelnen:

Feldname Beschreibung
Name möglichst eindeutiger und kurzer Name der Probe
Description Details zur Probe
Buffer Details zum verwendeten Puffer
Preparation Details zur Präparation
Cuvette verwendete Küvette
Hier wird sinnvollerweise der konkrete Typ inkl. Hersteller angegeben

TRANSIENT

Die Felder im Einzelnen:

Feldname Beschreibung
Points Zahl der Punkte einer Zeitkurve
Trigger position Position des Triggerimpulses (Index)
Length Länge der Zeitkurve

SPECTROGRAPH

Die Felder im Einzelnen:

Feldname Beschreibung
Type Typ des Spektrographen
Model Modellbezeichnung des Spektrographen
Aperture front Blendenöffnung (Eingangsblende)
Aperture back Blendenöffnung (Austrittsblende)

DETECTION

Die Felder im Einzelnen:

Feldname Beschreibung
Type Typ des Detektors (PMT, CCD)
Model Modellbezeichnung des Detektors
Power supply Netzteil des Detektors

RECORDER

Der Block „RECORDER“ faßt alle (idealerweise direkt vom Gerät auslesbaren) Parameter des Transientenrekorders (meist ein Oszilloskop) zusammen.

Die Felder im Einzelnen:

Feldname Beschreibung
Averages Zahl der Mittelungen pro Zeitkurve (aka „Schuß pro Punkt“)
Sensitivity Empfindlichkeit des Einganges
Bandwidth Bandbreite
Time base Zeitbasis
Coupling Kopplungsmodus
Impedance Eingangswiderstand
Time constant Zeitkonstante der Detektion, wird u.a. durch den Eingangswiderstand bestimmt
Model Typenbezeichnung des verwendeten Transientenrekorders

PUMP

Die Felder im Einzelnen:

Feldname Beschreibung
Type Typ der zur Anregung verwendeten Lichtquelle (Laser, …)
Model Modellbezeichnung der Anregungslichtquelle
Wavelength Wellenlänge der Anregungslichtquelle
Power Lichtleistung des Anregungsstrahls
Repetition rate Wiederholrate des Anregungsstrahls
Tunable type Typ der verwendeten durchstimmbaren Lichtquelle (OPO oder Farbstofflaser)
Tunable model Modellbezeichnung der verwendeten durchstimmbaren Lichtquelle
Tunable dye Im Falle eines Farbstofflasers: Bezeichnung des verwendeten Farbstoffs

PROBE

Die Felder im Einzelnen:

Feldname Beschreibung
Type Typ der zur Abfrage verwendeten Lichtquelle
Model Modellbezeichnung der Abfrage-Lichtquelle
Wavelength start Startwert der Wellenlängenachse
Wavelength stop Endwert der Wellenlängenachse
Wavelength step Schrittweite der Wellenlängenachse
Wavelength sequence Richtung, in der gemessen wurde (up/down/stochastic)
Power Leistung des Abfrage-Lichtstrahls
Filter verwendete/r Filter (kommaseparierte Liste)
Background verwendete Hintergrundkorrekturen (none/lamp/fluorescence)

Anmerkungen

  • Wavelength start/stop
    • Das sind jeweils die Endpunkte der Wellenlängenachse.
    • Im Falle der Messung in Richtung kürzerer Wellenlängen ist „start“ natürlich der größere Wert.
    • Matlab sollte das beim Einlesen berücksichtigen und die Daten entsprechend konvertieren.

TEMPERATURE

Die Felder im Einzelnen:

Feldname Beschreibung
Temperature Temperatur mit Einheit
Controller verwendete Temperatursteuereinheit
Cryostat verwendeter Kryostat
Cryogen verwendetes Kühlmittel (H2O, LN2, LHe)

MFE

Die Felder im Einzelnen:

Feldname Beschreibung
Field Magnetfeld (mit Einheit)
Coil type Typ der verwendeten Spulen
Coil model Modellbezeichnung der verwendeten Spulen
Power supply verwendetes Netzteil
Gaussmeter verwendetes Gaussmeter

TIME PROFILES

Dieser Block ist nur dann von Belang, wenn - wie in Oxford - alle Zeitkurven einzeln (und manuell) aufgenommen und in jeweils eine eigene Datei gespeichert werden. Da während der Messung der einzelnen Zeitkurven u.a. Filter gewechselt werden, gibt es für jede dieser Zeitkurven spezifische Informationen.

Die Felder im Einzelnen, jeweils für eine Zeitkurve:

Feldname Beschreibung
Filename Dateiname
Wavelength Wellenlänge, bei der gemessen wurde
Averages Zahl der Mittelungen pro Zeitkurve
Runs Zahl der unabhängigen Messungen pro Zeitkurve
Filter verwendete Filter
kommaseparierte Liste

Anmerkungen

  • Wellenlänge
    • Das ist die tatsächliche Wellenlänge, bei der gemessen wurde, auch wenn aus dem Dateinamen etwas anderes hervorzugehen scheint.7)
  • Filter
    • Mehrere Filter können gleichzeitig in Benutzung sein.
    • Im Falle mehrerer Filter eine kommaseparierte Liste von Filterbezeichnungen
    • Filter werden durch ein einheitliches Bezeichnungsschema gekennzeichnet: XX###
      • XX steht für den Filtertyp: LP - long pass; SP - short pass; BP - band pass
      • ### steht für die charakteristische/nominale Wellenlänge des Filters
      • Im Falle von BP lautet das Schema: BP###-###
        (mit Anfangs- und Endwellenlänge des Bandes)

COMMENT

Solange der Kommentar am Ende der jeweiligen Datei steht, kann hier als Freitext alles angegeben werden, was nützlich und/oder sinnvoll erscheint.

Beispiele

Nachfolgend das Beispiel einer Infodatei für TA-Messungen mit der vollständigen Anzahl von (möglichen) Feldern und Blöcken. Je nach Einsatzgebiet können manche Felder und/oder Blöcke wegfallen.

Weiter unten folgen dann noch spezifische Beispiele für einzelne Einsatzgebiete.

TA Info file - v. 0.2d (2012-03-31)

GENERAL
Filename:               
Date:                   
Time start:             
Time end:               
Operator:               
Label:                  
Spectrometer:           
Software:               
Runs:                   
Shot repetition rate:   

SAMPLE
Name:                   
Description:            
Preparation:            
Cuvette:                

TRANSIENT
Points:                 
Trigger position:       
Length:                 

SPECTROGRAPH
Type:                   
Model:                  
Aperture front:         
Aperture back:          

DETECTION
Type:                   
Model:                  
Power supply:           
Impedance:              
Time constant:          

RECORDER
Model:                  
Averages:               
Sensitivity:            
Bandwidth:              
Time base:              
Coupling:               

PUMP
Type:                   
Model:                  
Wavelength:             
Power:                  
Repetition rate:        
Tunable type:           
Tunable model:          
Tunable dye:            

PROBE
Type:                   
Model:                  
Wavelength start:       
Wavelength stop:        
Wavelength step:        
Wavelength sequence:    
Power:                  
Filter:                 
Background:             

TEMPERATURE
Temperature:            
Controller:             
Cryostat:               
Cryogen:                

MFE
Field:                  
Coil type:              
Coil model:             
Power supply:           
Gaussmeter:             

TIME PROFILES
Scan 1
Filename:               
Wavelength:             
Averages:               
Runs:                   
Filter:                 
Scan 2
Filename:               
Wavelength:             
Averages:               
Runs:                   
Filter:                 

COMMENT

Beispieldatei für Freiburg

ta-freiburg.info
TA Info file - v. 0.2d (2012-03-31)

GENERAL
Filename:               test
Date:                   20xx-xx-xx
Time start:             00:00:00
Time end:               00:00:00
Operator:               A. Kabelschacht
Label:                  Testprobe
Spectrometer:           LP920-K
Software:               L900, Version 6.9.1
Runs:                   1
Shot repetition rate:   0.0625 Hz

SAMPLE
Name:                   FAD
Description:            FAD in Puffer
Preparation:            
Cuvette:                

TRANSIENT
Points:                 2000
Trigger position:       341
Length:                 10 us

SPECTROGRAPH
Type:                   Czerny-Turner with Triple Grating Turret
Model:                  standard
Aperture front:         
Aperture back:          

DETECTION
Type:                   PMT
Model:                  standard
Power supply:           standard
Impedance:              50 Ohm
Time constant:          

RECORDER
Model:                  
Averages:               10
Sensitivity:            
Bandwidth:              1.0
Time base:              5 ns
Coupling:               

PUMP
Type:                   Laser
Model:                  
Wavelength:             460 nm
Power:                  
Repetition rate:        10 Hz
Tunable type:           OPO
Tunable model:          

PROBE
Type:                   Lamp
Model:                  standard
Wavelength start:       385 nm
Wavelength stop:        655 nm
Wavelength step:        10 nm
Wavelength sequence:    up
Power:                  
Filter:                 
Background:             lamp

TEMPERATURE
Temperature:            285 K
Controller:             
Cryostat:               none
Cryogen:                H2O

COMMENT

Und hier gibt's ein bisschen Freitextkommentar - aber bitte OHNE Umlaute und andere Sonderzeichen!

Beispieldatei für Oxford

ta-oxford.info
TA Info file - v. 0.2d (2012-03-31)

GENERAL
Filename:               test
Date:                   20xx-xx-xx
Time start:             00:00:00
Time end:               00:00:00
Operator:               A. Kabelschacht
Label:                  Test sample
Spectrometer:           Oxford CRY Lab
Software:               Slow20111104
Runs:                   1
Shot repetition rate:   1/20 Hz

SAMPLE
Name:                   FAD
Description:            FAD in buffer
Preparation:            
Cuvette:                Hellma QS 10.00

TRANSIENT
Points:                 25000
Trigger position:       2500
Length:                 50 us

SPECTROGRAPH
Type:                   Ebert-Fastie
Model:                  Oriel 77250
Aperture front:         
Aperture back:          

DETECTION
Type:                   PMT
Model:                  Hamamatsu R928
Power supply:           Brandenburg 476R
Impedance:              500 Ohm
Time constant:          50 ns

RECORDER
Model:                  Iwatsu-LeCroy LT342L 500 MHz
Averages:               1
Sensitivity:            5.0 mV
Bandwidth:              500 MHz
Time base:              5.0 us
Coupling:               DC

PUMP
Type:                   Laser
Model:                  Continuum Surelite-1
Wavelength:             450 nm
Power:                  3 mJ
Repetition rate:        10 Hz
Tunable type:           Dye
Tunable model:          Sirah Cobra
Tunable dye:            Coumarin-450

PROBE
Type:                   Lamp
Model:                  Oriel 66021
Wavelength start:       370 nm
Wavelength stop:        650 nm
Wavelength step:        10 nm
Wavelength sequence:    530-650,530-370
Power:                  
Filter:                 LP390,LP500
Background:             

TEMPERATURE
Temperature:            
Controller:             Oxford ITC-503S
Cryostat:               Oxford Instruments
Cryogen:                LN2

MFE
Field:                  22 mT
Coil type:              Helmholtz
Coil model:             
Power supply:           
Gaussmeter:             

TIME PROFILES
Scan 1
Filename:               
Wavelength:             
Averages:               
Runs:                   
Filter:                 
Scan 2
Filename:               
Wavelength:             
Averages:               
Runs:                   
Filter:                 

COMMENT
1)
Einzige Bedingung: Eine neue Zeile muß mit einem „Whitespace character“ (Leerzeichen, Tabulator, …) beginnen.
2)
Das ist im Idealfall so, läßt sich allerdings in der Praxis nicht immer umsetzen. Deshalb ist das keine harte Regel, sondern eine, wenn auch offensive, Empfehlung.
3)
Einzige Ausnahme sind momentan runde Klammern. Kommen noch einzelne weitere Ausnahmen hinzu, ließe sich das auch noch nachbauen. Hintergrund der Beschränkung ist, daß die Feldbezeichner als Feldnamen intern in Matlab-Strukturen (struct) verwendet werden.
4)
Beispiel: „Preparation“ statt „Sample preparation“ im Block „SAMPLE“. Das sorgt einerseits für kürzere Feldnamen, andererseits für größere Übersichtlichkeit.
5)
Grundsätzlich ist von der Verwendung von Sonderzeichen aber abzuraten, da sie häufig der unterschiedlichen Zeichensatzkodierung zum Opfer fallen. Umlaute etc. sind, obwohl vermutlich eh unnötig, da die Inhalte möglichst in englischer Sprache formuliert werden sollen, definitiv keine gute Idee, da Matlab mit unterschiedlichen Zeichensatzkodierungen auf den unterschiedlichen Betriebssystemen arbeitet.
6)
Das ist z.B. dann gegeben, wenn es sich um ein Feld handelt, wo je nach Experiment durchaus ein relevanter Wert eingetragen werden sollte, nur in einem spezifischen Fall kein Wert vorliegt. In solchen Fällen ist dringend anzuraten, das Feld in allen Dateien beizubehalten, da es sonst schnell vergessen wird.
7)
Dieses Problem ergibt sich, wenn man „überlappend“ mißt, um dann die einzelnen Teile des Spektrums entsprechend aufeinander skalieren zu können.
de/software/matlab/ta/dev/infodatei.txt · Zuletzt geändert: 2020/09/30 21:35 von 127.0.0.1