---
name: "edfhed"
section: "1"
platform: "linux"
package: "aghermann"
version: "1.1.2-5+b3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/edfhed"
---

# edfhed(1)

## NAME

	edfhed -- 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 *label*s 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.

## SEE ALSO

[aghermann(1)](/aghermann/1.md), [edfhed-gtk(1)](/edfhed-gtk/1.md), [edfcat(1)](/edfcat/1.md).

## AUTHOR

edfhed is written by Andrei Zavada \<johnhommer@gmail.com\> as part of the Aghermann project.
