code: def upgrade_settings(
      self, setting_values, variable_revision_number, module_name
  ):
      if variable_revision_number == 1:
          # Moved final settings (alignment method, cropping) to the top
          setting_values = setting_values[-2:] + setting_values[:-2]
          variable_revision_number = 2
  
      if variable_revision_number == 2:
          # wants_cropping changed to crop_mode
          setting_values = (
              setting_values[:1]
              + [C_CROP if setting_values[1] == "Yes" else C_SAME_SIZE]
              + setting_values[2:]
          )
          variable_revision_number = 3
  
      return setting_values, variable_revision_number
  
imports: import numpy
  import scipy.ndimage
  import scipy.sparse
  from centrosome.filter import stretch
  from scipy.fftpack import fft2, ifft2
  from ..constants.measurement import COLTYPE_INTEGER
  from ..image import Image
  from ..module import Module
  from ..setting import Divider, SettingsGroup
  from ..setting.choice import Choice
  from ..setting.do_something import DoSomething, RemoveSettingButton
  from ..setting.subscriber import ImageSubscriber
  from ..setting.text import ImageName
label_desc: Use image node_id 17 for calling the Align 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