code: def _get_lut(fname=None):
      """Get a FreeSurfer LUT."""
      if fname is None:
          fname = (
              Path(__file__).parent / "data" / "FreeSurferColorLUT.txt"
          )
      _check_fname(fname, "read", must_exist=True)
      dtype = [
          ("id", "<i8"),
          ("name", "U"),
          ("R", "<i8"),
          ("G", "<i8"),
          ("B", "<i8"),
          ("A", "<i8"),
      ]
      lut = {d[0]: list() for d in dtype}
      with open(fname) as fid:
          for line in fid:
              line = line.strip()
              if line.startswith("#") or not line:
                  continue
              line = line.split()
              if len(line) != len(dtype):
                  raise RuntimeError(
                      f"LUT is improperly formatted: {fname}"
                  )
              for d, part in zip(dtype, line):
                  lut[d[0]].append(part)
      lut = {d[0]: np.array(lut[d[0]], dtype=d[1]) for d in dtype}
      assert len(lut["name"]) > 0
      lut["name"] = [str(name) for name in lut["name"]]
      return lut
  
imports: import os.path
  from gzip import GzipFile
  from pathlib import Path
  import numpy
  from ._fiff.constants import FIFF
  from ._fiff.meas_info import read_fiducials
  from .surface import _read_mri_surface, read_surface
  from .transforms import Transform, _ensure_trans, apply_trans, combine_transforms, invert_transform, read_ras_mni_t
  from .utils import _check_fname, _check_option, _import_nibabel, _validate_type, get_subjects_dir, logger, verbose
label_desc: Use image node_id 21 for calling a global function with example usage: _get_lut(fname) and returns: lut