in 04_detect_segment/utils_box.py [0:0]
def random_orientation(image_tile, rois, tile_size):
# This function will output boxes x1, y1, x2, y2 in the standard orientation where x1 <= x2 and y1 <= y2
rnd = tf.random_uniform([], 0, 8, tf.int32)
img = image_tile
def f0(): return tf.image.rot90(img, k=0), rot90(rois, tile_size, k=0)
def f1(): return tf.image.rot90(img, k=1), rot90(rois, tile_size, k=1)
def f2(): return tf.image.rot90(img, k=2), rot90(rois, tile_size, k=2)
def f3(): return tf.image.rot90(img, k=3), rot90(rois, tile_size, k=3)
def f4(): return tf.image.rot90(tf.image.flip_left_right(img), k=0), rot90(flip_left_right(rois, tile_size), tile_size, k=0)
def f5(): return tf.image.rot90(tf.image.flip_left_right(img), k=1), rot90(flip_left_right(rois, tile_size), tile_size, k=1)
def f6(): return tf.image.rot90(tf.image.flip_left_right(img), k=2), rot90(flip_left_right(rois, tile_size), tile_size, k=2)
def f7(): return tf.image.rot90(tf.image.flip_left_right(img), k=3), rot90(flip_left_right(rois, tile_size), tile_size, k=3)
image_tile, rois = tf.case({tf.equal(rnd, 0): f0,
tf.equal(rnd, 1): f1,
tf.equal(rnd, 2): f2,
tf.equal(rnd, 3): f3,
tf.equal(rnd, 4): f4,
tf.equal(rnd, 5): f5,
tf.equal(rnd, 6): f6,
tf.equal(rnd, 7): f7})
return image_tile, standardize(rois)