code: def test_kirsch():
      r = numpy.random.RandomState(
          [ord(_) for _ in "test_07_01_kirsch"]
      )
      i, j = numpy.mgrid[-20:20, -20:20]
      image = (numpy.sqrt(i * i + j * j) <= 10).astype(float) * 0.5
      image = image + r.uniform(size=image.shape) * 0.1
      workspace, module = make_workspace(image)
      module.method.value = cellprofiler.modules.enhanceedges.M_KIRSCH
      module.run(workspace)
      output = workspace.image_set.get_image(OUTPUT_IMAGE_NAME)
      result = centrosome.kirsch.kirsch(image)
      numpy.testing.assert_almost_equal(
          output.pixel_data, result, decimal=4
      )
  
imports: import centrosome.filter
  import centrosome.kirsch
  import centrosome.otsu
  import numpy
  import cellprofiler_core.image
  import cellprofiler_core.measurement
  import cellprofiler.modules.enhanceedges
  import cellprofiler_core.object
  import cellprofiler_core.pipeline
  import cellprofiler_core.workspace
label_desc: Use image node_id 12 for calling a global function with example usage: test_kirsch() without return types