code: def _download_images_if_necessary(dataset_dir, scratch_dir):
      if _is_missing_images(dataset_dir):
          zip_path = os.path.join(scratch_dir, "data.zip")
          unzip_path = os.path.join(scratch_dir, "data")
  
          if not os.path.exists(zip_path):
              logger.info("Downloading data to '%s'", zip_path)
              etaw.download_google_drive_file(
                  _IMAGES_DOWNLOAD_LINK, path=zip_path
              )
  
          logger.info("Unpacking images...")
          etau.extract_zip(
              zip_path, outdir=unzip_path, delete_zip=False
          )
          _organize_data(unzip_path, dataset_dir)
  
imports: import logging
  import os
  from collections import defaultdict
  import eta.core.utils
  import eta.core.web
  import pandas
  import fiftyone
  import fiftyone.core.utils
  import fiftyone.utils.data
  from fiftyone.core.expressions import ViewField
  from fiftyone.core.expressions import VALUE
label_desc: Use image node_id 14 for calling a global function with example usage: _download_images_if_necessary(dataset_dir, scratch_dir) without return types