code: def download_release(release_scans, out_dir, file_types, use_v1_sens):
      if len(release_scans) == 0:
          return
      log.info(
          "Downloading ScanNet "
          + RELEASE_NAME
          + " release to "
          + out_dir
          + "..."
      )
      failed = []
      for scan_id in release_scans:
          scan_out_dir = os.path.join(out_dir, scan_id)
          try:
              download_scan(
                  scan_id, scan_out_dir, file_types, use_v1_sens
              )
          except:
              failed.append(scan_id)
      log.info("Downloaded ScanNet " + RELEASE_NAME + " release.")
      if len(failed):
          log.warning("Failed downloads: {}".format(failed))
  
imports: import os
  import os.path
  import shutil
  import json
  import torch
  from glob import glob
  import sys
  import csv
  import logging
  import numpy
  from plyfile import PlyData, PlyElement
  from torch_geometric.data import Data, InMemoryDataset, download_url, extract_zip
  import torch_geometric.transforms
  import multiprocessing
  import pandas
  import tempfile
  import urllib
  from urllib.request import urlopen
  from torch_points3d.datasets.base_dataset import BaseDataset
  import torch_points3d.core.data_transform
  from .None import IGNORE_LABEL
label_desc: Use image node_id 2 for calling a global function with example usage: download_release(release_scans, out_dir, file_types, use_v1_sens) without return types