code: def __next__(self):
      pos = []
      size = []
      anchor_amplitude = self.max_norm_anchor - self.min_norm_anchor
      anchor_offset = self.min_norm_anchor
      shape_amplitude = self.max_norm_shape - self.min_norm_shape
      shape_offset = self.min_norm_shape
      np.random.seed(self.seed)
      for k in range(self.batch_size):
          norm_anchor = (
              anchor_amplitude * np.random.rand(len(self.axes))
              + anchor_offset
          )
          norm_shape = (
              shape_amplitude * np.random.rand(len(self.axes))
              + shape_offset
          )
  
          if self.normalized_anchor:
              anchor = norm_anchor
          else:
              anchor = [
                  floor(norm_anchor[i] * self.image_shape[self.axes[i]])
                  for i in range(len(self.axes))
              ]
  
          if self.normalized_shape:
              shape = norm_shape
          else:
              shape = [
                  floor(norm_shape[i] * self.image_shape[self.axes[i]])
                  for i in range(len(self.axes))
              ]
  
          pos.append(np.asarray(anchor, dtype=np.float32))
          size.append(np.asarray(shape, dtype=np.float32))
          self.i = (self.i + 1) % self.n
      return (pos, size)
  
imports: from nvidia.dali import Pipeline, pipeline_def, ops, fn, types
  import numpy
  import os
  from functools import partial
  from math import floor
  from test_utils import compare_pipelines, get_dali_extra_path, RandomDataIterator, generator_random_axes_for_3d_input, generator_random_data, as_array
  from nose_utils import assert_raises
  from nose2.tools import params
label_desc: Use image node_id 3 for calling the SliceArgsIterator obj's underlying member method code with example usage: obj.__next__() and returns: pos,  size