class_docstr: Base class for an augmentor
  
  ImageAugmentor should take images of type uint8 in range [0, 255], or
  floating point images in range [0, 1] or [0, 255].
  
  Attributes:
      rng: a numpy :class:`RandomState`
class_docstr_tok: ["Base","class","for","an","augmentor","ImageAugmentor","should","take","images","of","type","uint8","in","range","[","0",",","255","]",",","or","floating","point","images","in","range","[","0",",","1","]","or","[","0",",","255","]",".","Attributes",":","rng",":","a","numpy",":","class",":","`","RandomState","`"]
docstr: Generate uniform float random number between low and high using `self.rng`.
docstr_tok: ["Generate","uniform","float","random","number","between","low","and","high","using","`","self.rng","`","."]
code: def _rand_range(self, low=1.0, high=None, size=None):
      """
      Generate uniform float random number between low and high using `self.rng`.
      """
      if high is None:
          low, high = 0, low
      if size is None:
          size = []
      return self.rng.uniform(low, high, size).astype("float32")
  
imports: import os
  import inspect
  import pprint
  from collections import namedtuple
  import weakref
  from ...utils.argtools import log_once
  from ...utils.utils import get_rng
  from ...utils.develop import deprecated
  from ..image import check_dtype
label_desc: Use image node_id 4 for calling the ImageAugmentor obj's underlying member method code with example usage: obj._rand_range(low, high, size) and returns: self