Bei der Funktion trEPRload handelt es sich um eine Schnittstelle zwischen der Toolbox und diversen Datenformaten. Sie selbst ruft wieder entsprechende Unterfunktionen je nach erkanntem Dateityp auf („wrapper“).
trEPRload(filename); data = trEPRload(filename); data = trEPRload(filenames,'combine',true);
cell array
oder ein struct
, wie es von dir
zurückgegeben wird.
Wird kein Rückgabeparameter angegeben, dann versucht die Funktion, eine Variable im aktuellen workspace
mit dem (bereinigten) Namen der Datei anzulegen, in der die eingelesenen Daten liegen.
Gegeben sei eine einzelne Datei transient.dat
, die ein zu ladendes Spektrum beinhaltet. Es gibt zwei Möglichkeiten, dieses Spektrum zu laden:
trEPRload('transient.dat');
legt eine Variable transient
im aktuellen workspace
an.
data = trEPRload('transient.dat');
schreibt den eingelesenen Inhalt der Datei in die Variable data
im aktuellen workspace
.
Sei filenames
ein cell array
mit Dateinamen:
trEPRload(filenames);
versucht, die zu den in filenames
abgelegten Dateinamen gehörenden Dateien einzulesen und legt für jede gelesene Datei eine Variable mit dem (bereinigten) Dateinamen im aktuellen workspace
an.
data = trEPRload(filenames);
versucht, die zu den in filenames
abgelegten Dateinamen gehörenden Dateien einzulesen und schreibt den eingelesenen Inhalt der jeweiligen Datei in die Variable data
(in diesem Fall ein cell array
mit so vielen Feldern wie eingelesenen Datensätzen) im aktuellen workspace
.
Sei filenames
ein cell array
mit Dateinamen:
trEPRload(filenames,'combine',true);
versucht, die zu den in filenames
abgelegten Dateinamen gehörenden Dateien einzulesen und hinterher zusammenzufügen und legt eine Variable mit dem (bereinigten) Dateinamen der ersten eingelesenen Datei im aktuellen workspace
an, der die Daten der kombinierten gelesenen Dateien enthält.
Wird ein zusätzlicher Rückgabeparameter angegeben, werden die Daten entsprechend in dieser Variable abgelegt.
Eine komfortable Variante, mehrere Dateien auszuwählen, ist über den Befehl dir
:
files = dir('*.dat');
gibt z.B. ein n-dimensionales struct
zurück, wobei n die Zahl der Dateien ist, auf die das Suchmuster (hier „*.dat“) paßt.
Neue Versionen von trEPRload
(kritisches Datum: 2011-06-17) können direkt und ohne Umwege ein solches struct
einlesen:
trEPRload(dir('*.dat'));
liest alle Dateien ein, auf die das Suchmuster „*.dat“ paßt, und legt die Daten in entsprechend benannten Variablen im workspace
ab. Entsprechende Kombination mit der Angabe von „'combine',true“ ist ebenfalls möglich, s.o.
Für ältere Versionen der trEPRload
-Funktion muß das von dir
zurückgegebene struct
manuell in ein cell array
umgewandelt werden:
files = dir('*.dat'); filenames = cell(length(files),1); % Preallocate for k=1:length(files) filenames{k} = files(k).name; end
Dieses cell array
kann dann wie gewohnt übergeben werden, s.o.
Die Beschreibung des Rückgabeparameters befindet sich momentan noch im Entwicklungsbereich.
Wichtigster Aspekt: Es handelt sich beim Rückgabeparameter um ein struct
, das neben den reinen Daten (im Feld data
) weitere Informationen zum Datensatz ablegt, wie sie von der GUI verwendet werden.
Der Zugriff auf die „reinen Daten“ ist also sehr einfach. Um z.B. die 2D-Daten einfach darzustellen, käme folgendes Vorgehen in Betracht:
data = trEPRload(<filename>); imagesc(data.data);