code: def test_read_images_pil(self):
      file_path = os.path.join(self.resource_path, "cats/")
      data_shard = bigdl.orca.data.read_images(
          file_path, backend="pillow"
      )
      collected = data_shard.collect()
      size = (80, 80)
      resized = data_shard.rdd.map(lambda x: x.resize(size))
      for im in collected:
          self.assertTrue(isinstance(im, PIL.Image.Image))
      self.assertTrue(data_shard.rdd.count() == 6)
      self.assertTrue(resized.count() == 6)
  
file_path: BigDL/python/orca/test/bigdl/orca/data/test_image_preprocessing.py
imports: import os.path
  import pytest
  from unittest import TestCase
  import bigdl.orca.data
  from bigdl.orca.data.image.preprocessing import read_images_pil, read_images_spark
  from bigdl.dllib.nncontext import *
  import PIL
label_desc: Use image node_id 3 for calling the TestImagePreprocessing obj's underlying member method code with example usage: obj.test_read_images_pil() without return types