class_docstr: DataHandler generate augmented batches used for training or validation.
  
  Args:
      lr_dir: directory containing the Low Res images.
      hr_dir: directory containing the High Res images.
      patch_size: integer, size of the patches extracted from LR images.
      scale: integer, upscaling factor.
      n_validation_samples: integer, size of the validation set. Only provided if the
          DataHandler is used to generate validation sets.
docstr: Rough file name matching between lr and hr directories. 
docstr_tok: ["Rough","file","name","matching","between","lr","and","hr","directories","."]
code: def _matching_datasets(self):
      """Rough file name matching between lr and hr directories."""
      # LR_name.png = HR_name+x+scale.png
      # or
      # LR_name.png = HR_name.png
      LR_name_root = [
          x.split(".")[0].rsplit("x", 1)[0] for x in self.img_list["lr"]
      ]
      HR_name_root = [x.split(".")[0] for x in self.img_list["hr"]]
      return np.all(HR_name_root == LR_name_root)
  
file_path: image-super-resolution/ISR/utils/datahandler.py
imports: import os
  import imageio
  import numpy
  from ISR.utils.logger import get_logger
label_desc: Use image node_id 4 for calling the DataHandler obj's underlying member method code with example usage: obj._matching_datasets() and returns: np