docstr: Tests random_distort with small-change arguments.
  
  We pass parameters to random_distort that make it so that it should
  change the image relatively little, and then check that in fact it
  changed relatively little.
docstr_tok: ["Tests","random_distort","with","small-change","arguments",".","We","pass","parameters","to","random_distort","that","make","it","so","that","it","should","change","the","image","relatively","little",",","and","then","check","that","in","fact","it","changed","relatively","little","."]
code: def testSmallRandomDistort(self):
      """Tests random_distort with small-change arguments.
  
      We pass parameters to random_distort that make it so that it should
      change the image relatively little, and then check that in fact it
      changed relatively little.
      """
      total_boxes = 3
      im_shape = (600, 900, 3)
      config = EasyDict(
          {
              "brightness": {
                  "max_delta": 0.00001,
              },
              "hue": {
                  "max_delta": 0.00001,
              },
              "saturation": {
                  "lower": 0.99999,
                  "upper": 1.00001,
              },
              "contrast": {"lower": 0.99999, "upper": 1.00001},
          }
      )
      label = 3
      image, bboxes = self._get_image_with_boxes(im_shape, total_boxes)
      # Add a label to each bbox.
      bboxes_w_label = tf.concat(
          [bboxes, tf.fill((bboxes.shape[0], 1), label)], axis=1
      )
      ret_image, ret_bboxes = self._random_distort(
          image, config, bboxes_w_label
      )
      # Assertions
      large_number = 0.1
      self.assertAllClose(
          image, ret_image, rtol=0.05, atol=large_number
      )
  
imports: import numpy
  import tensorflow
  from easydict import EasyDict
  from luminoth.utils.image import resize_image, flip_image, random_patch, random_resize, random_distortion, patch_image
  from luminoth.utils.test.gt_boxes import generate_gt_boxes
label_desc: Use image node_id 21 for calling the ImageTest obj's underlying member method code with example usage: obj.testSmallRandomDistort() without return types