code: def check_random_bbox_crop_fixed_shape(
      batch_size, ndim, crop_shape, input_shape, use_labels
  ):
      bbox_source = BBoxDataIterator(
          100, batch_size, ndim, produce_labels=use_labels
      )
      bbox_layout = "xyzXYZ" if ndim == 3 else "xyXY"
      pipe = RandomBBoxCropSynthDataPipeline(
          device="cpu",
          batch_size=batch_size,
          bbox_source=bbox_source,
          bbox_layout=bbox_layout,
          scaling=None,
          aspect_ratio=None,
          input_shape=input_shape,
          crop_shape=crop_shape,
          all_boxes_above_threshold=False,
      )
      pipe.build()
      for i in range(100):
          outputs = pipe.run()
          for sample in range(batch_size):
              in_boxes = outputs[0].at(sample)
              out_crop_anchor = outputs[1].at(sample)
              out_crop_shape = outputs[2].at(sample)
              out_boxes = outputs[3].at(sample)
              check_crop_dims_fixed_size(
                  out_crop_anchor,
                  out_crop_shape,
                  crop_shape,
                  input_shape,
              )
              rel_out_crop_anchor = [
                  out_crop_anchor[d] / input_shape[d]
                  for d in range(ndim)
              ]
              rel_out_crop_shape = [
                  out_crop_shape[d] / input_shape[d]
                  for d in range(ndim)
              ]
              check_processed_bboxes(
                  rel_out_crop_anchor,
                  rel_out_crop_shape,
                  in_boxes,
                  out_boxes,
              )
  
imports: from nvidia.dali.pipeline import Pipeline
  from nvidia.dali import pipeline_def
  import nvidia.dali.ops
  import nvidia.dali.fn
  import nvidia.dali.types
  import numpy
  import random
label_desc: Use image node_id 9 for calling a global function with example usage: check_random_bbox_crop_fixed_shape(batch_size, ndim, crop_shape, input_shape, use_labels) without return types