docs: def scanimage_metadata(self):
          """Return ScanImage non-varying frame and ROI metadata as dict."""
          if not self.is_scanimage:
              return None
          result = {}
          try:
              framedata, roidata = read_scanimage_metadata(self._fh)
              result['FrameData'] = framedata
              result.update(roidata)
          except ValueError:
              pass
          # TODO: scanimage_artist_metadata
          try:
              result['Description'] = scanimage_description_metadata(
                  self.pages[0].description)
          except Exception as exc:
              log.warning('ScanImage metadata: %s: %s',
                          exc.__class__.__name__, exc)
          return result