code: def download_coco128(root: Path):
      """Download coco from ultralytics using torchvision download_and_extract_archive."""
      root = root if isinstance(root, Path) else Path(root)
      coco_dir = root / "coco128"
      images_dir = coco_dir / "images" / "train2017"
      labels_dir = coco_dir / "labels" / "train2017"
  
      if not (root.exists() and root.is_dir()):
          raise RuntimeError(
              f"root path does not exist or is not a dir - {root}"
          )
  
      if images_dir.exists() and labels_dir.exists():
          return coco_dir, "train2017"
      with urlopen(
          "https://ndownloader.figshare.com/files/37681632"
      ) as http_response:
          with ZipFile(BytesIO(http_response.read())) as zip_file:
              zip_file.extractall(path=root)
  
      # Removing the README.txt file if it exists since it causes issues with sphinx-gallery
      try:
          os.remove(str(coco_dir / "README.txt"))
      except FileNotFoundError:
          pass
  
      return coco_dir, "train2017"
  
file_path: deepchecks/deepchecks/vision/datasets/detection/coco_utils.py
imports: import os
  import pathlib
  from io import BytesIO
  from pathlib import Path
  from urllib.request import urlopen
  from zipfile import ZipFile
  import cv2
  import numpy
  from PIL import Image
label_desc: Use image node_id 1 for calling a global function with example usage: download_coco128(root) and returns: coco_dir,  str, coco_dir,  str