code: def _read_raw_egi_mff(
      input_fname,
      eog=None,
      misc=None,
      include=None,
      exclude=None,
      preload=False,
      channel_naming="E%d",
      verbose=None,
  ):
      """Read EGI mff binary as raw object.
  
      .. note:: This function attempts to create a synthetic trigger channel.
                See notes below.
  
      Parameters
      ----------
      input_fname : path-like
          Path to the raw file.
      eog : list or tuple
          Names of channels or list of indices that should be designated
          EOG channels. Default is None.
      misc : list or tuple
          Names of channels or list of indices that should be designated
          MISC channels. Default is None.
      include : None | list
         The event channels to be ignored when creating the synthetic
         trigger. Defaults to None.
         Note. Overrides `exclude` parameter.
      exclude : None | list
         The event channels to be ignored when creating the synthetic
         trigger. Defaults to None. If None, channels that have more than
         one event and the ``sync`` and ``TREV`` channels will be
         ignored.
      %(preload)s
      channel_naming : str
          Channel naming convention for the data channels. Defaults to 'E%%d'
          (resulting in channel names 'E1', 'E2', 'E3'...). The effective default
          prior to 0.14.0 was 'EEG %%03d'.
      %(verbose)s
  
      Returns
      -------
      raw : instance of RawMff
          A Raw object containing EGI mff data.
          See :class:`mne.io.Raw` for documentation of attributes and methods.
  
      Notes
      -----
      The trigger channel names are based on the arbitrary user dependent event
      codes used. However this function will attempt to generate a synthetic
      trigger channel named ``STI 014`` in accordance with the general
      Neuromag / MNE naming pattern.
  
      The event_id assignment equals ``np.arange(n_events) + 1``. The resulting
      ``event_id`` mapping is stored as attribute to the resulting raw object but
      will be ignored when saving to a fiff. Note. The trigger channel is
      artificially constructed based on timestamps received by the Netstation.
      As a consequence, triggers have only short durations.
  
      This step will fail if events are not mutually exclusive.
  
      See Also
      --------
      mne.io.Raw : Documentation of attributes and methods of RawMff.
  
      .. versionadded:: 0.15.0
      """
      return RawMff(
          input_fname,
          eog,
          misc,
          include,
          exclude,
          preload,
          channel_naming,
          verbose,
      )
  
imports: import datetime
  import math
  import os.path
  import re
  from collections import OrderedDict
  from pathlib import Path
  import numpy
  from ..._fiff.constants import FIFF
  from ..._fiff.meas_info import _empty_info, _ensure_meas_date_none_or_dt, create_info
  from ..._fiff.proj import setup_proj
  from ..._fiff.utils import _create_chs, _mult_cal_one
  from ...annotations import Annotations
  from ...channels.montage import make_dig_montage
  from ...evoked import EvokedArray
  from ...utils import _check_fname, _check_option, _soft_import, logger, verbose, warn
  from ..base import BaseRaw
  from .events import _combine_triggers, _read_events
  from .general import _block_r, _extract, _get_blocks, _get_ep_info, _get_gains, _get_signalfname
label_desc: Use image node_id 6 for calling a global function with example usage: _read_raw_egi_mff(input_fname, eog, misc, include, exclude, preload, channel_naming, verbose) and returns: RawMff