code: def _read_eeg(directory):
      """Read the .eeg file."""
      # Missing file is ok
      fname, found = _make_ctf_name(directory, "eeg", raise_error=False)
      if not found:
          logger.info(
              "    Separate EEG position data file not present."
          )
          return
      eeg = dict(
          labels=list(),
          kinds=list(),
          ids=list(),
          rr=list(),
          np=0,
          assign_to_chs=True,
          coord_frame=FIFF.FIFFV_MNE_COORD_CTF_HEAD,
      )
      with open(fname, "rb") as fid:
          for line in fid:
              line = line.strip()
              if len(line) > 0:
                  parts = line.decode("utf-8").split()
                  if len(parts) != 5:
                      raise RuntimeError(
                          "Illegal data in EEG position file: %s" % line
                      )
                  r = np.array([float(p) for p in parts[2:]]) / 100.0
                  if (r * r).sum() > 1e-4:
                      label = parts[1]
                      eeg["labels"].append(label)
                      eeg["rr"].append(r)
                      id_ = _cardinal_dict.get(
                          label.lower(), int(parts[0])
                      )
                      if label.lower() in _cardinal_dict:
                          kind = FIFF.FIFFV_POINT_CARDINAL
                      else:
                          kind = FIFF.FIFFV_POINT_EXTRA
                      eeg["ids"].append(id_)
                      eeg["kinds"].append(kind)
                      eeg["np"] += 1
      logger.info("    Separate EEG position data file read.")
      return eeg
  
file_path: mne-python/mne/io/ctf/eeg.py
imports: from os import listdir
  from os.path import join
  import numpy
  from ..._fiff.constants import FIFF
  from ...transforms import apply_trans
  from ...utils import logger, warn
  from .res4 import _make_ctf_name
label_desc: Use image node_id 1 for calling a global function with example usage: _read_eeg(directory) and returns: eeg