code: def test_pass_3d_fill_bowl(
      volume_labels,
      module,
      object_set_empty,
      objects_empty,
      workspace_empty,
  ):
      labels = volume_labels.copy()
      # Create a 'bowl' topology
      labels[5:10, 4:6, 4:6] = 0
  
      objects_empty.segmented = labels
  
      module.x_name.value = "InputObjects"
      module.y_name.value = "OutputObjects"
      module.size.value = 3.0
      # Set to planewise so the bowl is "filled" on each plane
      module.planewise.value = True
      module.mode.value = "Holes"
  
      module.run(workspace_empty)
  
      actual = object_set_empty.get_objects("OutputObjects").segmented
      expected = volume_labels
  
      # We're filling plane-wise here, so each 2D plane should have its holes filled,
      # meaning the 'bowl' should be filled
      numpy.testing.assert_array_equal(actual, expected)
  
file_path: CellProfiler/tests/frontend/modules/test_fillobjects.py
imports: import numpy
  import numpy.testing
  import pytest
  import skimage.morphology
  import cellprofiler.modules.fillobjects
label_desc: Use image node_id 9 for calling a global function with example usage: test_pass_3d_fill_bowl(volume_labels, module, object_set_empty, objects_empty, workspace_empty) without return types