code: def load_data(self, data_path: str) -> list:
      t_data_list = []
      for imageName, wordBBoxes, texts in zip(
          self.imageNames, self.wordBBoxes, self.transcripts
      ):
          item = {}
          wordBBoxes = (
              np.expand_dims(wordBBoxes, axis=2)
              if (wordBBoxes.ndim == 2)
              else wordBBoxes
          )
          _, _, numOfWords = wordBBoxes.shape
          text_polys = wordBBoxes.reshape(
              [8, numOfWords], order="F"
          ).T  # num_words * 8
          text_polys = text_polys.reshape(
              numOfWords, 4, 2
          )  # num_of_words * 4 * 2
          transcripts = [
              word for line in texts for word in line.split()
          ]
          if numOfWords != len(transcripts):
              continue
          item["img_path"] = str(self.dataRoot / imageName)
          item["img_name"] = (self.dataRoot / imageName).stem
          item["text_polys"] = text_polys
          item["texts"] = transcripts
          item["ignore_tags"] = [
              x in self.ignore_tags for x in transcripts
          ]
          t_data_list.append(item)
      return t_data_list
  
imports: import pathlib
  import os
  import cv2
  import numpy
  import scipy.io
  from tqdm.auto import tqdm
  from base import BaseDataSet
  from utils import order_points_clockwise, get_datalist, load, expand_polygon
label_desc: Use image node_id 2 for calling the SynthTextDataset obj's underlying member method code with example usage: obj.load_data(data_path) and returns: t_data_list