code: def _make_slices(
      shape: tp.Tuple[int, ...],
      axes: tp.Tuple[int, ...],
      size: int,
      rng: np.random.RandomState,
  ) -> tp.List[slice]:
      slices = []
      for a, s in enumerate(shape):
          if a in axes:
              if s <= 1:
                  raise ValueError(
                      "Cannot crossover on axis with size 1"
                  )
              start = rng.randint(s - size)
              slices.append(slice(start, start + size))
          else:
              slices.append(slice(None))
      return slices
  
imports: import typing
  import numpy
  from .None import core
  from .None import transforms
  from .data import Data, Scalar
  from .choice import Choice
  from .None import _layering
label_desc: Use image node_id 1 for calling a global function with example usage: _make_slices(shape, axes, size, rng) and returns: slices