class_docstr: The window frame that lets you add modules to a pipeline
  
      
class_docstr_tok: ["The","window","frame","that","lets","you","add","modules","to","a","pipeline"]
code: def __get_module_files(self):
      self.__module_files = [
          "File Processing",
          "Image Processing",
          "Object Processing",
          "Measurement",
          "Data Tools",
          "Other",
          "All",
      ]
      self.__module_dict = {}
      for key in self.__module_files:
          self.__module_dict[key] = {}
  
      for mn in get_module_names():
  
          def loader(module_num, mn=mn):
              module = instantiate_module(mn)
              module.set_module_num(module_num)
              return module
  
          try:
              module = get_module_class(mn)
              if module.is_input_module():
                  continue
              categories = (
                  [module.category]
                  if isinstance(module.category, str)
                  else list(module.category)
              ) + ["All"]
              for category in categories:
                  if category not in self.__module_files:
                      self.__module_files.insert(-2, category)
                      self.__module_dict[category] = {}
                  self.__module_dict[category][
                      module.module_name
                  ] = loader
          except Exception as e:
              import traceback
              import logging
  
              logging.root.error(
                  "Unable to instantiate module %s.\n\n",
                  mn,
                  exc_info=True,
              )
  
imports: import wx
  from rapidfuzz.utils import default_process
  from rapidfuzz.process import extract
  from rapidfuzz.distance import DamerauLevenshtein
  from cellprofiler_core.utilities.core.modules import get_module_names, instantiate_module, get_module_class
  import cellprofiler.gui
  import cellprofiler.gui.cpframe
  import cellprofiler.gui.help.search
  import cellprofiler.gui.utilities.icon
  import cellprofiler.modules
label_desc: Use image node_id 4 for calling the AddModuleFrame obj's underlying member method code with example usage: obj.__get_module_files() and returns: module