code: def upgrade_settings(
      self, setting_values, variable_revision_number, module_name
  ):
      if variable_revision_number == 1:
          # no object choice before rev 2
          old_setting_values = setting_values
          setting_values = [
              O_IMG,
              old_setting_values[0],
              old_setting_values[1],
              "None",
              "None",
              "None",
              "None",
          ]
          variable_revision_number = 2
  
      if variable_revision_number == 2:
          #
          # Removed images associated with objects from the settings
          #
          setting_values = setting_values[:4] + setting_values[5:6]
          variable_revision_number = 3
  
      if variable_revision_number == 3:
          #
          # Added earth mover's distance
          #
          setting_values = setting_values + [
              "No",  # wants_emd
              250,  # max points
              DM.KMEANS.value,  # decimation method
              250,  # max distance
              "No",  # penalize missing
          ]
          variable_revision_number = 4
  
      if variable_revision_number == 4:
          obj_or_img = setting_values[0]
  
          if obj_or_img == O_OBJ:
              raise RuntimeError(
                  """\
  MeasureImageOverlap does not compute object measurements.
  
  Please update your pipeline to use MeasureObjectOverlap to compute object measurements.
  """
              )
  
          setting_values = setting_values[1:]
          variable_revision_number = 5
  
      return setting_values, variable_revision_number
  
imports: from cellprofiler.modules import _help
  from cellprofiler_library.modules import measureimageoverlap
  from cellprofiler_library.opts.measureimageoverlap import DM
  from cellprofiler_core.constants.measurement import COLTYPE_FLOAT
  from cellprofiler_core.module import Module
  from cellprofiler_core.setting import Binary
  from cellprofiler_core.setting.choice import Choice
  from cellprofiler_core.setting.subscriber import ImageSubscriber
  from cellprofiler_core.setting.text import Integer
label_desc: Use image node_id 12 for calling the MeasureImageOverlap obj's underlying member method code with example usage: obj.upgrade_settings(setting_values, variable_revision_number, module_name) and returns: setting_values,  variable_revision_number