def get_jittering(seed_rng, scale_size, translate_size, rotation_size, img_width):
    """
    This method returns uniform random values for scaling, translation, and rotation
    in the range given by user.

    Parameters:
    -------------
        scale_size: float in [0,1]
                    the maximum ratio by which image can be scaled.
                    a value of 0.2 return a random scale in [0.8, 1.2]
        translate_size:
                    the raletive maximum number of pixel by which image can be translated.
                    a value of 0.2 return a random translate size
                    [ -0.2 * img_width, 0.2 * img_width]
        rotation_size:
                    the maximum degree by which image can be translated.


    returns:
    ---------
        scale: float
               the random scale value in range [1 - scale_size, 1 + scale_size]
        transalte: float
               the random translate pixel size in range
               [- translate_size * img_width, translate_size * img_width]
        rotate: int
                the random rotation degree in the range [-rotation_size, rotation_size]
    """
    # getting random scaling size
    scale_jitter = seed_rng.uniform(-scale_size, scale_size)
    scale = 1.0 + scale_jitter
    # getting random translation size
    translate_jitter = seed_rng.uniform(-translate_size, translate_size, size=(2))
    translate = img_width * translate_jitter
    # getting random rotation size
    rotate = seed_rng.random_integers(-rotation_size, rotation_size)
    return [scale, translate, rotate]