code: def run(self, workspace):
      image = workspace.image_set.get_image(
          self.image_name.value, must_be_grayscale=True
      )
      orig_pixels = image.pixel_data
      if image.has_mask:
          mask = image.mask
      else:
          mask = numpy.ones(orig_pixels.shape, bool)
  
      output_pixels = enhanceedges(
          orig_pixels,
          mask,
          method=self.method.value,
          direction=self.direction.value,
          sigma=self.get_sigma(),
      )
  
      output_image = Image(output_pixels, parent_image=image)
      workspace.image_set.add(
          self.output_image_name.value, output_image
      )
  
      if self.show_window:
          workspace.display_data.orig_pixels = orig_pixels
          workspace.display_data.output_pixels = output_pixels
  
imports: import centrosome.filter
  import centrosome.kirsch
  import centrosome.otsu
  import numpy
  from cellprofiler_core.image import Image
  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 Float
  from cellprofiler_core.setting.text import ImageName
  from cellprofiler_library.modules import enhanceedges
label_desc: Use image node_id 5 for calling the EnhanceEdges obj's underlying member method code with example usage: obj.run(workspace) without return types