code: def _draw_boxes(
      fig, ax, bboxes, labels, edgecolor="g", linestyle="-", linewidth=3
  ):
      """Helper function to draw bboxes and labels on an axis."""
      bboxes = [bbox_xyxy_to_xywh(box) for box in bboxes]
  
      try:
          from matplotlib.patches import Rectangle
      except Exception as e:
          raise ImportError(
              "This functionality requires matplotlib. Install it via: `pip install matplotlib`"
          )
  
      for (x, y, w, h), label in zip(bboxes, labels):
          rect = Rectangle(
              (x, y),
              w,
              h,
              linewidth=linewidth,
              linestyle=linestyle,
              edgecolor=edgecolor,
              facecolor="none",
          )
          ax.add_patch(rect)
  
          if labels is not None:
              ax = _draw_labels(ax, rect, label, edgecolor)
  
      return fig, ax
  
imports: from multiprocessing import Pool
  from typing import Optional, Any, Dict, Tuple, Union, List, TYPE_CHECKING, TypeVar, DefaultDict
  import numpy
  import collections
  from cleanlab.internal.constants import MAX_CLASS_TO_SHOW, ALPHA, EPSILON, TINY_VALUE
  from cleanlab.object_detection.filter import _filter_by_class, _calculate_true_positives_false_positives
  from cleanlab.object_detection.rank import _get_valid_inputs_for_compute_scores, _separate_prediction, _separate_label, _get_prediction_type
  from cleanlab.internal.object_detection_utils import bbox_xyxy_to_xywh
label_desc: Use image node_id 17 for calling a global function with example usage: _draw_boxes(fig, ax, bboxes, labels, edgecolor, linestyle, linewidth) and returns: fig,  ax