code: def add_reader(cp_reader):
      LOGGER.debug("Registering ", cp_reader.__name__)
      name = None
      try:
          name = cp_reader.reader_name
  
          if name in ALL_READERS:
              LOGGER.warning(
                  "Multiple definitions of reader %s\n\told in %s\n\tnew in %s",
                  name,
                  sys.modules[ALL_READERS[name].__module__].__file__,
                  inspect.getfile(cp_reader),
              )
          ALL_READERS[name] = cp_reader
          enabled = config_read_typed(f"Reader.{name}.enabled", bool)
          if enabled or enabled is None:
              AVAILABLE_READERS[name] = cp_reader
      except Exception as e:
          LOGGER.warning("Failed to load %s", name, exc_info=True)
          if name in ALL_READERS:
              del ALL_READERS[name]
              del pymodules[-1]
  
imports: import glob
  import importlib
  import importlib.util
  import inspect
  import logging
  import os
  import re
  import sys
  import traceback
  from cellprofiler_core.constants.modules import all_modules
  from cellprofiler_core.constants.modules import pymodules
  from cellprofiler_core.constants.reader import ALL_READERS, BAD_READERS, AVAILABLE_READERS
  from cellprofiler_core.preferences import get_plugin_directory, config_read_typed
  from cellprofiler_core.module import Module
  from cellprofiler_core.reader import Reader
label_desc: Use image node_id 5 for calling a global function with example usage: add_reader(cp_reader) without return types