code: def test_do_not_shrink_missing():
      # Regression test of 705
  
      for missing in range(1, 3):
          for missing_primary in False, True:
              primary_labels = numpy.zeros((20, 20), int)
              secondary_labels = numpy.zeros((20, 20), int)
              expected_labels = numpy.zeros((20, 20), int)
              centers = ((5, 5), (15, 5), (5, 15))
              pidx = 1
              sidx = 1
              for idx, (i, j) in enumerate(centers):
                  if (idx + 1 != missing) or not missing_primary:
                      primary_labels[
                          (i - 1) : (i + 2), (j - 1) : (j + 2)
                      ] = pidx
                      pidx += 1
                  if (idx + 1 != missing) or missing_primary:
                      secondary_labels[
                          (i - 2) : (i + 3), (j - 2) : (j + 3)
                      ] = sidx
                      sidx += 1
              expected_labels = secondary_labels * (primary_labels == 0)
              workspace = make_workspace(
                  primary_labels, secondary_labels
              )
  
              module = workspace.module
              module.shrink_primary.value = False
              module.run(workspace)
              output_objects = workspace.object_set.get_objects(
                  TERTIARY
              )
              assert numpy.all(
                  output_objects.segmented == expected_labels
              )
  
              m = workspace.measurements
  
              child_name = module.subregion_objects_name.value
              primary_name = module.primary_objects_name.value
              ftr = FF_PARENT % primary_name
              pparents = m[child_name, ftr]
              assert len(pparents) == (3 if missing_primary else 2)
              if missing_primary:
                  assert pparents[missing - 1] == 0
  
              secondary_name = module.secondary_objects_name.value
              ftr = FF_PARENT % secondary_name
              pparents = m[child_name, ftr]
              assert len(pparents) == (3 if missing_primary else 2)
              if not missing_primary:
                  assert all([x in pparents for x in range(1, 3)])
  
              ftr = FF_CHILDREN_COUNT % child_name
              children = m[primary_name, ftr]
              assert len(children) == (2 if missing_primary else 3)
              if not missing_primary:
                  assert children[missing - 1] == 0
                  assert numpy.all(
                      numpy.delete(children, missing - 1) == 1
                  )
              else:
                  assert numpy.all(children == 1)
  
              children = m[secondary_name, ftr]
              assert len(children) == (3 if missing_primary else 2)
              assert numpy.all(children == 1)
  
imports: import numpy
  import six.moves
  import cellprofiler_core.image
  import cellprofiler_core.measurement
  import cellprofiler_core.measurement
  import cellprofiler_core.modules
  from cellprofiler_core.constants.measurement import FF_COUNT, COLTYPE_INTEGER, M_LOCATION_CENTER_X, COLTYPE_FLOAT, M_LOCATION_CENTER_Y, M_NUMBER_OBJECT_NUMBER, FF_CHILDREN_COUNT, FF_PARENT, R_FIRST_IMAGE_NUMBER, R_SECOND_IMAGE_NUMBER, R_FIRST_OBJECT_NUMBER, R_SECOND_OBJECT_NUMBER
  import cellprofiler.modules.identifytertiaryobjects
  import cellprofiler_core.object
  import cellprofiler_core.pipeline
  import cellprofiler_core.workspace
  import tests.frontend.modules
label_desc: Use image node_id 11 for calling a global function with example usage: test_do_not_shrink_missing() without return types