MatOff Data File Structure
MatOFF Data file structure
Index File (.index)
�|
Size |
Cumulative (hex bytes) |
Data Type / Name | Information Stored | Measure |
|
4 |
0-3 |
int trial | trial number | |
|
4 |
1C-1F |
unsigned long | event starting file position | in bytes |
|
4 |
20-23 |
unsigned long | event length | in 8-byte records |
|
4 |
24-27 |
unsigned long | pulse starting file position | in bytes |
|
4 |
28-2B |
unsigned long | pulse length | in 8-byte records |
|
4 |
2C-2F |
unsigned long | analog starting file position | in bytes |
|
4 |
30-33 |
unsigned long | analog length | in 4-byte records |
|
28 (dec) |
1C (hex) |
Total bytes |
record length |
Final entry in Index File has trial=-1 and all other values=0.
Limits imposed by file structure:
| Maximum number of trials (absolute trial number in entire file) | 2,147,483,647 |
| Maximum file size (last record that can be addressed) | 2,147,483,647 |
Unit Definition File (.udef)
|
Size |
Cumulative (hex bytes) |
Data Type / Name |
Information Stored | Measure |
|
12 |
0-B |
char | unit name | in bytes |
| unsigned short | pulse channel | in bytes | ||
|
87 |
D-63 |
char | trials for this unit | in bytes |
|
100 (dec) |
63 (hex) |
Total bytes |
record length |
Final entry in UDF File has unit name=’END_OF_FILE’, trial=255, trial list string=’0-0’.
List of trials is ASCII string. Example: ‘22-55,56-60,60-120,135-240’.
Limits imposed by file structure:
| Longest unit name | 12 characters |
| Highest pulse channel number | 254 |
| Longest list of trials in unit | 87 bytes |
Event Data File (.event)
|
bytes |
0-3 |
4-7 |
Total record length |
|
Entry type |
Data type (4 bytes) |
Event time (4 bytes) |
8 bytes |
|
trial header |
-1 (header marker) |
trial number |
starts at trial #1 |
|
Data |
event code |
event time |
time units of .0001 sec |
Limits imposed by file structure:
| Highest event code number | 2,147,483,647 |
| Longest trial (time) | 214,748.3647 sec ~ 59.65 hours |
| Maximum number of trials (absolute trial number in entire file) | 2,147,483,647 |
Pulse Data File (.pulse)
|
bytes |
0-3 |
4-7 |
Total record length |
|
Entry size |
4 byte |
4 bytes |
8 bytes |
|
trial header |
-1 (header marker) |
trial number |
starts at trial #1 |
|
data |
pulse channel |
pulse time |
time units of .0001 sec |
Limits imposed by file structure:
| Number of different spike (pulse) channels | 2,147,483,647 |
| Longest trial (time) | 214,748.3647 s ~ 59.65 hours |
| Maximum number of trials (absolute trial number in entire file) | 2,147,483,647 |
Analog Data File (.analog)
|
bytes |
0-1 |
2-3 |
Total record length |
|
Entry size |
2 byte |
2 bytes |
4 bytes |
|
trial header |
-1 (header marker) |
trial number, |
|
|
data |
channel |
data value |
Limits imposed by file structure:
| Number of different analog channels | 32,768 |
| Analog value range | -32,768 to 32,767 |
| Number of trials (absolute trial number in entire file) | 2,147,483,647 |
History Index File (.hindex)
|
Size |
Cumulative (hex bytes) |
Data Type / Name | Information Stored | Measure |
|
12 |
0-B |
char array | unit name | chars |
|
4 |
C-F |
unsigned long | history starting file position | in bytes |
|
4 |
10-14 |
unsigned long | history length | in bytes |
|
20 (dec) |
14 (hex) |
Total bytes |
record length |
Final entry in History Index File has:
Unit Name = ‘END_OF_FILE’ Starting file position = 0 Length = 0
Limits imposed by file structure:
| Maximum number of trials | 2,147,483,647 |
| Maximum file size (last record that can be addressed) | 2,147,483,647 |
History Data File (.history)
| Entry type | Data type | Data size |
| HEADER | ||
| unit header | -1 (int16) | 2 bytes |
| unit name | char array | 12 bytes |
| DATA | repeated for each class | |
| class | int16 | 2 bytes |
| number of trials | int16 | 2 bytes |
| list size | int16 | 2 bytes |
| class trial list | char array | list size * char |
| class values | int16 | number of trials * 2 bytes |
Final entry in History File has:
Header = -1 Unit Name = ‘END_OF_FILE’ Class = 0 number_of_trials = 0 list size = 0
no class trial list or class values.
