xeog - Electrooculogram Epoch Classification
Contents
-----------------------------------------------------------------------------
EEP 3.1 Max-Planck-Institute of Cognitive Neuroscience 1996-99
xeog 3.21 (OSF1 V4.0 alpha) Wed Sep 15 13:30:16 1999
-----------------------------------------------------------------------------
classification mode:
xeog <cnt> [<cfg>] [<trg in>] [<rej in>] [<cls in>] [-a <average cfg>]
rejection mode:
xeog -r <cnt> [<cfg>] [<trg in>] [<rej in>] -a <average cfg>
Generals
xeog
offers two kinds of manual trial classification/selection according
to EOG activity:
- manual prototype and trial classification for EOG artifact compensation
via a regression algorithm (see the PostScript document
for details)
- manual trial rejection (
-r
switch)
There are two types of epochs one have to classify:
- EOG Events
- signal epochs highlighted by the
cntreject
utility; a represantative subset
of blink and move epochs ("prototypes") has
to be selected from the events offered here;
the propagation factor sets are calculated from this prototype selection;
this step is not needed in rejection mode
- Trials
- the parts of the EEG record one is going to use for
averaging; one have to
specify a correction method for each trial; this can be one of
- uncorrected ("U")
- use this trial "as is"
- blink("B")
- use the blink propagation factor set for the EOG compensation
- move("M")
- use the move propagation factor set for the EOG compensation
- reject("R")
- don't use this trial
In rejection mode you can choose only "U" or "R".
The xeog
results in classification mode are
- EOG events classification file (*.cls)
- propagation factors file (*.pfc)
- trial classification file - a "classified" trigger file (*.trg)
In rejection mode there is only one result:
- trial rejection file(*.rej) - a rejection file with a 0..100 ms rejection
mark (relative to trial) for each trial which is classified as "rejected"
Refer also to the prepared scripts in the demo/classify
directory.
Requirements
xeog
uses the general cnt-file Viewer xcnt
. So you should simply try to view the
raw data file at very first.
Second, you are required to have a valid xeog
configuration file.
Finally you need some data input beside the EEG record and the configuration:
- a trigger file which is used for
-
- localization of EEG record discontinuities (to be ignored in the
offered EOG event list)
- localization of trial epochs, if requested by the "-a" switch
- loading a stored trial classification, if present and requested
by the "-a" switch
- a rejection file which is used for
-
- localization of the epochs to be offered for prototype selection if
no stored EOG event classification (.cls) is loaded
- initial trial rejection(as
cntaverage
would do),
if requested by the "-a" switch and no stored trial classification is loaded
- an EOG event classification file (.cls, optional) which is used for
-
- loading a stored prototype classification
- calculation of initial propagation factors from these prototypes
- the
cntaverage
configuration file which is used for
-
- loading trial definitions
Configuration
The xeog
configuration contains colors, sizes, scalings
and channel selections for the data visualization and the EOG artifact
compensation algorithm.
The rejection mode usually needs an other setup than the classification mode -
less channels, more epochs in the display. Accordingly, there are two example
files in the sample configuration directory:
xeog.cfg
and
xreject.cfg
.
Resources
app-defaults/Xeog
User Interface
Menu Bar
File Menu
"Save..." functions for the results you can yield from
xeog
; note that you can load data only via command
line.
The exit function will display a warning message if unsaved classifications
are found.
Classification Menu
- Calculate Propagation Factors
- calculates the propagation factors from the current prototype
classification; a error message is displayed if no prototypes are
available
be careful to keep your current classification, the saved classification,
the current factors and the saved factors in a consistent state - so the
best is to select the prototypes, calc factors, save both, forget it, and
deal with the trials only after this - don't hop around
- Sync Trials with Rejections
- check the trial rejection windows for rejections and classify the
trial "r" if rejections are found and "u" if not; this is done at startup
by default if no trial classification is loadable
- Sync Trials with Prototypes
- check the trial average windows for common time ranges with prototypes;
set the trial classification to this prototypes;
if a trial contains more then one prototype, the latter one is used
- Set Rejected Trials to Blink
- nearly all rejections in trials are caused by eye blinks, so it may
save some clicking if you start with blinks and remove the (few)
non-blinks from this class
- Set Unclassified Trials to Move
-
cntreject
usually marks only "large" EOG events.
You will find a lot of your trials infected by EOG but not marked. You can either
- leave them incorrected - as you would have done before
xeog
- view and classify trial by trial manually
- use the "move" factor set for all such trials since the number
of low amplitude "moves" is greater than the number of low amplitude
"blinks" and you cannot harm that much applying a wrong factor to
low EOG amplitudes
Display Menu/Options Menu
Selects the data to be displayed and how they are displayed; no data
changes; remember that you have the xcnt
raw data
viewer beside xeog
if you need a more facilitated display.
The Average Preview contains the averaged ERP's for the channels from the
[preview channels]
or [eog channels]
cfg section. The first
calculation (started after selecting a condition toggle) may take a while.
Once the averages are calculated they are updated after each classification
change.
Diagram Area
You can (and have to) adjust and classify your epochs manually here. If
you prefer the keyboard to the mouse you can move the drawing cursor using
cursor, PgUp, PgDown keys and classify epochs pressing the matching letters.
The "return" key synchronizes xcnt to the current epoch. Adjusting
prototype epoch limits is possible with the pointer only.
The pointer classification methods should need no explanations - click around a little.
In rejection mode there are no classification buttons available. The rejection
is done by pointer clicks into the drawing and is indicated by dotted lines.
Control and Status Area
The Scaling group allows some basic diagram adaptions, the Window group
gives you an impression where your displayed epochs are in the list (how
much work is left). The First: field acceps an epoch index, a condition
label string or a condition shortcut string. The Status group shows more
detailed informations about the data you process in xeog
.
Classification Hints
- The blink estimation seems to be very precise. 20..30 good
blinks, distributed over the whole record, may are enough.
Don't use rare very large blinks. They are not
typical but would dominate the factor estimation due to their
amplitude. At the other hand don't use the small blinks even if
they are frequent.
They do nearly not contribute to the factor estimation so you can save
your time if you ignore them.
- The same is valid for move, but since good moves are more rare
than blinks you probably have to use all you can find...
- If you are not sure about your trial windows, set them to a larger
range rather than to a shorter one. So your classification work is valid
in more cases.
- Classify fast rather than careful in a first pass. Then perform a second pass
in each class. You will see the misclassifications from the first pass very
fast in the class context.
- Note that all evaluations you can do after manual selections will only
make expressions about manipulated data, not about the measure or the
system you examine! It is absolutely yours to decide whether your manipulations
are valid or not.
- Start
xeog
always as a background process
(with "&" appended to the command).