code: def add_module(cp_module):
      LOGGER.debug("Registering ", cp_module.__name__)
      name = None
      try:
          name = cp_module.module_name
          if name in all_modules:
              LOGGER.warning(
                  "Multiple definitions of module %s\n\told in %s\n\tnew in %s",
                  name,
                  sys.modules[all_modules[name].__module__].__file__,
                  inspect.getfile(cp_module),
              )
          all_modules[name] = cp_module
          from cellprofiler_core.utilities.core.modules import (
              check_module,
          )
  
          check_module(cp_module, name)
          # attempt to instantiate
          if not hasattr(cp_module, "do_not_check"):
              cp_module()
      except Exception as e:
          LOGGER.warning("Failed to load %s", cp_module, exc_info=True)
          if name in all_modules:
              del all_modules[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 4 for calling a global function with example usage: add_module(cp_module) without return types