class_docstr: Vectorized slice/HARM sampler.
  
  Can revert until all previous steps have likelihoods allL above Lmin.
  Updates currentt, generation and allL, in-place.
docstr: Initialize walker starting points.
  
  For iteration zero, randomly selects a live point as starting point.
  
  Parameters
  ----------
  us: np.array((nlive, ndim))
      live points
  Ls: np.array(nlive)
      loglikelihoods live points
  starting: np.array(nwalkers, dtype=bool)
      which walkers to initialize.
docstr_tok: ["Initialize","walker","starting","points",".","For","iteration","zero",",","randomly","selects","a","live","point","as","starting","point",".","Parameters","--","--","--","--","--","us",":","np.array","(","(","nlive",",","ndim",")",")","live","points","Ls",":","np.array","(","nlive",")","loglikelihoods","live","points","starting",":","np.array","(","nwalkers",",","dtype=bool",")","which","walkers","to","initialize","."]
code: def setup_start(self, us, Ls, starting):
      """Initialize walker starting points.
  
      For iteration zero, randomly selects a live point as starting point.
  
      Parameters
      ----------
      us: np.array((nlive, ndim))
          live points
      Ls: np.array(nlive)
          loglikelihoods live points
      starting: np.array(nwalkers, dtype=bool)
          which walkers to initialize.
  
      """
      if self.log:
          print("setting up:", starting)
      nlive = len(us)
      i = np.random.randint(nlive, size=starting.sum())
  
      if not starting.all():
          while starting[self.ringindex]:
              # if the one we are waiting for is being restarted,
              # we may as well pick the next one to wait for
              # because every other one is started from a random point
              # as well
              self.shift()
  
      self.allu[starting, 0] = us[i]
      self.allL[starting, 0] = Ls[i]
      self.generation[starting] = 0
  
imports: import numpy
  from ultranest.utils import submasks
  from ultranest.stepfuncs import evolve, step_back
  from ultranest.stepfuncs import generate_cube_oriented_direction, generate_cube_oriented_direction_scaled
  from ultranest.stepfuncs import generate_random_direction, generate_region_oriented_direction, generate_region_random_direction
  from ultranest.stepfuncs import generate_differential_direction, generate_mixture_random_direction
  import scipy.stats
label_desc: Use image node_id 5 for calling the PopulationSliceSampler obj's underlying member method code with example usage: obj.setup_start(us, Ls, starting) without return types