code: def test_manual_touching():
      """Test a labels matrix with two objects touching"""
      labels = numpy.zeros((10, 10), int)
      labels[2, 2] = 1  # Pythagoras triangle 3-4-5
      labels[5, 6] = 2
      workspace, module = make_workspace(
          labels,
          cellprofiler.modules.measureobjectneighbors.D_WITHIN,
          5,
      )
      module.run(workspace)
      m = workspace.measurements
      neighbors = m.get_current_measurement(
          OBJECTS_NAME, "Neighbors_NumberOfNeighbors_5"
      )
      assert len(neighbors) == 2
      assert numpy.all(neighbors == 1)
      pct = m.get_current_measurement(
          OBJECTS_NAME, "Neighbors_PercentTouching_5"
      )
      assert len(pct) == 2
      assert round(abs(pct[0] - 100), 7) == 0
  
      fo = m.get_current_measurement(
          OBJECTS_NAME, "Neighbors_FirstClosestObjectNumber_5"
      )
      assert len(fo) == 2
      assert fo[0] == 2
      assert fo[1] == 1
  
imports: import numpy
  import six.moves
  import cellprofiler_core.image
  import cellprofiler_core.measurement
  from cellprofiler_core.constants.measurement import COLTYPE_INTEGER, COLTYPE_FLOAT, NEIGHBORS, R_FIRST_OBJECT_NUMBER, R_SECOND_OBJECT_NUMBER
  from cellprofiler_core.measurement import RelationshipKey
  import cellprofiler.modules.measureobjectneighbors
  import cellprofiler_core.object
  import cellprofiler_core.pipeline
  import cellprofiler_core.workspace
  import tests.frontend.modules
label_desc: Use image node_id 9 for calling a global function with example usage: test_manual_touching() without return types