class_docstr: Raw object from EEGLAB .set file.
  
  Parameters
  ----------
  input_fname : path-like
      Path to the ``.set`` file. If the data is stored in a separate ``.fdt``
      file, it is expected to be in the same folder as the ``.set`` file.
  eog : list | tuple | 'auto'
      Names or indices of channels that should be designated EOG channels.
      If 'auto', the channel names containing ``EOG`` or ``EYE`` are used.
      Defaults to empty tuple.
  %(preload)s
      Note that preload=False will be effective only if the data is stored
      in a separate binary file.
  %(uint16_codec)s
  %(montage_units)s
  %(verbose)s
  
  See Also
  --------
  mne.io.Raw : Documentation of attributes and methods.
  
  Notes
  -----
  .. versionadded:: 0.11.0
class_docstr_tok: ["Raw","object","from","EEGLAB",".set","file",".","Parameters","--","--","--","--","--","input_fname",":","path-like","Path","to","the","``",".set","``","file",".","If","the","data","is","stored","in","a","separate","``",".fdt","``","file",",","it","is","expected","to","be","in","the","same","folder","as","the","``",".set","``","file",".","eog",":","list","|","tuple","|","'auto'","Names","or","indices","of","channels","that","should","be","designated","EOG","channels",".","If","'auto","'",",","the","channel","names","containing","``","EOG","``","or","``","EYE","``","are","used",".","Defaults","to","empty","tuple",".","%","(","preload",")","s","Note","that","preload=False","will","be","effective","only","if","the","data","is","stored","in","a","separate","binary","file",".","%","(","uint16_codec",")","s","%","(","montage_units",")","s","%","(","verbose",")","s","See","Also","--","--","--","--","mne.io.Raw",":","Documentation","of","attributes","and","methods",".","Notes","--","--","-","..","versionadded",":",":","0.11.0"]
code: def __init__(
      self,
      input_fname,
      eog=(),
      preload=False,
      *,
      uint16_codec=None,
      montage_units="auto",
      verbose=None,
  ):
      input_fname = str(
          _check_fname(input_fname, "read", True, "input_fname")
      )
      eeg = _check_load_mat(input_fname, uint16_codec)
      if eeg.trials != 1:
          raise TypeError(
              "The number of trials is %d. It must be 1 for raw"
              " files. Please use `mne.io.read_epochs_eeglab` if"
              " the .set file contains epochs." % eeg.trials
          )
  
      last_samps = [eeg.pnts - 1]
      info, eeg_montage, _ = _get_info(
          eeg, eog=eog, montage_units=montage_units
      )
  
      # read the data
      if isinstance(eeg.data, str):
          data_fname = _check_eeglab_fname(input_fname, eeg.data)
          logger.info("Reading %s" % data_fname)
  
          super().__init__(
              info,
              preload,
              filenames=[data_fname],
              last_samps=last_samps,
              orig_format="double",
              verbose=verbose,
          )
      else:
          if preload is False or isinstance(preload, str):
              warn(
                  "Data will be preloaded. preload=False or a string "
                  "preload is not supported when the data is stored in "
                  "the .set file"
              )
          # can't be done in standard way with preload=True because of
          # different reading path (.set file)
          if eeg.nbchan == 1 and len(eeg.data.shape) == 1:
              n_chan, n_times = [1, eeg.data.shape[0]]
          else:
              n_chan, n_times = eeg.data.shape
          data = np.empty((n_chan, n_times), dtype=float)
          data[:n_chan] = eeg.data
          data *= CAL
          super().__init__(
              info,
              data,
              filenames=[input_fname],
              last_samps=last_samps,
              orig_format="double",
              verbose=verbose,
          )
  
      # create event_ch from annotations
      annot = read_annotations(input_fname, uint16_codec=uint16_codec)
      self.set_annotations(annot)
      _check_boundary(annot, None)
  
      _set_dig_montage_in_init(self, eeg_montage)
  
      latencies = np.round(annot.onset * self.info["sfreq"])
      _check_latencies(latencies)
  
imports: import os.path
  from os import PathLike
  from pathlib import Path
  import numpy
  from mne.utils.check import _check_option
  from ..._fiff._digitization import _ensure_fiducials_head
  from ..._fiff.constants import FIFF
  from ..._fiff.meas_info import create_info
  from ..._fiff.pick import _PICK_TYPES_KEYS
  from ..._fiff.utils import _find_channels, _read_segments_file
  from ...annotations import Annotations, read_annotations
  from ...channels import make_dig_montage
  from ...defaults import DEFAULTS
  from ...epochs import BaseEpochs
  from ...event import read_events
  from ...utils import Bunch, _check_fname, _check_head_radius, fill_doc, logger, verbose, warn
  from ..base import BaseRaw
  from ._eeglab import _readmat
label_desc: Use image node_id 1 to create a new RawEEGLAB object from inherited base classes: BaseRaw with example: obj = RawEEGLAB(input_fname, eog, preload)