code: def pixmeta(metadata, f):
      
  
      chan, minx, miny, limx, limy = metadata
      rows = limy - miny
      width = limx - minx
      nchans = len(re.findall('[a-wyz]', chan))
      alpha = 'a' in chan
      # Iverson's convention for the win!
      ncolour = nchans - alpha
      greyscale = ncolour == 1
      bitdepth = bitdepthof(chan)
      maxval = 2**bitdepth - 1
      # PNG style metadata
      meta = dict(size=(width, rows), bitdepth=bitdepthof(chan),
                  greyscale=greyscale, alpha=alpha, planes=nchans)
  
      return itertools.imap(
          lambda x: itertools.chain(*x),
          block(unpack(f, rows, width, chan, maxval), width)), meta
docs: Convert (uncompressed) Plan 9 image file to pair of (*metadata*,
      *pixels*).  This is intended to be used by PyPNG format.  *metadata*
      is the metadata returned in a dictionary, *pixels* is an iterator that
      yields each row in boxed row flat pixel format.
  
      `f`, the input file, should be cued up to the start of the image data.