code: def test_extract_planes(self):
      module = cellprofiler_core.modules.images.Images()
      module.want_split.value = True
      path = tests.core.modules.maybe_download_example_image(
          ["ExampleColorToGray"], "nt_03_01_color.tif", (21, 31, 3)
      )
      url = pathname2url(path)
  
      self.check(module, url, True, extract=True)
      # We need to use the same image later with different shape params.
      os.remove(path)
  
imports: import io
  import os
  import tempfile
  import cellprofiler_core.constants.modules.images
  import cellprofiler_core.measurement
  import cellprofiler_core.pipeline
  import cellprofiler_core.pipeline.event._load_exception
  import cellprofiler_core.workspace
  import cellprofiler_core.modules.images
  import cellprofiler_core.modules.metadata
  from cellprofiler_core.utilities.pathname import url2pathname, pathname2url
  import tests.core
label_desc: Use image node_id 9 for calling the TestImages obj's underlying member method code with example usage: obj.test_extract_planes() without return types