edfhed(1) EDF header dumper/editor.

SYNOPSIS

       edfhed [OPTIONS] FILE.edf ...

DESCRIPTION

edfhed is a terminal program to view the header of EDF files (with option -b, or without any options), or modify fields in the header (see options -s, -T and -R).

-b, --no-channels
Only dump general header fields (no channel details).
-a, --with-annotations
List embedded annotations if any.
-R, --from-tree
Given file location 'Subject/Session/Episode.edf', set recording_id to 'Session/Episode' and patient_id to 'Subject'.
-T, --from-mtime
Set recording_date and recording_time fields to file modification date/time.
-t, --touch-mtime
Set file mtime to timestamp assembled from recording_date and recording_time fields (assuming local timezone).
-s, --set=[CH:]FIELD:VALUE
Set FIELD to VALUE (in channel CH if specified, as a 1-based integer index).

Possible general fields are: version_number, patient_id, recording_id, recording_date, recording_time, reserved (remember that the contents of this field is significant wrt EDF/EDF+ distinction).

The version_number field must match the string "0      " for the file to be recognised as a valid EDF by edfhed.

Channel fields: label, transducer_type, physical_dim, physical_min, physical_max, digital_min, digital_max, filtering_info, reserved.

Direct field assignment done via --set option(s) will override any assignments effected by options -T or -R.

-?, --help
Give a brief options summary.
--usage
Display usage information.
-V, --version
Display version.

USE WITH AGHERMANN

For Aghermann to be able to manage an EDF file, all relevant fields in its header must be filled out correctly, as follows:

  • patient_id uniquely identifies the subject;
  • recording_id identifies the recording session (out of several other such sessions, each containing the same series of episodes) and the individual episode. These two items must appear in one of the following combinations:
  • "Session/Episode"
  • "Session : Episode"
  • "Episode (Session)"
  • recording_date and recording_time must (obviously) be both correct.
  • Channel labels must be a valid System 10-20 channel designation, i.e., "Nz", "Fp1", "Fpz", "Fp2", "AF7", "AF3", "AFz", "AF4", "AF8", "F9", "F7", "F5", "F3", "F1", "Fz", "F2", "F4", "F6", "F8", "F10", "FT9", "FT7", "FC5", "FC3", "FC1", "FCz", "FC2", "FC4", "FC6", "FCT8", "FT10", "A1", "T9", "T7", "C5", "C3", "C1", "Cz", "C2", "C4", "C6", "T8", "T10", "A2", "TP9", "TP7", "CP5", "CP3", "CP1", "CPz", "CP2", "CP4", "CP6", "TP8", "TP10", "P9", "P7", "P5", "P3", "P1", "Pz", "P2", "P4", "P6", "P8", "P10", "PO7", "PO3", "POz", "PO4", "PO8", "O1", "Oz", "O2", "Iz", plus a few channels of other signal types: "Left", "Right", "Chin",

    optionally prepended by signal type ("EEG", "EOG", "EMG", "ECG", "ERG", "NC", "MEG", "MCG", "EP", "Temp", "Resp", "SaO2", "Light", "Sound", "Event", "Freq") and a space.

AUTHOR

edfhed is written by Andrei Zavada <[email protected]> as part of the Aghermann project.