def METHOD_NAME(self, viewer, channel, info):
    if not self.gui_up or channel is None:
        return
    readout = self.readout
    fitsimage = channel.fitsimage
    if readout.fitsimage != fitsimage:
        self.change_readout(channel, fitsimage)
    value = info.value
    # Update the readout
    px_x = "%.3f" % info.x
    px_y = "%.3f" % info.y
    maxx = max(readout.maxx, len(str(px_x)))
    if maxx > readout.maxx:
        readout.maxx = maxx
    maxy = max(readout.maxy, len(str(px_y)))
    if maxy > readout.maxy:
        readout.maxy = maxy
    maxv = max(readout.maxv, len(str(value)))
    if maxv > readout.maxv:
        readout.maxv = maxv
    if 'ra_txt' in info:
        text = "%1.1s: %-14.14s  %1.1s: %-14.14s  X: %-*.*s  Y: %-*.*s  Value: %-*.*s" % (
            info.ra_lbl, info.ra_txt, info.dec_lbl, info.dec_txt,
            maxx, maxx, px_x, maxy, maxy, px_y, maxv, maxv, value)
    else:
        text = "%1.1s: %-14.14s  %1.1s: %-14.14s  X: %-*.*s  Y: %-*.*s  Value: %-*.*s" % (
            '', '', '', '',
            maxx, maxx, px_x, maxy, maxy, px_y, maxv, maxv, value)
    readout.set_text(text)