code: def _read_annotations_ctf_call(
      directory, total_offset, trial_duration, meas_date
  ):
      fname = op.join(directory, "MarkerFile.mrk")
      if not op.exists(fname):
          return Annotations(
              list(), list(), list(), orig_time=meas_date
          )
      else:
          markers = _get_markers(fname)
  
          onset = [
              synctime + (trialnum * trial_duration) + total_offset
              for _, m in markers.items()
              for (trialnum, synctime) in m
          ]
  
          description = np.concatenate(
              [np.repeat(label, len(m)) for label, m in markers.items()]
          )
  
          return Annotations(
              onset=onset,
              duration=np.zeros_like(onset),
              description=description,
              orig_time=meas_date,
          )
  
file_path: mne-python/mne/io/ctf/markers.py
imports: import os.path
  from io import BytesIO
  import numpy
  from ...annotations import Annotations
  from .info import _convert_time
  from .res4 import _read_res4
label_desc: Use image node_id 4 for calling a global function with example usage: _read_annotations_ctf_call(directory, total_offset, trial_duration, meas_date) and returns: Annotations, Annotations