class_docstr: Class to wrap MINC1 format opened netcdf object
  
  Although it has some of the same methods as a ``Header``, we use
  this only when reading a MINC file, to pull out useful header
  information, and for the method of reading the data out
code: def __init__(self, mincfile):
      self._mincfile = mincfile
      self._image = mincfile.variables["image"]
      self._dim_names = self._image.dimensions
      # The code below will error with vector_dimensions.  See:
      # https://en.wikibooks.org/wiki/MINC/Reference/MINC1-programmers-guide#An_Introduction_to_NetCDF
      # https://en.wikibooks.org/wiki/MINC/Reference/MINC1-programmers-guide#Image_dimensions
      self._dims = [
          self._mincfile.variables[s] for s in self._dim_names
      ]
      # We don't currently support irregular spacing
      # https://en.wikibooks.org/wiki/MINC/Reference/MINC1-programmers-guide#MINC_specific_convenience_functions
      for dim in self._dims:
          if dim.spacing != b"regular__":
              raise ValueError("Irregular spacing not supported")
      self._spatial_dims = [
          name for name in self._dim_names if name.endswith("space")
      ]
      # the MINC standard appears to allow the following variables to
      # be undefined.
      # https://en.wikibooks.org/wiki/MINC/Reference/MINC1-programmers-guide#Image_conversion_variables
      # It wasn't immediately obvious what the defaults were.
      self._image_max = self._mincfile.variables["image-max"]
      self._image_min = self._mincfile.variables["image-min"]
  
imports: from __future__ import annotations
  from numbers import Integral
  import numpy
  from .externals.netcdf import netcdf_file
  from .fileslice import canonical_slicers
  from .spatialimages import SpatialHeader, SpatialImage
label_desc: Use image node_id 1 to create a new Minc1File object  with example: obj = Minc1File(mincfile)