|
File Formats - Probe
Description
Probe files contain position information for
electrode locations and/or gradiometer locations. The file consists of a
prolog, a header, and a list of one or more sensor fields.
Comments
Any line beginning with '//' is a comment
line, and will be ignored.
Header
The header consists of one optional entry and 2 entries in mandatory
sequence and one optional entry, as shown in Table A-1.
|
Name |
Format |
Description |
|
Name [optional] |
%N %s |
replace %s with name string (8 or fewer characters)
|
|
Type Code |
%x |
replace %x with 1 (all electric), 2 (all magnetic) or 4 (mixed). |
|
#Channels |
%d |
number
of points per channel per epoch |
Table A-1
Fiducial points
Fiducial points may be included optionally. They are required for MRI
registration. If they are included, they must be in the obligatory order :
nasion, left preauricular point, right preauricular point. Table A-2
defines the format for representing fiduciary points.
|
Fiducial point fields |
| Name |
Format |
Description |
| location |
%F %g %g %g |
replace %g %g %g
with the point location (meters) |
|
Table A-2
Sensor state
Sensor state (which appears in the 'type code'
field) may be obtained by logically OR-ing suitable combinations from Table
A-3. Note that not all combinations are physically valid.
|
Sensor state |
| type/state |
type code |
| magnetic |
200 |
| electric |
400 |
| off |
800 |
| reference |
1000 |
| optical |
4000 |
| trigger |
8000 |
| other |
10000 |
| named point |
20000 |
|
Table A-3
Magnetic Sensor
For this version of EMSE, only coaxial gradiometers
are fully supported. Each magnetic sensor field consists of 5 fields, of
which 1 (the name) is optional, followed by 1 or more loop fields for each
sensor. The sensor field data is shown in Table A-4 and the loop field in
Table A-5.
|
Magnetic Sensor Field |
| Name |
Format |
Description |
| Type Code |
%S %x |
replace %x with 200
(coaxial gradiometer), or 40200 (planar gradiometer) |
| Name [optional] |
%N %s |
replace %s with name
string (8 or fewer characters) |
| Position |
%g %g %g |
sensor origin with
respect to head frame (meters) |
| Orientation |
%g %g %g |
unit vector along
sensor axis |
| Reserved |
%g |
(not presently used,
may be set to 0) |
| Reserved |
%g |
(not presently used,
may be set to 0) |
| # loops |
%d |
number of loops for
this sensor |
|
Table A-4
|
Loop Field |
| Name |
Format |
Description |
| Position |
%g %g %g |
sensor origin with
respect to head frame (meters) |
| Orientation |
%g %g %g |
unit vector along
sensor axis |
| Loop radius |
%g |
meters |
| Wire radius |
%g |
(not presently used,
may be set to 0) |
| # turns, sense |
%d |
±number of turns |
|
Table A-5
The logical structure for a magnetic probe is illustrated
diagrammatically in Figure F-1:

Figure F-1
Electrode
Each electrode is represented by an electric sensor,
and consists of 5 fields, of which 1 (the name) is optional. The electric
sensor field data is shown in Table A-6.
|
Electric Sensor Field |
| Name |
Format |
Description |
| Type Code |
%S %x |
replace %x with 400
(electrode) or 1c00 if reference channel |
| Name [optional] |
%N %s |
replace %s with name
string (8 or fewer characters) |
| Position |
%g %g %g |
electrode location
with respect to head frame (Cartesian, meters) |
| Orientation |
%g %g %g |
not used, replace
with 0 0 1 |
|
Table A-6
Example
The following example illustrates a mixed probe with 2
magnetic and 3 electric sensors. Each magnetic sensor is a coaxial first
order gradiometer (i.e. 2 loops).
3 2
// prolog (must be first line), then minor rev number
1
//TProbe: name:
%N Test
//TypeCode nsensors
4 4
//Fiducials: Nasion Left_PA Right_PA
%F 0.087916 2.803679e-19 2.74354e-18
%F 0.007202 0.068231 4.324103e-18
%F -0.007202 -0.068231 2.426749e-18
//TSensor typecode/state--------------------------------
%S 200
//Sensor name:
%N A1
//origin
-0.000956 0.087736 0.096354 -0.138214 0.89166 0.43109
//Reserved Reserved NumLoops
0 0 2
//loops
//-----------------------------
//loop 1
//loop position/orientation
-0.000956 0.087736 0.096354 -0.138214 0.89166 0.43109
//R-loop R-wire +/- turns
0.00988 0 5
//-----------------------------
//loop 2
//loop position/orientation
-0.008006 0.133218 0.118343 0.138214 -0.89166 -0.43109
//R-loop R-wire +/- turns
0.00988 0 5
//Sensor typecode/state--------------------------------
%S 200
//Sensor name:
%N A2
//origin
0.008652 0.077675 0.11428 -0.060007 0.809724 0.583734
//Reserved Reserved NumLoops
0 0 2
//loops
//-----------------------------
//loop 1
//loop position/orientation
0.008652 0.077675 0.11428 -0.060007 0.809724 0.583734
//R-loop R-wire +/- turns
0.00988 0 5
//-----------------------------
//loop 2
//loop position/orientation
-0.008006 0.133218 0.118343 0.138214 -0.89166 -0.43109
//R-loop R-wire +/- turns
0.00988 0 5
//Sensor typecode/state--------------------------------
%S 400
//Sensor name:
%N C3
//origin
0.036558 0.057618 0.106545 0 0 1
//Sensor typecode/state--------------------------------
%S 400
//Sensor name:
%N P4
//origin
-0.026004 -0.057983 0.099775 0 0 1
//Sensor typecode/state--------------------------------
%S 1c00
//Sensor name:
%N ref
//origin
0.026004 0.057983 0.099775 0 0 1
Other
Other types (such as named points, trigger, and optical) should be
represented in the same pattern as electrodes, with the type code set to
identify the type. Even those types (e.g. trigger) which do not have a
true location, should have a nominal location, (e.g. 0 0 0)..
Return to File Formats page
|
|