eeg csv Datenformat - xenobyte/INF-PRO-FHL GitHub Wiki

Die Output-Dateien des EEGLoggerComfort sind csv-Textdateien mit der Endung .csv (bis EEGLoggerComfort-Version 0.2: .txt). Dieser Artikel soll einen Überblick über deren Inhalt bieten.

Grundsätzliches Format

Spalten

Die Ausgabedatei von Version 0.1 enthält csv-Werte entsprechend folgendem Format:

COUNTER, AF3, F7, F3, FC5, T7, P7, O1, O2, P8, T8, FC6, F4,F8, AF4, GYROX, GYROY, TIMESTAMP, FUNC_ID, FUNC_VALUE, MARKER, SYNC_SIGNAL,

Seit Version 0.2 sind zwei weitere Spalten hinzugekommen, die keine echten Rohdaten darstellen, sondern aus der Cognitive Suite stammen:

COUNTER, AF3, F7, F3, FC5, T7, P7, O1, O2,P8, T8, FC6, F4,F8, AF4, GYROX, GYROY, TIMESTAMP, FUNC_ID, FUNC_VALUE, MARKER, SYNC_SIGNAL, Cognitiv Action, Cognitiv Power,

Zeilen

Jede Zeile entspricht einem eeg-Rohdaten-Sample. Entsprechende der Samplingfrequenz von 128 Hz sind also 128 Zeilen pro Sekunde zu erwarten.

Die einzelnen Spalten

Counter (Spalte 1)

Die Spalte COUNTER enthält einen fortlaufenden Zähler, der die Samples durchummeriert.

Elektroden-Spalten AF3 bis AF4 (Spalten 2-15)

Die folgenden 14 Zeilen enthalten die Messdaten der Elektroden. Einfachste Regel zur Benennung: ungerade Zahlen liegen auf der linken, gerade auf der rechten Hälfte des Kopfes. Für anschauliche Bilder zu den Positionen empfiehlt sich dieser Thread im Emotiv-Forum. Wie die folgende Aufstellung zeigt, sind die 14 Spalten symmetrisch entsprechend der Position der Elektroden angeordnet.

AF3 (Spalte 2)

Anterio-frontal 3 - links auf der Stirn

F7 (Spalte 3)

Frontal 7 - links zwischen Schläfe und Augenbraue

F3 (Spalte 4)

Frontal 3 - links vorne auf dem Kopf (oberhalb von AF3)

FC5 (Spalte 5)

Frontal-central 5 - links

T7 (Spalte 6)

Temporal 7 - links überm Ohr

P7 (Spalte 7)

Parietal 7 - "hinten außen" links

O1 (Spalte 8)

Occipital 1 - ganz hinten links

O2 (Spalte 9)

Occipital 2 - ganz hinten rechts

P8 (Spalte 10)

Parietal 8 - "hinten außen" rechts

T8 (Spalte 11)

Temporal 8 - rechts überm Ohr

FC6 (Spalte 12)

Frontal-central 5 - rechts

F4 (Spalte 13)

Frontal 3 - rechts vorne auf dem Kopf (oberhalb von AF4)

F8 (Spalte 14)

Frontal 8 - rechts zwischen Schläfe und Augenbraue

AF4 (Spalte 15)

Anterio-frontal 4 - rechts auf der Stirn.

Gyroskop-Spalten (Spalte 16-17)

Es folgen zwei Spalten mit den Werten des Gyroskops

GyroX (Spalte 16)

Die horizontalen Gyroskop-Werte.

GyroY (Spalte 17)

Die vertikalen Gyroskop-Werte.

Timestamp (Spalte 18)

Die 18. Spalte enthält dann einen Timestamp. Die Werte sind in Sekunden angegeben, der genaue Beszugszeitpunkt (0.000) ist unklar.

"Die unklaren Vier" (Spalte 19-22)

Die Bedeutung der Spalten 19-22 (FUNC_ID, FUNC_VALUE, MARKER, SYNC_SIGNAL) ist noch unklar. Bisher waren diese vier Werte in allen Messungen immer 0.

FUNC_ID (Spalte 19)

FUNC_VALUE (Spalte 20)

MARKER (Spalte 21)

SYNC_SIGNAL (Spalte 22)

Werte-Tupel aus der Cognitiv Suite (Spalten 23-24)

Die letzten zwei Werte sind keine echten Rohdaten, sondern entstammen der "Cognitiv Suite" von Emotiv. Hier werden die Messwerte vorher gelernten Mustern zugeordnet. Es ist davon auszugehen, dass diese Werte nicht zu jedem Sampel neu berechnet werden, sondern in niedrigerer Frequenz aktualisiert werden. (Diese Werte werden erst seit Version 0.2 von EEGLoggerComfort geloggt - erkennbar an der Dateiendung .eeg.)

Cognitiv Action (Spalte 23)

Dieser Wert ist eine ID eines von der "Cognitiv Suite" erkannten, mittels des Trainings-Programms mit einer Aktion verknüpften Musters. Die verschiedenen IDs sind definiert im Enum Type EE_CognitivAction_t in der Header-Datei EmoStateDLL.h.

Hex Dez Aktion
0x0001 1 NEUTRAL
0x0002 2 PUSH
0x0004 4 PULL
0x0008 8 LIFT
0x0010 16 DROP
0x0020 32 LEFT
0x0040 64 RIGHT
0x0080 126 ROTATE_LEFT
0x0100 256 ROTATE_RIGHT
0x0200 512 ROTATE_CLOCKWISE
0x0400 1024 ROTATE_COUNTER_CLOCKWISE
0x0800 2048 ROTATE_FORWARDS
0x1000 4096 ROTATE_REVERSE
0x2000 8192 DISAPPEAR

Cognitiv Power (Spalte 24)

Ein Wert, der aussagen soll, "wie stark" die erkannten Aktion gedacht bzw erkannt wurde. Wie dieser Wert zustande kommt, ist vollkommen unklar.

⚠️ **GitHub.com Fallback** ⚠️