code: def _product_cmaps(*cmaps, **kwargs):
      input_name = kwargs.pop("input_name", "product")
      output_name = kwargs.pop("output_name", "product")
      if kwargs:
          raise TypeError(f"Unexpected kwargs {kwargs}")
      ndimin = [cmap.ndims[0] for cmap in cmaps]
      ndimin.insert(0, 0)
      ndimin = tuple(np.cumsum(ndimin))
  
      def function(x):
          x = np.atleast_2d(x)
          y = []
          for i in range(len(ndimin) - 1):
              yy = cmaps[i](x[:, ndimin[i] : ndimin[i + 1]])
              y.append(yy)
          yy = np.hstack(y)
          return yy
  
      incoords = coordsys_product(
          *[cmap.function_domain for cmap in cmaps], name=input_name
      )
      outcoords = coordsys_product(
          *[cmap.function_range for cmap in cmaps], name=output_name
      )
      return CoordinateMap(incoords, outcoords, function)
  
imports: import warnings
  import numpy
  import numpy.linalg
  from nibabel import io_orientation
  from nibabel.affines import from_matvec, to_matvec
  from .coordinate_system import CoordinateSystem, is_coordsys, safe_dtype
  from .coordinate_system import product
label_desc: Use image node_id 13 for calling a global function with example usage: _product_cmaps() and returns: CoordinateMap, yy