code: def read_raw_bti(
      pdf_fname,
      config_fname="config",
      head_shape_fname="hs_file",
      rotation_x=0.0,
      translation=(0.0, 0.02, 0.11),
      convert=True,
      rename_channels=True,
      sort_by_ch_name=True,
      ecg_ch="E31",
      eog_ch=("E63", "E64"),
      preload=False,
      verbose=None,
  ) -> RawBTi:
      """Raw object from 4D Neuroimaging MagnesWH3600 data.
  
      .. note::
          1. Currently direct inclusion of reference channel weights
             is not supported. Please use ``mne_create_comp_data`` to include
             the weights or use the low level functions from this module to
             include them by yourself.
          2. The informed guess for the 4D name is E31 for the ECG channel and
             E63, E63 for the EOG channels. Please check and adjust if those
             channels are present in your dataset but 'ECG 01' and 'EOG 01',
             'EOG 02' don't appear in the channel names of the raw object.
  
      Parameters
      ----------
      pdf_fname : path-like
          Path to the processed data file (PDF).
      config_fname : path-like
          Path to system config file.
      head_shape_fname : path-like | None
          Path to the head shape file.
      rotation_x : float
          Degrees to tilt x-axis for sensor frame misalignment. Ignored
          if convert is True.
      translation : array-like, shape (3,)
          The translation to place the origin of coordinate system
          to the center of the head. Ignored if convert is True.
      convert : bool
          Convert to Neuromag coordinates or not.
      rename_channels : bool
          Whether to keep original 4D channel labels or not. Defaults to True.
      sort_by_ch_name : bool
          Reorder channels according to channel label. 4D channels don't have
          monotonically increasing numbers in their labels. Defaults to True.
      ecg_ch : str | None
          The 4D name of the ECG channel. If None, the channel will be treated
          as regular EEG channel.
      eog_ch : tuple of str | None
          The 4D names of the EOG channels. If None, the channels will be treated
          as regular EEG channels.
      %(preload)s
  
          .. versionadded:: 0.11
      %(verbose)s
  
      Returns
      -------
      raw : instance of RawBTi
          A Raw object containing BTI data.
          See :class:`mne.io.Raw` for documentation of attributes and methods.
  
      See Also
      --------
      mne.io.Raw : Documentation of attributes and methods of RawBTi.
      """
      return RawBTi(
          pdf_fname,
          config_fname=config_fname,
          head_shape_fname=head_shape_fname,
          rotation_x=rotation_x,
          translation=translation,
          convert=convert,
          rename_channels=rename_channels,
          sort_by_ch_name=sort_by_ch_name,
          ecg_ch=ecg_ch,
          eog_ch=eog_ch,
          preload=preload,
          verbose=verbose,
      )
  
imports: import functools
  import os.path
  from io import BytesIO
  from itertools import count
  import numpy
  from ..._fiff._digitization import _make_bti_dig_points
  from ..._fiff.constants import FIFF
  from ..._fiff.meas_info import _empty_info
  from ..._fiff.tag import _coil_trans_to_loc, _loc_to_coil_trans
  from ..._fiff.utils import _mult_cal_one, read_str
  from ...transforms import Transform, combine_transforms, invert_transform
  from ...utils import _stamp_to_dt, _validate_type, logger, path_like, verbose
  from ..base import BaseRaw
  from .constants import BTI
  from .read import read_char, read_dev_header, read_double, read_double_matrix, read_float, read_float_matrix, read_int16, read_int16_matrix, read_int32, read_int64, read_transform, read_uint16, read_uint32
label_desc: Use image node_id 25 for calling a global function with example usage: read_raw_bti(pdf_fname, config_fname, head_shape_fname, rotation_x, translation, convert, rename_channels, sort_by_ch_name, ecg_ch, eog_ch, preload, verbose) and returns: RawBTi