def from_quad_tree(cls, quad_tree):
        """Creates a tile from a Microsoft QuadTree"""
        assert bool(re.match('^[0-3]*$', quad_tree)), 'QuadTree value can only consists of the digits 0, 1, 2 and 3.'
        zoom = len(str(quad_tree))
        offset = int(math.pow(2, zoom)) - 1
        google_x, google_y = [reduce(lambda result, bit: (result << 1) | bit, bits, 0)
                              for bits in zip(*(reversed(divmod(digit, 2))
                                                for digit in (int(c) for c in str(quad_tree))))]
        return cls(tms_x=google_x, tms_y=(offset - google_y), zoom=zoom)
Creates a tile from a Microsoft QuadTree