code: def load_data(self):
          
          images = list()
          labels = list()
          emotion_index_map = dict()
          label_directories = [dir for dir in os.listdir(self.datapath) if not dir.startswith('.')]
          for label_directory in label_directories:
              if self.target_emotion_map:
                  if label_directory not in self.target_emotion_map.keys():    continue
              self._add_new_label_to_map(label_directory, emotion_index_map)
              label_directory_path = self.datapath + '/' + label_directory
  
              if self.time_delay:
                  self._load_series_for_single_emotion_directory(images, label_directory, label_directory_path, labels)
              else:
                  image_files = [image_file for image_file in os.listdir(label_directory_path) if not image_file.startswith('.')]
                  self._load_images_from_directory_to_array(image_files, images, label_directory, label_directory_path, labels)
  
          vectorized_labels = self._vectorize_labels(emotion_index_map, labels)
          self._check_data_not_empty(images)
          return self._load_dataset(np.array(images), np.array(vectorized_labels), emotion_index_map)
docs: Loads image and label data from specified directory path.
  
          :return: Dataset object containing image and label data.