code: def bbox(self):
          
          bbox = super(PSDImage, self).bbox
          if bbox == (0, 0, 0, 0):
              bbox = self.viewbox
          return bbox
docs: Minimal bounding box that contains all the visible layers.
  
          Use :py:attr:`~psd_tools.api.psd_image.PSDImage.viewbox` to get
          viewport bounding box. When the psd is empty, bbox is equal to the
          canvas bounding box.
  
          :return: (left, top, right, bottom) `tuple`.