code: def shut_down_readers():
      """
      Ensures that reader file locks are released before we shut down CP.
      This isn't a problem on UNIX, but on Windows any cached files can't be
      deleted if they're still linked to a reader instance.
      """
      for reader in list(ACTIVE_READERS):
          reader.release_memory()
  
imports: import atexit
  import hashlib
  import logging
  import os
  import tempfile
  import urllib.parse
  import urllib.request
  import weakref
  import numpy
  import cellprofiler_core.preferences
  from .._abstract_image import AbstractImage
  from ..._image import Image
  from ....reader import get_image_reader, get_image_reader_class
  from ....utilities.image import is_numpy_file, download_to_temp_file
  from ....utilities.image import is_matlab_file
  from ....utilities.image import loadmat
  from ....utilities.image import load_data_file
  from ....utilities.image import generate_presigned_url
  from ....constants.image import FILE_SCHEME, PASSTHROUGH_SCHEMES
  from ....utilities.pathname import pathname2url, url2pathname
label_desc: Use image node_id 1 for calling a global function with example usage: shut_down_readers() without return types