class_docstr: Raw object from NSx file from Blackrock Microsystems.
  
  Parameters
  ----------
  input_fname : str
      Path to the NSx file.
  stim_channel : ``'auto'`` | str | list of str | int | list of int
      Defaults to ``'auto'``, which means that channels named ``'status'`` or
      ``'trigger'`` (case insensitive) are set to STIM. If str (or list of
      str), all channels matching the name(s) are set to STIM. If int (or
      list of ints), channels corresponding to the indices are set to STIM.
  eog : list or tuple
      Names of channels or list of indices that should be designated EOG
      channels. Values should correspond to the electrodes in the file.
      Default is None.
  misc : list or tuple
      Names of channels or list of indices that should be designated MISC
      channels. Values should correspond to the electrodes in the file.
      Default is None.
  %(preload)s
  %(verbose)s
  
  Notes
  -----
  NSx files with id (= NEURALSG), i.e., version 2.1 is currently not
  supported.
  
  If channels named 'status' or 'trigger' are present, they are considered as
  STIM channels by default. Use func:`mne.find_events` to parse events
  encoded in such analog stim channels.
class_docstr_tok: ["Raw","object","from","NSx","file","from","Blackrock","Microsystems",".","Parameters","--","--","--","--","--","input_fname",":","str","Path","to","the","NSx","file",".","stim_channel",":","``","'auto","'","``","|","str","|","list","of","str","|","int","|","list","of","int","Defaults","to","``","'auto","'","``",",","which","means","that","channels","named","``","'status","'","``","or","``","'trigger","'","``","(","case","insensitive",")","are","set","to","STIM",".","If","str","(","or","list","of","str",")",",","all","channels","matching","the","name","(","s",")","are","set","to","STIM",".","If","int","(","or","list","of","ints",")",",","channels","corresponding","to","the","indices","are","set","to","STIM",".","eog",":","list","or","tuple","Names","of","channels","or","list","of","indices","that","should","be","designated","EOG","channels",".","Values","should","correspond","to","the","electrodes","in","the","file",".","Default","is","None",".","misc",":","list","or","tuple","Names","of","channels","or","list","of","indices","that","should","be","designated","MISC","channels",".","Values","should","correspond","to","the","electrodes","in","the","file",".","Default","is","None",".","%","(","preload",")","s","%","(","verbose",")","s","Notes","--","--","-","NSx","files","with","id","(","=","NEURALSG",")",",","i.e.",",","version","2.1","is","currently","not","supported",".","If","channels","named","'status","'","or","'trigger","'","are","present",",","they","are","considered","as","STIM","channels","by","default",".","Use","func",":","`","mne.find_events","`","to","parse","events","encoded","in","such","analog","stim","channels","."]
code: def __init__(
      self,
      input_fname,
      stim_channel="auto",
      eog=None,
      misc=None,
      preload=False,
      verbose=None,
  ):
      logger.info(f"Extracting NSX parameters from {input_fname}...")
      input_fname = os.path.abspath(input_fname)
      (
          info,
          data_fname,
          fmt,
          n_samples,
          orig_format,
          raw_extras,
          orig_units,
      ) = _get_hdr_info(
          input_fname, stim_channel=stim_channel, eog=eog, misc=misc
      )
      raw_extras["orig_format"] = orig_format
      first_samps = (raw_extras["timestamp"][0],)
      super().__init__(
          info,
          first_samps=first_samps,
          last_samps=[first_samps[0] + n_samples - 1],
          filenames=[data_fname],
          orig_format=orig_format,
          preload=preload,
          verbose=verbose,
          raw_extras=[raw_extras],
          orig_units=orig_units,
      )
  
      # Add annotations for in-data skips
      if len(self._raw_extras[0]["timestamp"]) > 1:
          starts = (
              self._raw_extras[0]["timestamp"]
              + self._raw_extras[0]["nb_data_points"]
          )[:-1] + 1
          stops = self._raw_extras[0]["timestamp"][1:] - 1
          durations = (stops - starts + 1) / self.info["sfreq"]
          annot = Annotations(
              onset=(starts / self.info["sfreq"]),
              duration=durations,
              description="BAD_ACQ_SKIP",
              orig_time=self.info["meas_date"],
          )
          self.set_annotations(annot)
  
file_path: mne-python/mne/io/nsx/nsx.py
imports: import os
  from datetime import datetime, timezone
  import numpy
  from ..._fiff.constants import FIFF
  from ..._fiff.meas_info import _empty_info
  from ..._fiff.utils import _file_size, _read_segments_file
  from ...annotations import Annotations
  from ...utils import fill_doc, logger, warn
  from ..base import BaseRaw, _get_scaling
label_desc: Use image node_id 1 to create a new RawNSX object from inherited base classes: BaseRaw with example: obj = RawNSX(input_fname, stim_channel, eog, misc, preload, verbose)