class_docstr: Base format class for Pillow formats.
class_docstr_tok: ["Base","format","class","for","Pillow","formats","."]
code: def _init_pillow(self):
      with self._lock:
          if not self._pillow_imported:
              self._pillow_imported = True  # more like tried to import
              import PIL
  
              if not hasattr(PIL, "__version__"):  # pragma: no cover
                  raise ImportError(
                      "Imageio Pillow plugin requires "
                      "Pillow, not PIL!"
                  )
              from PIL import Image
  
              self._Image = Image
          elif self._Image is None:  # pragma: no cover
              raise RuntimeError(
                  "Imageio Pillow plugin requires " "Pillow lib."
              )
          Image = self._Image
  
      if self.plugin_id in ("PNG", "JPEG", "BMP", "GIF", "PPM"):
          Image.preinit()
      else:
          Image.init()
      return Image
  
imports: import logging
  import threading
  import numpy
  from ..core import Format, image_as_uint
  from ..core.request import URI_FILE, URI_BYTES
  from .pillowmulti import GIFFormat, TIFFFormat
label_desc: Use image node_id 3 for calling the PillowFormat obj's underlying member method code with example usage: obj._init_pillow() and returns: Image