code: def test_crop_edges_with_image():
      """Test cropping and removing rows and columns with an image"""
      x, y = numpy.mgrid[0:10, 0:10]
      input_image = x / 100.0 + y / 10.0
      crop_image = numpy.zeros((10, 10), bool)
      crop_image[2, 3] = True
      crop_image[7, 5] = True
      expected_image = numpy.zeros((6, 3), numpy.float32)
      expected_image[0, 0] = input_image[2, 3]
      expected_image[5, 2] = input_image[7, 5]
      workspace, module = make_workspace(
          input_image, crop_image=crop_image
      )
      module.shape.value = cellprofiler.modules.crop.SH_IMAGE
      module.remove_rows_and_columns.value = (
          cellprofiler.modules.crop.RM_EDGES
      )
      module.run(workspace)
      output_image = workspace.image_set.get_image(OUTPUT_IMAGE)
      assert numpy.all(output_image.pixel_data == expected_image)
  
imports: import numpy
  import cellprofiler_core.image
  import cellprofiler_core.measurement
  from cellprofiler_core.constants.measurement import GROUP_INDEX, GROUP_NUMBER, COLTYPE_INTEGER
  import cellprofiler.modules.crop
  import cellprofiler_core.object
  import cellprofiler_core.pipeline
  import cellprofiler_core.workspace
label_desc: Use image node_id 4 for calling a global function with example usage: test_crop_edges_with_image() without return types