code: def _make_guesses(
      surf, grid, exclude, mindist, n_jobs=None, verbose=None
  ):
      """Make a guess space inside a sphere or BEM surface."""
      if "rr" in surf:
          logger.info(
              "Guess surface ({}) is in {} coordinates".format(
                  _bem_surf_name[surf["id"]],
                  _coord_frame_name(surf["coord_frame"]),
              )
          )
      else:
          logger.info(
              "Making a spherical guess space with radius {:7.1f} mm...".format(
                  1000 * surf["R"]
              )
          )
      logger.info("Filtering (grid = %6.f mm)..." % (1000 * grid))
      src = _make_volume_source_space(
          surf,
          grid,
          exclude,
          1000 * mindist,
          do_neighbors=False,
          n_jobs=n_jobs,
      )[0]
      assert "vertno" in src
      # simplify the result to make things easier later
      src = dict(
          rr=src["rr"][src["vertno"]],
          nn=src["nn"][src["vertno"]],
          nuse=src["nuse"],
          coord_frame=src["coord_frame"],
          vertno=np.arange(src["nuse"]),
          type="discrete",
      )
      return SourceSpaces([src])
  
imports: import functools
  import re
  from copy import deepcopy
  from functools import partial
  import numpy
  from scipy.linalg import eigh
  from scipy.optimize import fmin_cobyla
  from ._fiff.constants import FIFF
  from ._fiff.pick import pick_types
  from ._fiff.proj import _needs_eeg_average_ref_proj, make_projector
  from ._freesurfer import _get_aseg, head_to_mni, head_to_mri, read_freesurfer_lut
  from .bem import _bem_find_surface, _bem_surf_name, _fit_sphere
  from .cov import _ensure_cov, compute_whitener
  from .evoked import _aspect_rev, _read_evoked, _write_evokeds
  from .fixes import _safe_svd, pinvh
  from .forward._compute_forward import _compute_forwards_meeg, _prep_field_computation
  from .forward._make_forward import _get_trans, _prep_eeg_channels, _prep_meg_channels, _setup_bem
  from .parallel import parallel_func
  from .source_space._source_space import SourceSpaces, _make_volume_source_space
  from .surface import _compute_nearest, _points_outside_surface, transform_surface_to
  from .transforms import _coord_frame_name, _print_coord_trans, apply_trans
  from .utils import ExtendedTimeMixin, TimeMixin, _check_fname, _check_option, _get_blas_funcs, _pl, _repeated_svd, _svd_lwork, _time_mask, _validate_type, _verbose_safe_false, check_fname, copy_function_doc_to_method_doc, fill_doc, logger, verbose, warn
  from .viz import plot_dipole_amplitudes, plot_dipole_locations
  from .viz.evoked import _plot_evoked
label_desc: Use image node_id 8 for calling a global function with example usage: _make_guesses(surf, grid, exclude, mindist, n_jobs, verbose) and returns: SourceSpaces