class_docstr: Nested sampler with reactive exploration strategy.
  
  Storage & resume capable, optionally MPI parallelised.
class_docstr_tok: ["Nested","sampler","with","reactive","exploration","strategy",".","Storage","&","resume","capable",",","optionally","MPI","parallelised","."]
docstr: Get new samples from region.
docstr_tok: ["Get","new","samples","from","region","."]
code: def _refill_samples(self, Lmin, ndraw, nit):
      """Get new samples from region."""
      nc = 0
      u = self.region.sample(nsamples=ndraw)
      assert np.logical_and(u > 0, u < 1).all(), u
      nu = u.shape[0]
      if nu == 0:
          v = np.empty((0, self.num_params))
          logl = np.empty((0,))
          accepted = np.empty(0, dtype=bool)
      else:
          if nu > 1 and not self.draw_multiple:
              # peel off first if multiple evaluation is not supported
              nu = 1
              u = u[:1, :]
  
          v = self.transform(u)
          logl = np.ones(nu) * -np.inf
  
          if self.tregion is not None:
              # check wrapping ellipsoid in transformed space
              accepted = self.tregion.inside(v)
              nt = accepted.sum()
          else:
              # if undefined, all pass; rarer branch
              accepted = np.ones(nu, dtype=bool)
              nt = nu
  
          if nt > 0:
              logl[accepted] = self.loglike(v[accepted, :])
              nc += nt
          accepted = logl > Lmin
  
          # print("it: %4d ndraw: %d -> %d -> %d -> %d " % (nit, ndraw, nu, nt, accepted.sum()))
  
      if (
          not self.sampling_slow_warned
          and nit * ndraw >= 100000
          and nit > 20
      ):
          warning_message1 = (
              "Sampling from region seems inefficient (%d/%d accepted in iteration %d). "
              % (accepted.sum(), ndraw, nit)
          )
          warning_message2 = (
              "To improve efficiency, modify the transformation so that the current live points%s are ellipsoidal, "
              + "or use a stepsampler, or set frac_remain to a lower number (e.g., 0.5) to terminate earlier."
          )
          if self.log_to_disk:
              debug_filename = os.path.join(
                  self.logs["extra"], "sampling-stuck-it%d"
              )
              np.savez(
                  debug_filename + ".npz",
                  u=self.region.u,
                  unormed=self.region.unormed,
                  maxradiussq=self.region.maxradiussq,
                  sample_u=u,
                  sample_v=v,
                  sample_logl=logl,
              )
              np.savetxt(
                  debug_filename + ".csv", self.region.u, delimiter=","
              )
              warning_message = warning_message1 + (
                  warning_message2
                  % (" (stored for you in %s.csv)" % debug_filename)
              )
          else:
              warning_message = warning_message1 + warning_message2 % ""
          warnings.warn(warning_message)
          logl_region = self.loglike(self.transform(self.region.u))
          if (logl_region == Lmin).all():
              raise ValueError(
                  "Region cannot sample a higher point. "
                  "All remaining live points have the same value."
              )
          if not (logl_region > Lmin).any():
              raise ValueError(
                  "Region cannot sample a higher point. "
                  "Perhaps you are resuming from a different problem?"
                  "Delete the output files and start again."
              )
          self.sampling_slow_warned = True
  
      self.ncall_region += ndraw
      return u[accepted, :], v[accepted, :], logl[accepted], nc, 0
  
imports: from __future__ import print_function, division
  import os
  import sys
  import csv
  import json
  import operator
  import time
  import warnings
  from numpy import log, exp, logaddexp
  import numpy
  from .utils import create_logger, make_run_dir, resample_equal, vol_prefactor, vectorize, listify
  from .utils import is_affine_transform, normalised_kendall_tau_distance, distributed_work_chunk_size
  from ultranest.mlfriends import MLFriends, AffineLayer, ScalingLayer, find_nearby, WrappingEllipsoid, RobustEllipsoidRegion
  from .store import HDF5PointStore, TextPointStore, NullPointStore
  from .viz import get_default_viz_callback
  from .ordertest import UniformOrderAccumulator
  from .netiter import PointPile, SingleCounter, MultiCounter, BreadthFirstIterator, TreeNode, count_tree_between, find_nodes_before, logz_sequence
  from .netiter import dump_tree, combine_results
  from .hotstart import get_auxiliary_contbox_parameterization
label_desc: Use image node_id 10 for calling the ReactiveNestedSampler obj's underlying member method code with example usage: obj._refill_samples(Lmin, ndraw, nit) and returns: u,  v,  logl,  nc,  int