code: def axes(mins, maxs, npts=None):
      """generate a tuple of arrays defining axes on a grid, given bounds
  
      Args:
        mins (tuple[float]): lower bounds for coordinates on the grid
        maxs (tuple[float]): upper bounds for coordinates on the grid
        npts (tuple[int]): number of grid points per axis, or integer if equal
  
      Returns:
        a tuple of arrays defining the axes of the coordinate grid
  
      Notes:
        If ``npts`` is None, a default of 50 points in each direction is used.
      """  # NOTE: ensures all axes will be ordered (monotonically increasing)
      import numpy as np
  
      if not hasattr(mins, "__len__"):
          mins = (mins,)
      if not hasattr(maxs, "__len__"):
          maxs = (maxs,)
      if npts is None:
          npts = 50 ** len(mins)  # XXX: better default?
      if not hasattr(npts, "__len__"):
          npts = (max(int(npts ** (1.0 / len(mins))), 1),) * len(mins)
      return tuple(np.linspace(*r) for r in zip(mins, maxs, npts))
  
imports: from mystic.math import _rbf
label_desc: Use image node_id 13 for calling a global function with example usage: axes(mins, maxs, npts) and returns: tuple