def METHOD_NAME(self):
    if len(self.tile) != 1 or self.tile[0][0] != "iptc":
        return ImageFile.ImageFile.METHOD_NAME(self)
    type, tile, box = self.tile[0]
    encoding, offset = tile
    self.fp.seek(offset)
    # Copy image data to temporary file
    o_fd, outfile = tempfile.mkstemp(text=False)
    o = os.fdopen(o_fd)
    if encoding == "raw":
        # To simplify access to the extracted file,
        # prepend a PPM header
        o.write("P5\n%d %d\n255\n" % self.size)
    while True:
        type, size = self.field()
        if type != (8, 10):
            break
        while size > 0:
            s = self.fp.read(min(size, 8192))
            if not s:
                break
            o.write(s)
            size -= len(s)
    o.close()
    try:
        with Image.open(outfile) as _im:
            _im.METHOD_NAME()
            self.im = _im.im
    finally:
        try:
            os.unlink(outfile)
        except OSError:
            pass