code: def test_two_circles():
      i, j = numpy.mgrid[-50:51, -50:51]
      i, j = [numpy.hstack((x, x)) for x in (i, j)]
      d = numpy.sqrt(i * i + j * j)
      labels = (d <= 40).astype(int)
      labels[:, (j.shape[1] // 2) :] *= 2
      img = numpy.zeros(labels.shape)
      img[labels == 1] = 1
      img[labels == 2] = d[labels == 2] / 40
      m, workspace = run_module(img, labels, wants_workspace=True)
      assert isinstance(
          workspace, cellprofiler_core.workspace.Workspace
      )
      bins = (labels != 0) * (
          1 + (numpy.sqrt(i * i + j * j) / 10).astype(int)
      )
      for bin in range(1, 5):
          data = m.get_current_measurement(
              OBJECT_NAME, feature_frac_at_d(bin, 4)
          )
          assert len(data) == 2
          area = (float(bin) * 2.0 - 1.0) / 16.0
          bin_d = (float(bin) - 0.5) * 8 / 21
          assert numpy.abs(data[0] - area) < 0.1
          assert numpy.abs(data[1] - area * bin_d) < 0.1
          heatmap = workspace.image_set.get_image(
              HEAT_MAP_NAME
              + cellprofiler.modules.measureobjectintensitydistribution.F_FRAC_AT_D
          ).pixel_data
          data = data.astype(heatmap.dtype)
          for label in 1, 2:
              mask = (bins == bin) & (labels == label)
              assert (
                  scipy.stats.mode(heatmap[mask])[0][0]
                  == data[label - 1]
              )
          data = m.get_current_measurement(
              OBJECT_NAME, feature_mean_frac(bin, 4)
          )
          assert len(data) == 2
          assert round(abs(data[0] - 1), 2) == 0
          heatmap = workspace.image_set.get_image(
              HEAT_MAP_NAME
              + cellprofiler.modules.measureobjectintensitydistribution.F_MEAN_FRAC
          ).pixel_data
          data = data.astype(heatmap.dtype)
          for label in 1, 2:
              mask = (bins == bin) & (labels == label)
              assert (
                  scipy.stats.mode(heatmap[mask])[0][0]
                  == data[label - 1]
              )
          data = m.get_current_measurement(
              OBJECT_NAME, feature_radial_cv(bin, 4)
          )
          assert len(data) == 2
          assert round(abs(data[0] - 0), 2) == 0
          heatmap = workspace.image_set.get_image(
              HEAT_MAP_NAME
              + cellprofiler.modules.measureobjectintensitydistribution.F_RADIAL_CV
          ).pixel_data
          data = data.astype(heatmap.dtype)
          for label in 1, 2:
              mask = (bins == bin) & (labels == label)
              assert (
                  scipy.stats.mode(heatmap[mask])[0][0]
                  == data[label - 1]
              )
  
imports: import io
  import centrosome.propagate
  import numpy
  import scipy.stats
  import cellprofiler_core.image
  import cellprofiler_core.measurement
  import cellprofiler_core.module
  from cellprofiler_core.constants.measurement import COLTYPE_FLOAT
  import cellprofiler.modules.measureobjectintensitydistribution
  import cellprofiler_core.object
  import cellprofiler_core.pipeline
  import cellprofiler_core.preferences
  import cellprofiler_core.setting
  import cellprofiler_core.workspace
  import tests.frontend.modules
label_desc: Use image node_id 22 for calling a global function with example usage: test_two_circles() without return types