code: def visible_settings(self):
      result = [
          self.object_name,
          self.output_object_name,
          self.operation,
      ]
  
      if self.operation in [O_SHRINK, O_EXPAND, O_SPUR]:
          result += [self.iterations]
  
      if self.operation in [O_SHRINK, O_SHRINK_INF]:
          result += [self.wants_fill_holes]
  
      if self.operation in [
          O_SHRINK_BY_MEASUREMENT,
          O_EXPAND_BY_MEASUREMENT,
      ]:
          result += [self.exp_shr_measurement]
  
      return result
  
imports: 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 LabelSubscriber
  from cellprofiler_core.setting.text import LabelName, Integer
  from cellprofiler_core.setting import Measurement
  from cellprofiler_core.utilities.core.module.identify import add_object_location_measurements, add_object_count_measurements, get_object_measurement_columns
  from cellprofiler_library.modules import expand_or_shrink_objects
  from cellprofiler.modules import _help
  import centrosome.cpmorphology
  import numpy
  import scipy.ndimage
  import cellprofiler_core.object
label_desc: Use image node_id 3 for calling the ExpandOrShrinkObjects obj's underlying member method code with example usage: obj.visible_settings() and returns: result