code: def _sample_iterator(self):
      all_samples = zip(
          self.params.images,
          self.params.xml_files,
          range(len(self.params.images)),
      )
      if self.mode == PipelineMode.TRAINING:
          all_samples = list(all_samples)
          shuffle(all_samples)
      return all_samples
  
imports: import os
  from copy import deepcopy
  from dataclasses import dataclass, field
  from random import shuffle
  import math
  import numpy
  from paiargparse import pai_dataclass, pai_meta
  from tfaip.data.pipeline.definitions import PipelineMode, INPUT_PROCESSOR, TARGETS_PROCESSOR
  from tqdm import tqdm
  from lxml import etree
  import cv2
  from typing import List, Generator, Optional, Iterable, Dict, Any, Tuple
  from enum import IntEnum
  from calamari_ocr.ocr.dataset.datareader.base import CalamariDataGenerator, CalamariDataGeneratorParams, InputSample, SampleMeta
  from calamari_ocr.utils import split_all_ext, filename, glob_all
  from calamari_ocr.ocr.predict.params import Prediction
  import logging
label_desc: Use image node_id 17 for calling the PageXMLReader obj's underlying member method code with example usage: obj._sample_iterator() and returns: all_samples