Scroll to navigation

edfhed(1) Aghermann edfhed(1)


edfhed -- EDF header dumper/editor.


edfhed [OPTIONS] FILE.edf ...


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).

Only dump general header fields (no channel details).
List embedded annotations if any.
Given file location ‘Subject/Session/Episode.edf’, set recording_id to ‘Session/Episode’ and patient_id to ‘Subject’.
Set recording_date and recording_time fields to file modification date/time.
Set file mtime to timestamp assembled from recording_date and recording_time fields (assuming local timezone).
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.
Display usage information.
Display version.


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.


aghermann(1), edfhed-gtk(1), edfcat(1).


edfhed is written by Andrei Zavada <> as part of the Aghermann project.

2021-12-03 1.1.2