def scale_channel(image):
    'Scale the 2D image using the autocontrast rule.'
    lo = tf.to_float(tf.reduce_min(image))
    hi = tf.to_float(tf.reduce_max(image))

    def scale_values(im):
        scale = (255.0 / (hi - lo))
        offset = ((- lo) * scale)
        im = ((tf.to_float(im) * scale) + offset)
        im = tf.clip_by_value(im, 0.0, 255.0)
        return tf.cast(im, tf.uint8)
    result = tf.cond((hi > lo), (lambda : scale_values(image)), (lambda : image))
    return result
Scale the 2D image using the autocontrast rule.
def scale_channel(image):
    
    lo = tf.to_float(tf.reduce_min(image))
    hi = tf.to_float(tf.reduce_max(image))

    def scale_values(im):
        scale = (255.0 / (hi - lo))
        offset = ((- lo) * scale)
        im = ((tf.to_float(im) * scale) + offset)
        im = tf.clip_by_value(im, 0.0, 255.0)
        return tf.cast(im, tf.uint8)
    result = tf.cond((hi > lo), (lambda : scale_values(image)), (lambda : image))
    return result