class_docstr: This class represents an image file
  
  A file is considered as a single URL.
  
  A single file can contain multiple planes.
  
  This class assists in extracting information about the contents of
  a single file.
code: def load_plane_metadata(self, data, names=""):
      # Metadata is stored in the HDF5 file as an array of int values, 5 per series for axis sizes (CZTYX)
      if len(data) < 5 or len(data) % 5 != 0:
          # No metadata or bad format
          if len(data) > 0:
              LOGGER.warning(
                  f"Unable to load saved metadata for {self.filename}"
              )
          return
      if len(data) == 5 and numpy.all(data == -1):
          # Unfilled metadata
          return
      num_series = len(data) // 5
      self.metadata[MD_SIZE_S] = num_series
      self.metadata[MD_SERIES_NAME] = names
      for i in range(num_series):
          C, Z, T, Y, X = data[:5]
          self.metadata[MD_SIZE_C].append(int(C))
          self.metadata[MD_SIZE_Z].append(int(Z))
          self.metadata[MD_SIZE_T].append(int(T))
          self.metadata[MD_SIZE_Y].append(int(Y))
          self.metadata[MD_SIZE_X].append(int(X))
      for S, C, Z, T, Y, X, name in self.get_plane_iterator():
          self._plane_details.append(
              f"Series {S:>2}{f' ({name})' if name else ''}"
              f": {X:>5} x {Y:<5}, {C} Channels, {Z:>2} Planes, {T:>2} Timepoints"
          )
      self._extracted = True
  
imports: import os
  import urllib.parse
  import urllib.request
  import logging
  from functools import cached_property
  import numpy
  from cellprofiler_core.constants.image import MD_SIZE_S, MD_SIZE_C, MD_SIZE_Z, MD_SIZE_T, MD_SIZE_Y, MD_SIZE_X, MD_SIZE_KEYS, MD_SERIES_NAME
  from cellprofiler_core.constants.modules.metadata import COL_PATH, COL_SERIES, COL_INDEX, COL_URL
  from cellprofiler_core.constants.measurement import RESERVED_METADATA_KEYS
  from cellprofiler_core.reader import get_image_reader, Reader
  from cellprofiler_core.utilities.image import url_to_modpath, is_file_url
label_desc: Use image node_id 7 for calling the ImageFile obj's underlying member method code with example usage: obj.load_plane_metadata(data, names) without return types