code: def _check_ch_locs(info, picks=None, ch_type=None):
      """Check if channel locations exist.
  
      Parameters
      ----------
      info : Info | None
          `~mne.Info` instance.
      picks : list of int
          Channel indices to consider. If provided, ``ch_type`` must be ``None``.
      ch_type : str | None
          The channel type to restrict the check to. If ``None``, check all
          channel types. If provided, ``picks`` must be ``None``.
      """
      from .._fiff.pick import _picks_to_idx, pick_info
  
      if picks is not None and ch_type is not None:
          raise ValueError(
              "Either picks or ch_type may be provided, not both"
          )
  
      if picks is not None:
          info = pick_info(info=info, sel=picks)
      elif ch_type is not None:
          picks = _picks_to_idx(info=info, picks=ch_type, none=ch_type)
          info = pick_info(info=info, sel=picks)
  
      chs = info["chs"]
      locs3d = np.array([ch["loc"][:3] for ch in chs])
      return not (
          (locs3d == 0).all()
          or (~np.isfinite(locs3d)).all()
          or np.allclose(locs3d, 0.0)
      )
  
imports: import numbers
  import operator
  import os
  import re
  from builtins import input
  from difflib import get_close_matches
  from importlib import import_module
  from pathlib import Path
  import numpy
  from ..defaults import HEAD_SIZE_DEFAULT, _handle_default
  from ..fixes import _compare_version, _median_complex
  from ._logging import _record_warnings, _verbose_safe_false, logger, verbose, warn
label_desc: Use image node_id 24 for calling a global function with example usage: _check_ch_locs(info, picks, ch_type) and returns: unknown