import tensorflow as tf

        # patches = tf.gather(patches, rand_idx, axis=0)
        rows = tf.split(patches,n_col//self.size,axis=0)
        rows = [tf.concat(tf.unstack(x),axis=1) for x in rows]
        x_aug = tf.concat(rows,axis=0)

        x_aug = tf.convert_to_tensor(x_aug)
        return tf.concat([x, x_aug],axis=2)

    def mix_scramble(self,x):
        # assume square patch
