docstr: Create an IPD for every url that passes the filter
code: def prepare_run(self, workspace):
      """Create an IPD for every url that passes the filter"""
      if workspace.pipeline.in_batch_mode():
          return True
      file_list = self.filter_file_list(workspace)
      if self.want_split.value:
          LOGGER.debug(
              "Metadata extraction will be performed now if needed"
          )
          if self.extract_metadata.callback is not None:
              # If GUI is present perform extraction and refresh the file list GUI
              self.extract_metadata.callback()
          else:
              # Otherwise, just do the extraction here
              for file_object in file_list:
                  if not file_object.extracted:
                      file_object.extract_planes(workspace)
  
      planes = []
      for image_file in file_list:
          if self.want_split:
              for (
                  seriesIdx,
                  sizeC,
                  sizeZ,
                  sizeT,
                  sizeY,
                  sizeX,
                  seriesName,
              ) in image_file.get_plane_iterator():
                  to_split = [
                      range(sizeC) if self.split_C.value else [None],
                      range(sizeZ) if self.split_Z.value else [None],
                      range(sizeT) if self.split_T.value else [None],
                  ]
                  is_color = sizeC > 1 and not self.split_C.value
  
                  for C, Z, T in itertools.product(*to_split):
                      planes.append(
                          ImagePlane(
                              image_file,
                              series=seriesIdx,
                              channel=C,
                              z=Z,
                              t=T,
                              color=is_color,
                              name=seriesName,
                          )
                      )
          else:
              planes.append(ImagePlane(image_file))
      workspace.pipeline.set_image_plane_list(planes)
      return True
  
imports: import itertools
  import logging
  from cellprofiler_core.constants.measurement import C_SERIES_NAME, C_C, C_SERIES, C_Z, C_T
  from cellprofiler_core.pipeline import ImagePlane
  from cellprofiler_core.constants.module import FILTER_RULES_BUTTONS_HELP
  from cellprofiler_core.constants.modules.images import FILTER_CHOICE_ALL
  from cellprofiler_core.constants.modules.images import FILTER_CHOICE_CUSTOM
  from cellprofiler_core.constants.modules.images import FILTER_CHOICE_IMAGES
  from cellprofiler_core.constants.modules.images import FILTER_CHOICE_NONE
  from cellprofiler_core.constants.modules.images import FILTER_DEFAULT
  from cellprofiler_core.module import Module
  from cellprofiler_core.setting import FileCollectionDisplay
  from cellprofiler_core.setting import Binary
  from cellprofiler_core.setting import PathListDisplay
  from cellprofiler_core.setting.choice import Choice
  from cellprofiler_core.setting.do_something import PathListRefreshButton
  from cellprofiler_core.setting.do_something import PathListExtractButton
  from cellprofiler_core.setting.filter import DirectoryPredicate
  from cellprofiler_core.setting.filter import ExtensionPredicate
  from cellprofiler_core.setting.filter import FilePredicate
  from cellprofiler_core.setting.filter import Filter
  from cellprofiler_core.utilities.image import image_resource
  from cellprofiler_core.utilities.image import is_image
label_desc: Use image node_id 9 for calling the Images obj's underlying member method code with example usage: obj.prepare_run(workspace) and returns: True, True