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: Determines whether the patch is complex, or not-flat enough.
  Threshold set by flatness.
docstr_tok: ["Determines","whether","the","patch","is","complex",",","or","not-flat","enough",".","Threshold","set","by","flatness","."]
code: def _not_flat(self, patch, flatness):
      """
      Determines whether the patch is complex, or not-flat enough.
      Threshold set by flatness.
      """
  
      if (
          max(
              np.std(patch, axis=0).mean(), np.std(patch, axis=1).mean()
          )
          < flatness
      ):
          return False
      else:
          return True
  
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 5 for calling the DataHandler obj's underlying member method code with example usage: obj._not_flat(patch, flatness) and returns: False, True